スキップしてコンテンツを表示

Application Load Balancer を Network Load Balancer の後ろに登録する方法を教えてください。

所要時間3分
0

Application Load Balancer 用の静的 IP アドレスが必要です。Application Load Balancer を Network Load Balancer の後ろに登録したいです。

簡単な説明

Application Load Balancer に静的 IP アドレスを割り当てることはできません。Application Load Balancer が静的 IP アドレスを必要とする場合は、Network Load Balancer の背後に登録するのがベストプラクティスです。Network Load Balancer に割り当てられる静的 IP アドレスは変更されず、Application Load Balancer の固定エントリポイントとなります。

注: 次の解決策は、Amazon Elastic Compute Cloud (Amazon EC2) コンソールの新しい起動エクスペリエンスを使用します。次の解決手順を完了するには、Amazon EC2 コンソールでこの機能を有効化してください。

解決策

Amazon EC2 コンソール

Amazon EC2 コンソールを使用して新しいターゲットグループを作成し、Application Load Balancer をターゲットとして登録します。トラフィックを Application Load Balancer に転送するために、Network Load Balancer を作成して設定します。

TCP 80 と TCP 443 トラフィックの新しいターゲットグループを作成し、Application Load Balancer をターゲットとして登録する

新しいターゲットグループを作成し、EC2 インスタンスのターゲットを登録するには、次の手順を実行します。

  1. Amazon EC2 コンソールを開きます。
  2. ナビゲーションペインで、[ロードバランシング] を展開し、[ターゲットグループ] を選択します。
  3. [ターゲットグループを作成する] を選択します。
  4. [ターゲットタイプの選択] で、[Application Load Balancer] を選択します。
  5. [ターゲットグループ名] で該当するターゲットグループの名前を入力します。
  6. [プロトコル][TCP] を選択します。[ポート] で HTTP トラフィック用に 80 を選択します。
  7. [VPC] で Application Load Balancer の仮想プライベートクラウド (VPC) を選択します。
  8. [ヘルスチェックプロトコル] で、HTTP 200 ~ 399 ステータスを返す Application Load Balancer に対し、[HTTP] または [HTTPS] を選択します。
  9. [次へ] を選択します。
  10. [Application Load Balancer] で、該当する Application Load Balancer を選択します。
  11. [ターゲットグループを作成する] を選択します。
  12. 手順 3 ~ 11 を繰り返して、追加のターゲットグループを作成します。ステップ 6 を繰り返す際、プロトコルには TCP、ポートには 443 を選択して HTTPS トラフィック用の別のターゲットグループを作成します。

HTTP トラフィックおよび HTTPS トラフィックを Application Load Balancer に転送するために、Network Load Balancer を作成して設定する

HTTP トラフィックおよび HTTPS トラフィックを Application Load Balancer に転送するために、Network Load Balancer を作成して設定するには、次の手順を実行します。

  1. Amazon EC2 コンソールを開きます。
  2. ナビゲーションペインで、[ロードバランシング] を展開し、[ロードバランサー] を選択します。
  3. [ロードバランサーの作成] を選択します。
  4. [ロードバランサータイプ] で、[Network Load Balancer][作成] の順に選択します。
  5. [ロードバランサー名] に、Network Load Balancer の名前を入力します。
  6. [スキーム] で、[インターネット向け] または [内部] のいずれかを選択します。内部 Application Load Balancer は、インターネットに接続された Network Load Balancer と一緒に使用できます。
  7. [IP アドレスタイプ] で、[IPv4] を選択します。
  8. [VPC] で、[VPC] を選択します。
  9. [マッピング] で、1 つ以上のアベイラビリティーゾーンとサブネットを選択します。内部ロードバランサーにはプライベートサブネットを、インターネット向けロードバランサーにはパブリックサブネットを選択します。
  10. [IPv4 アドレス][AWS による割り当て] または [Elastic IP アドレスの使用] を選択します。
  11. [プロトコル][TCP] を選択します。[ポート] で HTTP トラフィック用に 80 を選択します。
  12. [デフォルトアクション] で Application Load Balancer を登録済みターゲットとして含むターゲットグループを選択します。
  13. [リスナーを追加] を選択し、手順 11 ~ 12 を繰り返します。プロトコルに TCP、ポートに 443 を選択し、デフォルトアクションでは、Application Load Balancer の TCP 443 ターゲットグループにトラフィックを転送します。
  14. [ロードバランサーの作成] を選択します。
  15. ロードバランサーをテストします
    注: この設定で Application Load Balancer への HTTP から HTTPS リダイレクトを使用するには、2 つのターゲットグループを作成する必要があります。TCP 80 用と TCP 443 用の Application Load Balancer ターゲットグループを 1 つずつ作成します。
    Application Load Balancer のセキュリティグループとネットワークアクセスコントロールリスト (ネットワーク ACL) を設定して、Network Load Balancer のプライベート IP アドレスからのヘルスチェックを許可します。

AWS CLI

**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用しているようにしてください。

AWS CLI を使用して Application Load Balancer を Network Load Balancer の背後に登録するには、次の手順を実行します。

  1. 新しいターゲットグループを作成し、alb ターゲットタイプを使用します。
    aws elbv2 create-target-group \
    --name <name> \
    --protocol TCP \
    --port <port> \
    --target-type alb \
    --vpc-id <vpc_id>
    注: name をターゲットグループの名前に、port をポート番号に、vpc_id を VPC ID にそれぞれ置き換えてください。
  2. Application Load Balancer をターゲットグループに登録します。
    aws elbv2 register-targets \
    --target-group-arn <tg_arn from previous command> \
    --targets Id=<alb_arn>
    注: tg_arn from previous command をターゲットグループの ARN に、alb_arn を Application Load Balancer の ARN に置き換えます。
  3. Network Load Balancer を作成します。
    aws elbv2 create-load-balancer \
    --name <nlb name> \
    --type network \
    --scheme internal \
    --subnets <subnet_ids>
    注: nlb_name を Network Load Balancer の名前に、subnet_ids をサブネットの ID に置き換えます。
  4. リスナーを作成します。
    aws elbv2 create-listener --load-balancer-arn ${nlb1_arn} \
    --protocol TCP --port <port> \
    --default-actions Type=forward,TargetGroupArn=<target group>

関連情報

AWS Lambda を使用して Application Load Balancer で静的 IP アドレスを有効にする

Application Load Balancer の Network Load Balancer との直接統合により、AWS PrivateLink と静的 IP アドレスが使用可能になりました

コメントはありません

関連するコンテンツ