ホームページ > バックエンド開発 > PHPチュートリアル > スタンドアロン ALB で AWS Elastic Beanstalk を使用して複数の PHP アプリケーションをデプロイする

スタンドアロン ALB で AWS Elastic Beanstalk を使用して複数の PHP アプリケーションをデプロイする

Barbara Streisand
リリース: 2025-01-05 02:57:39
オリジナル
1063 人が閲覧しました

Deploying Multiple PHP Applications Using AWS Elastic Beanstalk with a Standalone ALB

このガイドでは、AWS Elastic Beanstalk (EB) 環境を使用して複数の PHP アプリケーションをデプロイし、すべての環境に対して単一のスタンドアロン Application Load Balancer (ALB) を設定します。この記事では、実際の実装に基づいて、1 つの集中 ALB の下で専用のターゲット グループを使用して複数の Elastic Beanstalk 環境を管理する方法を明確にします。

概要

複数の PHP アプリケーションを個別の EB 環境としてセットアップします。環境ごとにロード バランサーを構成する代わりに、環境ごとに専用のターゲット グループを持つ 1 つの ALB を使用します。このアプローチはコスト効率が高く、管理が簡素化され、ルーティングとスケーリングの集中制御が保証されます。

建築

主要コンポーネント:

• Elastic Beanstalk 環境: 各 PHP アプリケーションはその環境で実行されます。
• スタンドアロン ALB: 単一の ALB がすべての受信トラフィックを処理し、適切なターゲット グループにルーティングします。
• ターゲット グループ: 各 Elastic Beanstalk 環境には、ルーティングのターゲット グループがあります。

アーキテクチャワークフロー:

  1. ALB はすべてのアプリケーションのトラフィックを受信します。
  2. ALB のリスナー ルールは、ホスト ヘッダーまたはパス パターンに基づいてトラフィックを正しいターゲット グループにルーティングします。
  3. ターゲット グループは、それぞれの Elastic Beanstalk 環境の登録されたインスタンスにトラフィックを転送します。

ステップバイステップガイド

ステップ 1: Elastic Beanstalk 環境をセットアップする
PHP アプリケーション用に別の環境を作成する:

  1. Elastic Beanstalk コンソールを開きます。
  2. 「アプリケーションの作成と構成」をクリックします。 • アプリケーション名: PHP-App-1。 • プラットフォーム: PHP を選択します。 • 環境: Web サーバー環境を選択します。
  3. PHP アプリケーション (index.php、composer.json など) を含む .zip パッケージをアップロードします。
  4. アプリケーションをデプロイします。
  5. 追加のアプリケーション (PHP-App-2、PHP-App-3 など) に対してこれらの手順を繰り返します。

ステップ 2: スタンドアロン ALB を作成する

ALB を作成します:

  1. EC2 コンソールに移動 >ロードバランサー。
  2. [ロード バランサーの作成] をクリックし、[Application Load Balancer] を選択します。
  3. 設定: • 名前: スタンドアロン-alb。 • スキーム: インターネット接続。 • リスナー: HTTPS リスナー (ポート 443) を追加します。 • アベイラビリティーゾーン: Elastic Beanstalk 環境と同じゾーンを選択します。
  4. 「作成」をクリックします。

Elastic Beanstalk に ALB を登録します:

  1. 各 Elastic Beanstalk 環境に移動します。
  2. [構成] で、新しく作成した ALB に環境をリンクします。
  3. ヘルスチェックが ALB 設定と一致していることを確認します。

ステップ 3: 各環境のターゲット グループを構成する

ターゲットグループの作成:

  1. EC2 コンソールに移動 >対象グループ。
  2. 各 Elastic Beanstalk 環境の [ターゲット グループの作成] をクリックします。 • 名前: 例: php-app-1-tg。 • ターゲットの種類: インスタンス。 • プロトコル: HTTP。 • ポート: 80。 • ヘルスチェックパス: / (またはアプリケーションで定義されたカスタムエンドポイント)。
  3. それぞれの Elastic Beanstalk 環境のインスタンスをターゲット グループに追加します。
  4. 各ターゲット グループの [ターゲット] タブに移動し、登録されたインスタンスが正常であることを確認します。

ステップ 4: リスナー ルールを ALB に追加する

  1. ALB コンソールに移動 >リスナー> HTTP:80 >ルールを編集します。
  2. 各ターゲット グループにルールを追加します。 • 条件: ホストヘッダーを使用して Elastic Beanstalk 環境ドメイン (例: php-app-1.elasticbeanstalk.com) と一致させます。 • アクション: トラフィックを対応するターゲット グループ (php-app-1-tg など) に転送します。
  3. すべての環境に対してこのプロセスを繰り返します。

セットアップのテスト
• トラフィックをシミュレートして、ALB がリスナー ルールに基づいてリクエストを適切なターゲット グループに正しく転送することを確認します。
• 各ターゲット グループの健全性をチェックして、すべてのインスタンスが健全で、期待どおりにトラフィックを受信して​​いることを確認します。
•curl や Postman などのツールを使用して、リクエストを ALB DNS エンドポイントに直接送信します。トラフィックが正しい Elastic Beanstalk 環境にルーティングされ、予期した応答が返されていることを確認します。

主な利点:

1.コスト効率: すべての環境に 1 つの ALB を使用することで、インフラストラクチャ コストを削減します。
2.簡素化された管理: トラフィック ルーティングとリスナー ルールの構成を 1 か所に集中させます。
3.スケーラビリティ: 各環境のターゲット グループの独立したスケーリングをサポートします。
4.拡張トラフィック制御: ALB リスナー ルールによる詳細なルーティングを提供します。
5.一元的なヘルスモニタリング: すべての環境のヘルスチェックを統合します。

結論

複数の Elastic Beanstalk 環境のターゲット グループで単一の ALB を使用することにより、PHP アプリケーションをホストするためのコスト効率が高く、スケーラブルで一元化されたソリューションが実現します。

以上がスタンドアロン ALB で AWS Elastic Beanstalk を使用して複数の PHP アプリケーションをデプロイするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート