ロードバランサーの追加 - AWS OpsWorks

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ロードバランサーの追加

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは OpsWorks コンソール、 API、 CLI、および CloudFormation リソースを通常どおり使用できますが、その時点でこれらのリソースは廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、AWS OpsWorks Stacks サポート終了に関する FAQ および AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行 を参照してください。

Elastic Load Balancing は、受信したアプリケーショントラフィックを複数の Amazon EC2 インスタンスに自動的に分散する AWS のサービスです。ロードバランサーで 2 つの目的を達成できます。明らかな目的は、アプリケーションサーバーで負荷を均等化することです。多くのサイトでは、ユーザーがアプリケーションサーバーおよびデータベースに直接アクセスできないようにすることが求められます。Elastic Load Balancing は、トラフィックの分散の他に、以下も行実行します。

  • 健全でない Amazon EC2 インスタンスを検出します。

    問題のあるインスタンスが復旧するまで、トラフィックのルートを残りの正常なインスタンスに変更します。

  • 受信トラフィックに応じて、自動的にそのリクエスト処理能力を拡張します。

注記

AWS OpsWorks スタックでは、Application Load Balancer はサポートされていません。Classic Load Balancer は、AWS OpsWorks スタックでのみ使用できます

Elastic Load Balancing はよくレイヤーと呼ばれますが、他のビルトインレイヤーとは動作が多少異なります。レイヤーを作成してインスタンスを追加する代わりに、Amazon EC2 コンソールを使用して Elastic Load Balancing ロードバランサーを作成し、既存のレイヤーの 1 つ (通常はアプリケーションサーバーレイヤー) にアタッチします。AWS OpsWorksスタックは次に、レイヤーの既存のインスタンスをサービスに登録し、すべての新しいインスタンスを自動的に追加します。次の手順では、ロードバランサーを追加する方法について説明します。

ロードバランサーをカスタム IISレイヤーにアタッチするには
  1. Amazon EC2 コンソールを使用して、IISExample の新しいロードバランサーを作成します。詳細については、「Elastic Load Balancing の開始方法」を参照してください。[Create Load Balancer] ウィザードを実行するときに、ロードバランサーを次のように設定します。

    1: ロードバランサーの定義

    AWS OpsWorks スタックコンソールでロードバランサーを簡単に見つけることができるように、IIS-LB など容易に認識できる名前をロードバランサーに割り当てます。残りの設定のデフォルト値を受け入れ、[Next: Assign Security Groups] を選択します。

    2: セキュリティグループの割り当て

    アカウントでデフォルト VPC がサポートされている場合は、このページがウィザードに表示され、ロードバランサーのセキュリティグループを決定できます。EC2 Classic の場合、このページは表示されません。

    このウォークスルーでは、[default VPC security group] を指定し、[Next: Configure Security Settings] を選択します。

    3: セキュリティ設定の構成

    このウォークスルーでは、ロードバランサーでセキュアリスナー (フロントエンド接続の HTTPS または SSL) を使用する必要があるため、続行するには [Next: Configure Health Check] を選択します。

    4: ヘルスチェックの設定

    ping のパスを / に設定します。残りの設定のデフォルト値を受け入れ、[Next: Add EC2 Instances] を選択します。

    5: EC2 インスタンスの追加

    AWS OpsWorks スタックにより自動的にインスタンスがロードバランサーに登録されます。[Next Add Tags] を選択して続行します。

    6: タグの追加

    この例ではタグを使用しません。[Review and Create] を選択します。

    7: 確認

    選択を確認して [Create] を選択し、[Close] を選択すると、ロードバランサーが起動します。

  2. アカウントでデフォルト VPC がサポートされている場合は、ロードバランサーを起動した後で、セキュリティグループに適切なインバウンドルールがあることを確認する必要があります。デフォルトルールでは、着信トラフィックは受け入れられません。

    1. Amazon EC2 のナビゲーションペインで、[Security Groups] (セキュリティグループ)を選択します。

    2. [default VPC security group] を選択します。

    3. [インバウンド] タブで、[編集] を選択します。

    4. このウォークスルーでは、[Source][Anywhere] に設定します。これにより、ロードバランサーでは任意の IP アドレスからの着信トラフィックを受け入れます。

    5. [Save](保存)をクリックします。

  3. AWS OpsWorks スタックコンソールに戻ります。[Layers] (レイヤー) ページで、[Network] (ネットワーク) を選択します。

  4. [Elastic Load Balancing] で、ステップ 1 で作成した IIS-LB ロードバランサーを選択し、[Save] をクリックします。

    ロードバランサーをレイヤーにアタッチすると、AWS OpsWorks スタックによってそのレイヤーの現在のインスタンスが自動的に登録されます。新しいインスタンスはオンラインになった時点で追加されます。

  5. [Layers] (レイヤー) ページで、ロードバランサーの名前をクリックして詳細ページを開きます。ロードバランサーページのインスタンスの横のチェックマークは、インスタンスがヘルスチェックに合格したことを示します。

これで、ロードバランサーにリクエストを送信することによって IIS-Example-App を実行できます。

ロードバランサーを通じて IIS-Example-App を実行するには
  1. [Layers] (レイヤー) を選択します。IIS-ELB ロードバランサーがレイヤーとして一覧表示され、[Health] 列には正常なインスタンスを示す緑色のインスタンスが 1 つ表示されます。

  2. ロードバランサーの DNS 名を選択して IIS-Example-App を実行します。これは、ロードバランサーの名前の下に一覧表示され、IIS-LB-1802910859.us-west-2.elb.amazonaws.com のように表示されます。ロードバランサーがインスタンスにリクエストを転送すると、レスポンスが返されます。これは、インスタンスのパブリック IP アドレスをクリックした場合と同じレスポンスになります。

この時点ではインスタンスが 1 個しかないため、ロードバランサーがあっても実際にはそれほど変わりません。ただし、レイヤーにインスタンスを追加できます。

インスタンスをレイヤーに追加するには
  1. [Instances] を選択し、[+ instance] を選択して別のインスタンスをレイヤーに追加します。

  2. インスタンスを起動します。

新しいインスタンスの場合、AWS OpsWorks スタックにより自動的に現在のカスタムクックブックがインストールされ、セットアップ時に現在のアプリケーションバージョンがデプロイされます。インスタンスがオンラインになると、AWS OpsWorks スタックにより自動的にロードバランサーに追加されるため、インスタンスはすぐにリクエストを処理し始めます。アプリケーションがまだ動作していることを確認するには、ロードバランサーの DNS 名を再度選択できます。