Elastic Beanstalk を使用して既存のロードバランサーを再利用することはできますか?
3 に答える
私が管理できる限り、これを機能させる唯一の方法は次のとおりです。
環境を単一のインスタンスとして作成し、負荷分散を行いません。いずれにせよ、EB が Auto Scaling グループを作成することがわかります。
EB 環境のターゲット グループを手動で作成します (ターゲット グループの下の EC2 コンソール内)。
作成したばかりのターゲット グループを Auto Scale グループに割り当てます (EC2 コンソールの Target Groups で、Auto Scale グループをクリックして詳細を編集します)。
ターゲット グループのリスナーを目的の ALB に追加します。
終わり
Auto Scale グループは EB コンソールで無効のままであるため、スケーリングの管理は Auto Scale グループで直接行う必要があります。
構成の変更とアプリケーションの更新が機能し、すべてのインスタンスにプッシュされます。
OS のアップグレードはテストしていませんが、Auto Scaling グループが再構築されない可能性が高いため、問題なく動作すると思います。
環境の再構築は機能しますが、Auto Scale グループが再構築されると、ターゲット グループとその自動スケーリング構成を手動でリセットする必要があります。
更新: 1 年以上、問題なくこのセットアップで複数のクライアントを実行しています。
AWS は、Elastic Beanstalk 環境間での Application Load Balancer の共有をサポートするようになりました。
ただし、これは環境作成時にのみ実行できます。共有ロード バランサーを使用する手順は次のとおりです。
Elastic Beanstalk コンソールを開き、[リージョン]リストで AWS リージョンを選択します。
ナビゲーションペインで、[環境] を選択します。
[ Create a new environment ] を選択して、環境の作成を開始します。
ウィザードのメイン ページで、[ Create environment ]を選択する前に、[ Configure more options]を選択します。
高可用性構成プリセットを選択します。
または、容量構成カテゴリで、負荷分散環境タイプを構成します。詳細については、容量を参照してください。
[ロードバランサーの設定] カテゴリで、 [編集]を選択します。
[ Application Load Balancer ] オプションがまだ選択されていない場合は選択し、[共有] オプションを選択します。
環境に必要な共有 Application Load Balancer 構成の変更を行います。
[保存] を選択し、環境に必要なその他の構成変更を行います。
[環境の作成] を選択します。
上記の手順を実行した後、Elastic Beanstalk は共有ロード バランサー内にルールを作成します。
Host
ルールは、ヘッダーに基づいてリクエストを転送します。
最終的に、共有ロード バランサーは次のようになります。
共有 ALB を使用するように現在の EB 環境を変更する場合は、次の手順をお勧めします。
eb config get <saved_configuration_name>
環境の現在の構成をダウンロードするために使用します。ローカル コンピューターの構成を変更します。
実行
eb config put <modified_configuration_name>
して設定ファイルを Elastic Beanstalk にアップロードします。変更した保存済み構成を使用して新しい環境を起動し、古い環境を置き換えます。
私はそれが可能だとは思わない。Elastic Beanstalk は、ASG、セキュリティ グループ、LB などの一連のリソースで動作します。それらを他のコンポーネントと共有すると、コンポーネントに不要な変更が加えられ、システムが停止する可能性があります。ただし、私の意見では、EB ロード バランサーが作成されたらマシンを追加できるはずですが、アプリケーションを終了/再作成するときに問題が発生します。