を使用した Gateway Load Balancer の開始方法 AWS CLI - Elastic Load Balancing

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

を使用した Gateway Load Balancer の開始方法 AWS CLI

Gateway Load Balancer を使用すると、セキュリティアプライアンスなどのサードパーティー仮想アプライアンスを簡単にデプロイ、スケーリング、管理できます。

このチュートリアルでは、Gateway Load Balancer と Gateway Load Balancer エンドポイントを使用して検査システムを実装します。

概要

Gateway Load Balancer エンドポイントは、サービスプロバイダー の仮想アプライアンスとVPCサービスコンシューマー のアプリケーションサーバー間のプライベート接続を提供するVPCエンドポイントですVPC。Gateway Load Balancer は、仮想アプライアンスVPCと同じ にデプロイされます。これらのアプライアンスは、Gateway Load Balancer のターゲットグループに登録されます。

アプリケーションサーバーはサービスコンシューマー の 1 つのサブネット (宛先サブネット) で実行されVPC、Gateway Load Balancer エンドポイントは同じ の別のサブネットにありますVPC。インターネットゲートウェイVPCを介してサービスコンシューマーに入るすべてのトラフィックは、まず Gateway Load Balancer エンドポイントにルーティングされ、次に宛先サブネットにルーティングされます。

同様に、アプリケーションサーバー (送信先サブネット) から出るすべてのトラフィックは、Gateway Load Balancer エンドポイントにルーティングされてから、インターネットにルーティングされます。次のネットワークの図は、Gateway Load Balancer エンドポイントがエンドポイントサービスへのアクセスにどのように使用されるのかを視覚的に示したものです。

Gateway Load Balancer エンドポイントを使用してエンドポイントサービスにアクセスする

下の番号付きの項目で、上記の図に示されている各要素がわかりやすく説明されています。

インターネットからアプリケーションへのトラフィック (青い矢印):
  1. トラフィックはインターネットゲートウェイVPCを介してサービスコンシューマーに入ります。

  2. トラフィックは、入力ルーティングの結果として Gateway Load Balancer エンドポイントに送信されます。

  3. Gateway Load Balancer に送信されたトラフィックは、セキュリティアプライアンスの 1 つに分散されます。

  4. セキュリティアプライアンスによって検査されたトラフィックは Gateway Load Balancer エンドポイントに戻されます。

  5. トラフィックはアプリケーションサーバー (宛先サブネット) に送信されます。

アプリケーションからインターネットへのトラフィック (オレンジの矢印):
  1. トラフィックは、アプリケーションサーバーのサブネットで設定されたデフォルトルートの結果として、Gateway Load Balancer エンドポイントに送信されます。

  2. Gateway Load Balancer に送信されたトラフィックは、セキュリティアプライアンスの 1 つに分散されます。

  3. セキュリティアプライアンスによって検査されたトラフィックは Gateway Load Balancer エンドポイントに戻されます。

  4. トラフィックは、ルートテーブルの設定に基づいてインターネットゲートウェイに送信されます。

  5. トラフィックはインターネットにルーティングされます。

ルーティング

インターネットゲートウェイのルートテーブルには、アプリケーションサーバー宛てのトラフィックを Gateway Load Balancer エンドポイントにルーティングするエントリが必要です。Gateway Load Balancer エンドポイントを指定するには、VPCエンドポイントの ID を使用します。次の例は、デュアルスタック設定のルートを示します。

デスティネーション ターゲット
VPC IPv4 CIDR ローカル
VPC IPv6 CIDR ローカル
Subnet 1 IPv4 CIDR vpc-endpoint-id
Subnet 1 IPv6 CIDR vpc-endpoint-id

アプリケーションサーバーがあるサブネットのルートテーブルには、アプリケーションサーバーからのすべてのトラフィックを Gateway Load Balancer エンドポイントにルーティングするエントリが必要です。

デスティネーション ターゲット
VPC IPv4 CIDR ローカル
VPC IPv6 CIDR ローカル
0.0.0.0/0 vpc-endpoint-id
::/0 vpc-endpoint-id

Gateway Load Balancer エンドポイントがあるサブネットのルートテーブルは、検査から返されるトラフィックを最終的な送信先にルーティングする必要があります。インターネットを起点とするトラフィックについては、ローカルルートによって、アプリケーションサーバーに確実に到達します。アプリケーションサーバーを起点とするトラフィックに対して、すべてのトラフィックをインターネットゲートウェイにルーティングするエントリを追加します。

デスティネーション ターゲット
VPC IPv4 CIDR ローカル
VPC IPv6 CIDR ローカル
0.0.0.0/0 internet-gateway-id
::/0 internet-gateway-id

前提条件

  • Gateway Load Balancer をサポートしていないバージョン AWS CLI を使用している場合は、 をインストールするか、 の最新バージョンに AWS CLI 更新します。詳細については、「AWS Command Line Interface ユーザーガイド」の「AWS Command Line Interfaceのインストール」を参照してください。

  • サービスコンシューマーVPCに、アプリケーションサーバーを含むアベイラビリティーゾーンごとに少なくとも 2 つのサブネットがあることを確認します。1 つのサブネットは Gateway Load Balancer エンドポイント用で、もう 1 つはアプリケーションサーバー用です。

  • サービスプロバイダーVPCに、セキュリティアプライアンスインスタンスを含むアベイラビリティーゾーンごとに少なくとも 2 つのサブネットがあることを確認します。1 つのサブネットは Gateway Load Balancer 用で、もう 1 つはインスタンス用です。

  • サービスプロバイダー の各セキュリティアプライアンスサブネットで、少なくとも 1 つのセキュリティアプライアンスインスタンスを起動しますVPC。これらのインスタンスのセキュリティグループは、ポート 6081 でUDPトラフィックを許可する必要があります。

ステップ 1: Gateway Load Balancer を作成し、ターゲットを登録する

次の手順に従って、ロードバランサー、リスナー、およびターゲットグループを作成し、セキュリティアプライアンスインスタンスをターゲットとして登録します。

Gateway Load Balancer を作成し、ターゲットを登録するには
  1. create-load-balancer コマンドを使用して、タイプ のロードバランサーを作成しますgateway。セキュリティアプライアンスインスタンスを起動したアベイラビリティーゾーンごとに 1 つのサブネットを指定できます。

    aws elbv2 create-load-balancer --name my-load-balancer --type gateway --subnets provider-subnet-id

    デフォルトでは、IPv4アドレスのみをサポートします。IPv4 と IPv6 アドレスの両方をサポートするには、 --ip-address-type dualstackオプションを追加します。

    出力には、ロードバランサーの Amazon リソースネーム (ARN) と、次の例に示す形式が含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/gwy/my-load-balancer/1234567890123456
  2. create-target-group コマンドを使用してターゲットグループを作成し、インスタンスを起動VPCしたサービスプロバイダーを指定します。

    aws elbv2 create-target-group --name my-targets --protocol GENEVE --port 6081 --vpc-id provider-vpc-id

    出力には、ターゲットグループの ARNが次の形式で含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/0123456789012345
  3. インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. create-listener コマンドを使用して、ターゲットグループにリクエストを転送するデフォルトルールを持つロードバランサーのリスナーを作成します。

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    出力には、リスナーARNの が次の形式で含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/gwy/my-load-balancer/1234567890123456/abc1234567890123
  5. (オプション) 次のdescribe-target-healthコマンドを使用して、ターゲットグループに登録されたターゲットの状態を確認できます。

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

ステップ 2: Gateway Load Balancer エンドポイントを作成する

次の手順に従って、Gateway Load Balancer エンドポイントを作成します。Gateway Load Balancer エンドポイントにはゾーンが適用されます。ゾーンごとに Gateway Load Balancer エンドポイントを 1 つ作成することをお勧めします。詳細については、「AWS PrivateLinkを通じて仮想アプライアンスにアクセスする」を参照してください。

Gateway Load Balancer エンドポイントを作成するには
  1. create-vpc-endpoint-service-configuration コマンドを使用して、Gateway Load Balancer を使用してエンドポイントサービス設定を作成します。

    aws ec2 create-vpc-endpoint-service-configuration --gateway-load-balancer-arns loadbalancer-arn --no-acceptance-required

    IPv4 と IPv6 アドレスの両方をサポートするには、 --supported-ip-address-types ipv4 ipv6オプションを追加します。

    出力には、サービス ID (例: vpce-svc-12345678901234567)、およびサービス名 (例: com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567) が含まれます。

  2. modify-vpc-endpoint-service-permissions コマンドを使用して、サービスコンシューマーがサービスへのエンドポイントを作成できるようにします。サービスコンシューマーは、ユーザー、IAMロール、または です AWS アカウント。次の例では、指定された のアクセス許可を追加します AWS アカウント。

    aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-12345678901234567 --add-allowed-principals arn:aws:iam::123456789012:root
  3. create-vpc-endpoint コマンドを使用して、サービスの Gateway Load Balancer エンドポイントを作成します。

    aws ec2 create-vpc-endpoint --vpc-endpoint-type GatewayLoadBalancer --service-name com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567 --vpc-id consumer-vpc-id --subnet-ids consumer-subnet-id

    IPv4 と IPv6 アドレスの両方をサポートするには、 --ip-address-type dualstackオプションを追加します。

    出力には、Gateway Load Balancer エンドポイントの ID (例: vpce-01234567890abcdef) が含まれます。

ステップ 3: ルーティングを設定する

サービスコンシューマーのルートテーブルをVPC次のように設定します。これにより、セキュリティアプライアンスは、アプリケーションサーバー宛てのインバウンドトラフィックに対してセキュリティ検査を実行できます。

ルーティングを設定するには
  1. create-route コマンドを使用して、アプリケーションサーバー宛てのトラフィックを Gateway Load Balancer エンドポイントにルーティングするエントリをインターネットゲートウェイのルートテーブルに追加します。

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv4 CIDR --vpc-endpoint-id vpce-01234567890abcdef

    をサポートしている場合はIPv6、次のルートを追加します。

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv6 CIDR --vpc-endpoint-id vpce-01234567890abcdef
  2. create-route コマンドを使用して、アプリケーションサーバーから Gateway Load Balancer エンドポイントにすべてのトラフィックをルーティングするエントリを、アプリケーションサーバーを持つサブネットのルートテーブルに追加します。

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block 0.0.0.0/0 --vpc-endpoint-id vpce-01234567890abcdef

    をサポートしている場合はIPv6、次のルートを追加します。

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block ::/0 --vpc-endpoint-id vpce-01234567890abcdef
  3. create-route コマンドを使用して、アプリケーションサーバーを起点とするすべてのトラフィックをインターネットゲートウェイにルーティングするエントリを、Gateway Load Balancer エンドポイントを持つサブネットのルートテーブルに追加します。

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block 0.0.0.0/0 --gateway-id igw-01234567890abcdef

    をサポートしている場合はIPv6、次のルートを追加します。

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block ::/0 --gateway-id igw-01234567890abcdef
  4. 各ゾーン内のアプリケーションサブネットのルートテーブルごとに繰り返します。