デュアルスタックの Elastic Beanstalk ロードバランサーの設定 - AWS Elastic Beanstalk

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

デュアルスタックの Elastic Beanstalk ロードバランサーの設定

Elastic Beanstalk 環境を有効にして、デュアルスタック設定ロードバランサーで IPv4 プロトコルと IPv6 プロトコルの両方を提供できます。負荷分散された環境を作成すると、インフラストラクチャはデフォルトで IPv4 になります。デュアルスタック設定で新しい環境を作成するか、既存の IPv4-only環境をデュアルスタックに更新するかを選択できます。

環境のロードバランサーが IPv6 と IPv4 の両方のネットワークトラフィックを処理できるようにするには、aws:elbv2:loadbalancer名前空間の IpAddressTypeオプションをデュアルスタックに設定します。

注記

Elastic Beanstalk は、Application Load Balancer と Network Load Balancer のデュアルスタックプロトコルのみをサポートします。Classic Load Balancer または単一インスタンス環境を使用する環境では、デュアルスタックをサポートしていません。

Amazon VPC の前提条件

Elastic Beanstalk 環境でロードバランサーを設定する前に、まず Amazon VPC でいくつかの設定ステップを完了する必要があります。

  1. IPv6 CIDR ブロックを環境の VPC に関連付けます。

  2. IPv6 CIDR ブロックを VPC のすべてのサブネットに関連付けます。

  3. (オプション) 環境がネットワークトラフィックを VPC 外のコンポーネントと交換する場合、VPC が通信できるネットワークを指定するルートテーブルがあります。この場合、VPC ルートテーブルを更新して IPv6 トラフィックを有効にする必要があります。

これらの前提条件設定は、Amazon VPC コンソールまたは AWS CLI コマンドを使用して完了できます。以下のトピックでは、Amazon VPC ユーザーガイドと詳細については AWS CLI コマンドリファレンスについて説明します。

注記

VPC 設定が完了したら、変更が反映されるまで数分待ってから、ロードバランサーのデュアルスタックを設定します。デュアルスタック設定中に VPC またはサブネット設定エラーが発生した場合は、VPC 設定が伝播されるまで数分待ってから、デュアルスタック設定を再試行してください。

コンソールを使用して VPC の前提条件を満たす

Amazon VPC ユーザーガイドには、これらの前提条件となるタスクを完了するための詳細な手順が記載されています。

  1. 「Amazon VPC ユーザーガイド」の「ステップ 1: IPv6 CIDR ブロックを VPC とサブネットに関連付ける」を参照してください。

    このステップでは、次の 2 つの手順を完了する必要があります。

    • IPv6 CIDR ブロックと VPC の関連付け

    • IPv6 CIDR ブロックを VPC サブネットに関連付けます。

  2. (オプション) 環境がネットワークトラフィックを VPC 外のコンポーネントと交換する場合、VPC が通信できるネットワークを指定するルートテーブルがあります。この場合、VPC ルートテーブルを更新して IPv6 トラフィックを有効にする必要があります。この設定を完了するには、「Amazon VPC ユーザーガイド」の「ステップ 2: ルートテーブルを更新する」を参照してください。

を使用して VPC の前提条件を満たす AWS CLI

を使用して AWS CLI 、前提条件の設定を完了して検証できます。

  1. IPv6 CIDR ブロックを環境の VPC に関連付けます。

    1. associate-vpc-cidr-block コマンドを使用して、CIDR ブロックを VPC に関連付けます。

    2. describe-vpcs コマンドを使用して、VPC 設定を確認します。

    例 commands
    # Associate an Amazon-provided IPv6 CIDR block with your VPC aws ec2 associate-vpc-cidr-block \ --vpc-id vpc-12345678 \ --region us-east-1 \ --amazon-provided-ipv6-cidr-block # Verify the IPv6 CIDR block association aws ec2 describe-vpcs \ --vpc-ids vpc-12345678 \ --region us-east-1 \ --query 'Vpcs[0].Ipv6CidrBlockAssociationSet'
  2. IPv6 CIDR ブロックを VPC のすべてのサブネットに関連付けます。

    1. associate-subnet-cidr-block コマンドを使用して、CIDR ブロックをサブネットに関連付けます。

    2. describe-subnets コマンドを使用して、サブネット設定を確認します。

    例 commands
    # List all subnets in your VPC aws ec2 describe-subnets \ --region us-east-1 \ --filters "Name=vpc-id,Values=vpc-12345678" \ --query 'Subnets[].{SubnetId:SubnetId,AvailabilityZone:AvailabilityZone}' # Associate IPv6 CIDR block with each subnet aws ec2 associate-subnet-cidr-block \ --subnet-id subnet-12345678 \ --region us-east-1 \ --ipv6-cidr-block 2001:db8::/64 # Verify IPv6 CIDR block association for all subnets aws ec2 describe-subnets \ --region us-east-1 \ --filters "Name=vpc-id,Values=vpc-12345678" \ --query 'Subnets[].{SubnetId:SubnetId,Ipv6CidrBlock:Ipv6CidrBlockAssociationSet[0].Ipv6CidrBlock}'
  3. (オプション) 環境がネットワークトラフィックを VPC 外のコンポーネントと交換する場合、VPC が通信できるネットワークを指定するルートテーブルがあります。この場合、VPC ルートテーブルを更新して IPv6 トラフィックを有効にする必要があります。

    1. create-route コマンドを使用して、VPC 内のルートテーブルにルートを追加します。

    2. describedescribe-route-tables コマンドを使用して、ルートテーブルを検証します。

    例 commands
    # Add IPv6 route to Internet Gateway for public subnets aws ec2 create-route \ --route-table-id rtb-12345678 \ --destination-ipv6-cidr-block ::/0 \ --gateway-id igw-12345678 \ --region us-east-1 # Add IPv6 route to NAT Gateway for private subnets (if applicable) aws ec2 create-route \ --route-table-id rtb-87654321 \ --destination-ipv6-cidr-block ::/0 \ --nat-gateway-id nat-12345678 \ --region us-east-1 # Verify routes aws ec2 describe-route-tables \ --route-table-ids rtb-12345678 \ --region us-east-1 \ --query 'RouteTables[0].Routes'

Elastic Beanstalk ロードバランサーのデュアルスタックの設定

環境に VPC の前提条件を設定したら、デュアルスタックオプションを使用してロードバランサーを設定し、IPv4 プロトコルと IPv6 プロトコルの両方を提供できます。Elastic Beanstalk コンソール、 AWS CLI、 の設定ファイル.ebextensions、および AWS SDK を使用して、デュアルスタックトラフィックを処理するようにロードバランサーを設定できます。

コンソールを使用する

Elastic Beanstalk コンソールを使用して、環境のロードバランサーのデュアルスタックを設定できます。

注記

この設定は、いくつかのポイントでのデータ伝播のタイミングによって異なります。ロードバランサーを設定し、変更をテストするときは、次のタイミング要件を考慮してください。

VPC 設定時間。で説明されている VPC 設定が完了したらAmazon VPC の前提条件、変更が反映されるまで数分待ってから、以下の手順に従います。デュアルスタックのセットアップ中に VPC またはサブネットの設定エラーが発生した場合は、数分待ってから設定ステップを再試行してください。

DNS 伝達時間。IpAddressType オプションをデュアルスタックに設定したら、変更が反映されるまで数分待ってからテストします。Route 53 DNS の伝播が完了するまでに 1~2 分かかる場合があります。この間、IPv6 プロトコルを使用してリクエストを開始する場合、クライアントからアプリケーションへの通信をテストする際に問題が発生する可能性があります。

新しい環境の作成: デュアルスタックのサポート用にロードバランサーを設定するには
  1. Elastic Beanstalk コンソールを起動し、新しい環境を作成する手順を開始します。サービスアクセスの設定ページでサービスロールEC2 インスタンスプロファイルの必須フィールドを設定したら、この手順のステップに進み、ロードバランサーをデュアルスタック設定に設定します。開始方法の詳細については、「」を参照してくださいElastic Beanstalk 環境の作成

  2. 「サービスアクセスの設定」から「次へ」を選択します。

  3. ネットワーク、データベース、タグの設定ページが表示されます。

    前のセクションでAmazon VPC の前提条件説明した を完了した場合、必要な VPC とサブネットを既にセットアップしています。この場合、このステップとそのサブステップをスキップして、VPC を選択します。

    1. VPC とサブネットを設定するには、VPC の作成を選択して VPC コンソールに移動します。「コンソールを使用して VPC の前提条件を満たす」のステップを実行してください。

    2. VPC 更新が伝播されるまで数分待ってから、Elastic Beanstalk コンソールに戻り、更新を選択して次のステップに進みます。

      残りのステップで VPC またはサブネット設定エラーが発生した場合は、VPC 設定が伝播されるまで数分待ってから、ステップを再試行してください。

  4. ネットワーク、データベース、タグの設定ページで、IPv6 CIDR ブロックが関連付けられている VPC ドロップダウンから値を選択します。

    VPC を選択すると、インスタンスサブネットに VPC サブネットが入力されます。

  5. 1 つ以上のインスタンスサブネットを選択し、次を選択します。

  6. インスタンストラフィックとスケーリングの設定ページが表示されます。

    ロードバランサーのネットワーク設定で、デュアルスタックを有効にする (IPv4 と IPv6) を選択します。 IPv4 IPv6

  7. ロードバランサーのタイプを選択します。Application Load BalancerNetwork Load Balancer はどちらもデュアルスタックをサポートしています。

  8. 他のロードバランサーオプションは、現在のコンソールページで引き続き設定できます。ロードバランサーのオプションと設定の詳細については、この章の他のトピックを参照してください。

  9. 環境の設定と作成を完了する手順に進みます。詳細については、「Elastic Beanstalk 環境の作成」を参照してください。

既存の環境: デュアルスタックサポート用にロードバランサーを設定するには
  1. Elastic Beanstalk コンソールを開き、リージョンリストで を選択します AWS リージョン。

  2. ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。

  3. ナビゲーションペインで、[設定] を選択します。

  4. ネットワークとデータベースの設定カテゴリで、編集 を選択します。

  5. 前のセクションでAmazon VPC の前提条件説明した を完了した場合、必要な VPC とサブネットを既にセットアップしています。この場合、このステップとそのサブステップをスキップして、VPC を選択します。

    1. VPC とサブネットを設定するには、VPC の作成を選択して VPC コンソールに移動します。「コンソールを使用して VPC の前提条件を満たす」のステップを実行してください。

    2. VPC 更新が伝播されるまで数分待ってから、Elastic Beanstalk コンソールに戻り、更新を選択して次のステップに進みます。

      残りのステップで VPC またはサブネット設定エラーが発生した場合は、VPC 設定が伝播されるまで数分待ってから、ステップを再試行してください。

  6. ネットワークとデータベースページで、IPv6 CIDR ブロックが関連付けられている VPC ドロップダウンから値を選択します。

    VPC を選択すると、インスタンスサブネットに VPC サブネットが入力されます。

  7. 1 つ以上のインスタンスサブネットを選択します。

  8. ページの最下部で [適用] を選択し変更を保存します。

  9. [Instance traffic and scaling] (インスタンスのトラフィックおよびスケーリング) 設定カテゴリで、[Edit] (編集) を選択します。

  10. ロードバランサーのネットワーク設定で、デュアルスタックを有効にする (IPv4 と IPv6) を選択します。 IPv4 IPv6

  11. ページの最下部で [適用] を選択し変更を保存します。

の使用 AWS CLI

AWS コマンドラインインターフェイス (AWS CLI) を使用して、IPv6 と IPv4 の両方のネットワークトラフィックを処理するように環境のロードバランサーを設定できます。このセクションでは、 aws:elbv2:loadbalancer名前空間を使用した create-environment コマンドと update-environment コマンドの例を示します。

注記

この設定は、いくつかのポイントでのデータ伝播のタイミングによって異なります。ロードバランサーを設定し、変更をテストするときは、次のタイミング要件を考慮してください。

VPC 設定時間。で説明されている VPC 設定が完了したらAmazon VPC の前提条件、変更が反映されるまで数分待ってから、これらのコマンドを実行してロードバランサーをデュアルスタックに設定します。デュアルスタックのセットアップ中に VPC またはサブネットの設定エラーが発生した場合は、数分待ってからコマンドを再試行してください。

DNS 伝達時間。IpAddressType オプションをデュアルスタックに設定したら、変更が反映されるまで数分待ってからテストします。Route 53 DNS の伝播が完了するまでに 1~2 分かかる場合があります。この間、IPv6 プロトコルを使用してリクエストを開始する場合、クライアントからアプリケーションへの通信をテストする際に問題が発生する可能性があります。

例 デュアルスタック設定を使用した create-environment の (名前空間オプションをインラインで)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:elbv2:loadbalancer,OptionName=IpAddressType,Value=dualstack

別の方法として、options.jsonファイルを使用して、インラインで名前空間オプションを含めるのではなく、名前空間オプションを指定します。次のコマンド例は、update-environment コマンドを示しています。

例 デュアルスタック設定 ( options.json ファイルの名前空間オプション) を使用した update-environment の
aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ file://options.json
### example options.json ### [ { "Namespace": "aws:elbv2:loadbalancer", "OptionName": "IpAddressType", "Value": "dualstack" } ]

次の の例では、既存の環境を更新して、 IpAddressTypeオプションを IPv4 に設定します。

注記

このupdate-environmentコマンド例は、環境設定をデュアルスタックから IPv4 にロールバックする必要がある場合に便利です。

例 IpAddressType を IPv4 に設定するための update-environment の
aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.0 running Python 3.8" \ --option-settings \ Namespace=aws:elbv2:loadbalancer,OptionName=IpAddressType,Value=ipv4

.ebextensions 設定ファイルの使用

Elastic Beanstalk 設定ファイルを使用して、環境のロードバランサーが IPv6 と IPv4 の両方のネットワークトラフィックを処理できるようにします。aws:elbv2:loadbalancer 名前空間の IpAddressTypeオプションをデュアルスタックに設定します。

注記

この設定は、いくつかのポイントでのデータ伝播のタイミングによって異なります。ロードバランサーを設定し、変更をテストするときは、次のタイミング要件を考慮してください。

VPC 設定時間。で説明されている VPC 設定が完了したらAmazon VPC の前提条件.ebextensions設定を適用する前に VPC の変更が反映されるまで数分かかります。この設定中に VPC またはサブネットの設定エラーが発生した場合は、数分待ってから再試行してください。

DNS 伝達時間。IpAddressType オプションをデュアルスタックに設定したら、変更が反映されるまで数分待ってからテストします。Route 53 DNS の伝播が完了するまでに 1~2 分かかる場合があります。この間、IPv6 プロトコルを使用してリクエストを開始する場合、クライアントからアプリケーションへの通信をテストする際に問題が発生する可能性があります。

例 ロードバランサーデュアルスタック設定の .ebextensions/options.config (短縮構文
option_settings: aws:elbv2:loadbalancer: IpAddressType: dualstack
例 ロードバランサーデュアルスタック設定の .ebextensions/options.config (標準構文
option_settings: - namespace: aws:elbv2:loadbalancer option_name: IpAddressType value: dualstack

AWS SDK の使用

AWS SDKs を使用してデュアルスタックを設定できます。前のセクションで説明した update-environmentおよび create-environment AWS CLI コマンドと同様に、CreateEnvironment および UpdateEnvironment API アクションを使用できます。OptionSettings リクエストパラメータを使用して、aws:elbv2:loadbalancer名前空間のオプションを指定します。

注記

この設定は、いくつかのポイントでのデータ伝播のタイミングによって異なります。ロードバランサーを設定し、変更をテストするときは、次のタイミング要件を考慮してください。

VPC 設定時間。で説明されている VPC 設定が完了したらAmazon VPC の前提条件、変更が反映されるまで数分待ってから、プログラムを実行してロードバランサーをデュアルスタック用に設定します。デュアルスタック設定中に VPC またはサブネット設定エラーが発生した場合は、数分待ってから、デュアルスタック設定のプログラムを再度実行してみてください。

DNS 伝達時間。IpAddressType オプションをデュアルスタックに設定したら、変更が反映されるまで数分待ってからテストします。Route 53 DNS の伝播が完了するまでに 1~2 分かかる場合があります。この間、IPv6 プロトコルを使用してリクエストを開始する場合、クライアントからアプリケーションへの通信をテストする際に問題が発生する可能性があります。

トラブルシューティング

AI アシストによるトラブルシューティングのために Amazon Q Developer CLI を試す

Amazon Q Developer CLI は、環境の問題を迅速にトラブルシューティングするのに役立ちます。Q CLI は、環境ステータスの確認、イベントの確認、ログの分析、明確な質問を行うことでソリューションを提供します。詳細と詳細なチュートリアルについては、 AWS ブログの「Amazon Q Developer CLI を使用した Elastic Beanstalk 環境のトラブルシューティング」を参照してください。

このセクションでは、ロードバランサーのデュアルスタック設定に関する問題をトラブルシューティングするためのガイダンスを提供します。

イベント: VPC vpc_id には IPv6 CIDR ブロックが設定されていません。デュアルスタックロードバランサーには IPv6 CIDR ブロックが必要です。デュアルスタックモードを使用する前に、IPv6 CIDR ブロックを VPC に関連付けてください。

VPC とすべてのサブネットにはIPv6 CIDR ブロックが関連付けられている必要があります。これは、デュアルスタックのサポート用にロードバランサーを設定する前に完了する必要がある VPC 前提条件の 1 つです。このタスクを完了する方法の詳細については、このトピックの前Amazon VPC の前提条件半の「」を参照してください。

イベント: VPC vpc_id の 1 つ以上のサブネットに IPv6 CIDR ブロックが設定されていません。デュアルスタックロードバランサーで使用されるサブネットには、IPv6 CIDR ブロックが必要です。デュアルスタックモードを使用する前に、IPv6 CIDR ブロックを必要なすべてのサブネットに関連付けてください。

VPC のすべてのサブネットには、IPv6 CIDR ブロックが関連付けられている必要があります。これは、デュアルスタックのサポート用にロードバランサーを設定する前に完了する必要がある VPC 前提条件の 1 つです。このタスクを完了する方法の詳細については、このトピックの前Amazon VPC の前提条件半の「」を参照してください。

エラー: IpAddressTypeオプションは、Application Load Balancer または Network Load Balancer で設定された Elastic Beanstalk 環境にのみ適用されます。

このメッセージは、Elastic Beanstalk 環境が単一のインスタンス環境であるか、Classic Load Balancer を使用している可能性があります。Application Load Balancer または Network Load Balancer で設定された環境のみが を設定できますIpAddressType