ELB ロードバランサーをアタッチする準備をする - Amazon EC2 Auto Scaling

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

ELB ロードバランサーをアタッチする準備をする

ELB ロードバランサーを Auto Scaling グループにアタッチする前に、次の前提条件を満たす必要があります。

  • Auto Scaling グループにトラフィックをルーティングするために使用されるロードバランサーおよびターゲットグループをすでに作成している必要があります。

    ロードバランサーおよびターゲットグループを作成するには、次の 2 つの方法があります。

    • ELB の使用 – Auto Scaling グループを作成する前に、ELB ドキュメントの手順に従ってロードバランサーとターゲットグループを作成および設定します。Amazon EC2 インスタンスを登録するステップは省略します。ターゲットグループを Auto Scaling グループにアタッチすると、Amazon EC2 Auto Scaling では自動的にインスタンスの登録 (および登録解除) が処理されます。詳細については、Elastic Load Balancing ユーザーガイド」の「ELB の開始方法」を参照してください。

    • Amazon EC2 Auto Scaling の使用 — Amazon EC2 Auto Scaling コンソールの基本設定を使用して、ロードバランサーおよびターゲットグループを作成、設定、アタッチします。詳細については、「コンソールから Application Load Balancer または Network Load Balancer を設定する」を参照してください。

  • ロードバランサーを作成する前に、必要なロードバランサーのタイプを確認してください。詳細については、「ELB タイプ」を参照してください。

  • ロードバランサーとそのターゲットグループは AWS アカウント、Auto Scaling グループと同じ、VPC、リージョンに存在する必要があります。

  • ターゲットグループは、instance のターゲットタイプを指定する必要があります。Auto Scaling グループを使用する場合、ip のターゲットタイプを指定することはできません。

  • Auto Scaling グループの起動テンプレートに、ロードバランサーからの必要なインバウンドトラフィックを許可する正しいセキュリティグループが含まれていない場合、起動テンプレートを更新する必要があります。推奨されるルールは、ロードバランサーのタイプと、ロードバランサーが使用するバックエンドのタイプによって異なります。例えば、トラフィックをウェブ サーバーに送信するには、ロードバランサーからポート 80 でインバウンド HTTP アクセスを許可します。起動テンプレートが変更されても、既存のインスタンスは新しい設定に更新されません。既存のインスタンスを更新するには、インスタンスの更新を開始してインスタンスを置き換えることができます。詳細については、「インスタンスの更新を使用して Auto Scaling グループのインスタンスを更新する」を参照してください。

  • 起動テンプレートのセキュリティグループは、ELB がヘルスチェックを実行するために、正しいポートのロードバランサーからのアクセスも許可する必要があります。

  • Gateway Load Balancer の背後に仮想アプライアンスをデプロイする場合、起動テンプレートの Amazon マシンイメージ (AMI) で GENEVE プロトコルをサポートする AMI の ID を指定して、Auto Scaling グループが Gateway Load Balancer とトラフィックを交換できるようにする必要があります。また、起動テンプレートのセキュリティグループでは、ポート 6081 で UDP トラフィックが許可される必要があります。

ヒント

完了に時間がかかるブートストラップスクリプトがある場合、必要に応じて起動ライフサイクルフックを Auto Scaling グループに追加して、ブートストラップスクリプトが正常に完了し、インスタンス上のアプリケーションでトラフィックを受け入れる準備ができるまで、ロードバランサーの背後でのインスタンス登録を遅延させることができます。Amazon EC2 Auto Scaling コンソールで Auto Scaling グループを初めて作成するときにライフサイクルフックを追加することはできません。ただし、ライフサイクルフックはグループを作成した後に追加できます。詳細については、「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

ターゲットのヘルスチェックを設定する

ELB ロードバランサーに登録されたターゲットのヘルスチェックを設定して、ターゲットがトラフィックを適切に処理できることを確認できます。具体的な手順は、使用しているロードバランサーのタイプによって異なります。詳細については、以下のリソースを参照してください。

デフォルトでは、Amazon EC2 Auto Scaling はインスタンスを異常と見なさず、ELB ヘルスチェックに合格しなかった場合は置き換えます。Auto Scaling グループのデフォルトのヘルスチェックは EC2 ヘルスチェックのみです。詳細については、「Auto Scaling グループでのインスタンスのヘルスチェック」を参照してください。

Amazon EC2 Auto Scaling が ELB によって異常と報告されたインスタンスを置き換えられるようにするには、ELB ヘルスチェックを使用するように Auto Scaling グループを設定できます。これにより、Amazon EC2 Auto Scaling は、EC2 ヘルスチェックまたは ELB ヘルスチェックのいずれかに失敗したインスタンスを異常と見なします。複数のロードバランサー ターゲットグループまたは Classic Load Balancer をグループにアタッチする場合、インスタンスが正常と見なされるためには、すべてのロードバランサーが、インスタンスは正常であるとして報告する必要があります。ロードバランサーの 1 つがインスタンスを異常として報告した場合は、他のロードバランサーがこれを正常として報告した場合でも、Auto Scaling グループ はそのインスタンスを置き換えます。

Auto Scaling グループに対してこれらのヘルスチェックを有効にする方法の詳細については、「Auto Scaling グループに ELB ロードバランサーをアタッチする」を参照してください。

注記

これらのヘルスチェックをできるだけ早く開始するには、グループのヘルスチェックの猶予期間が高すぎず、ELB ヘルスチェックでターゲットがリクエストを処理できるかどうかを判断できる十分な大きさに設定されていることを確認します。詳細については、「Auto Scaling グループにヘルスチェックの猶予期間を設定する」を参照してください。