Gateway Load Balancer の使用開始方法 - Elastic Load Balancing

Gateway Load Balancer の使用開始方法

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

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

概要

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

アプリケーションサーバーはサービスコンシューマー VPC の 1 つのサブネット (宛先サブネット) で実行されますが、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 [Local] (ローカル)
VPC IPv6 CIDR [Local] (ローカル)
サブネット 1 IPv4 CIDR vpc-endpoint-id
サブネット 1 IPv6 CIDR vpc-endpoint-id

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

送信先 ターゲット
VPC IPv4 CIDR [Local] (ローカル)
VPC IPv6 CIDR [Local] (ローカル)
0.0.0.0/0 vpc-endpoint-id
::/0 vpc-endpoint-id

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

送信先 ターゲット
VPC IPv4 CIDR [Local] (ローカル)
VPC IPv6 CIDR [Local] (ローカル)
0.0.0.0/0 internet-gateway-id
::/0 internet-gateway-id

前提条件

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

  • Gateway Load Balancer とターゲットは同じサブネットに配置できます。

  • 別のアカウントから共有されているサブネットを使用して Gateway Load Balancer をデプロイすることはできません。

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

ステップ 1: Gateway Load Balancer を作成する

次の手順に従って、ロードバランサー、リスナー、ターゲットグループを作成します。

ロードバランサー、リスナー、ターゲットグループを作成するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Load Balancing] で、[Load Balancers] を選択します。

  3. [ロードバランサーの作成] を選択します。

  4. [Gateway Load Balancer] で、[Create] (作成) を選択します。

  5. 基本的な設定

    1. [ロードバランサー名] に、ロードバランサーの名前を入力します。

    2. [IP アドレスタイプ] で、[IPv4] を選択して IPv4 アドレスのみをサポートするか、[デュアルスタック] を選択して IPv4 と IPv6 アドレスの両方をサポートします。

  6. ネットワークマッピング

    1. [VPC] では、サービスプロバイダー VPC を選択します。

    2. [マッピング] で、セキュリティアプライアンスインスタンスを起動したすべてのアベイラビリティーゾーン、およびアベイラビリティゾーンごとに 1 つのサブネットを選択します。

  7. IP リスナーのルーティング

    1. [デフォルトアクション] で、トラフィックを受信する既存のターゲットグループを選択します。このターゲットグループは GENEVE プロトコルを使用する必要があります。

      ターゲットグループがない場合は、[ターゲットグループを作成] を選択します。ブラウザで新しいタブが開きます。ターゲットタイプを選択し、ターゲットグループの名前を入力して GENEVE プロトコルを維持します。セキュリティアプライアンスインスタンスがある VPC を選択します。必要に応じてヘルスチェック設定を変更し、必要なタグを追加します。[Next] (次へ) をクリックします。ターゲットグループへのセキュリティアプライアンスインスタンスの登録は、今すぐ行うか、この手順を完了した後に行うことができます。[ターゲットグループの作成] を選択し、以前のブラウザタブに戻ります。

    2. (オプション) [リスナータグ] を展開し、必要なタグを追加します。

  8. (オプション) [ロードバランサータグ] を展開し、必要なタグを追加します。

  9. [ロードバランサーの作成] を選択します。

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

次の手順を使用して、Gateway Load Balancer を使用するエンドポイントサービスを作成します。

Gateway Load Balancer エンドポイントサービスを作成するには
  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoint Services] (エンドポイントサービス) を選択します。

  3. [エンドポイントサービスの作成] を選択し、以下の手順を実行します。

    1. [Load balancer type] (ロードバランサーのタイプ) で、[Gateway] を選択します。

    2. [Available load balancers] (使用可能なロードバランサー) で、お使いの Gateway Load Balancer を選択します。

    3. [Require acceptance for endpoint] (エンドポイントの承諾が必要) で、[Acceptance required] (承諾が必要) を選択し、サービスへの接続リクエストを手動で承諾します。そうでない場合、これらのリクエストは自動的に受け入れられます。

    4. [Supported IP address types] (サポートされている IP アドレスのタイプ) で、次のいずれかを実行します。

      • [IPv4] を選択 – エンドポイントサービスが IPv4 リクエストを受け入れることができるようにします。

      • [IPv6] を選択 – エンドポイントサービスが IPv6 リクエストを受け入れることができるようにします。

      • [IPv4][IPv6] を選択 – エンドポイントサービスが IPv4 と IPv6 の両方のリクエストを受け入れることができるようにします。

    5. (オプション) タグを追加するには、[Add new tag] (新しいタグを追加) を選択し、タグキーとタグ値を入力します。

    6. [Create] (作成) を選択します。サービス名を書き留めます。これはエンドポイントを作成するときに必要になります。

  4. 新しいエンドポイントサービスを選択し、[アクション][プリンシパルを許可] の順に選択します。サービスへのエンドポイントの作成を許可されているサービスコンシューマーの ARN を入力します。サービスコンシューマーは、ユーザー、IAM ロール、または AWS アカウントです。[プリンシパルを許可] を選択します。

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

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

Gateway Load Balancer エンドポイントを作成するには
  1. Amazon VPCコンソール(https://console.aws.amazon.com/vpc/)を開きます。

  2. ナビゲーションペインで、[Endpoints] (エンドポイント) を選択します。

  3. [エンドポイントの作成] を選択し、以下の手順を実行します。

    1. [Service category] (サービスカテゴリ) で、[Other endpoint services] (その他のエンドポイントサービス) を選択します。

    2. 以前に書き留めたしたサービスの名前を [サービス名] に入力し、[確認] を選択します。

    3. [VPC] では、サービスコンシューマー VPC を選択します。

    4. [Subnets] (サブネット) で、Gateway Load Balancer エンドポイントのサブネットを選択します。

    5. [IP address type] (IP アドレスのタイプ) で、次のオプションから選択します。

      • [IPv4] — IPv4 アドレスをエンドポイントのネットワークインターフェイスに割り当てます。このオプションは、選択したすべてのサブネットに IPv4 アドレス範囲がある場合にのみサポートされます。

      • [IPv6] — IPv6 アドレスをエンドポイントのネットワークインターフェイスに割り当てます。このオプションは、選択したすべてのサブネットが IPv6 のみのサブネットである場合にのみサポートされます。

      • [Dualstack] — IPv4 と IPv6 の両方のアドレスをエンドポイントのネットワークインターフェイスに割り当てます。このオプションは、選択したすべてのサブネットに IPv4 と IPv6 の両方のアドレス範囲がある場合にのみサポートされます。

    6. (オプション) タグを追加するには、[Add new tag] (新しいタグを追加) を選択し、タグキーとタグ値を入力します。

    7. [Create endpoint] (エンドポイントの作成) を選択します。初期ステータスは、pending acceptance です。

エンドポイント接続リクエストを受け入れるには、次の手順を使用します。

  1. ナビゲーションペインで、[Endpoint Services] (エンドポイントサービス) を選択します。

  2. エンドポイントサービスを選択します。

  3. [Endpoint connections] (エンドポイント接続) タブで、エンドポイント接続を選択します。

  4. 接続リクエストを承諾するには、[Actions] (アクション)、[Accept endpoint connection request] (エンドポイント接続リクエストを承諾) の順に選択します。確認を求められたら、accept と入力し、[Accept] (承諾) を選択します。

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

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

ルーティングを設定するには
  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Route tables] (ルートテーブル) を選択します。

  3. インターネットゲートウェイのルートテーブルを選択し、以下を実行します。

    1. [アクション]、[ポリシーの編集] の順に選択します。

    2. [Add Rule (ルートの追加)] を選択します。[Destination] (送信先) に、アプリケーションサーバーのサブネットの IPv4 CIDR ブロックを入力します。[Target] (ターゲット) で、VPC エンドポイントを選択します。

    3. IPv6 をサポートしている場合は、[Add route] (ルートを追加) を選択します。[Destination] (送信先) に、アプリケーションサーバーのサブネットの IPv6 CIDR ブロックを入力します。[Target] (ターゲット) で、VPC エンドポイントを選択します。

    4. [Save changes] (変更の保存) をクリックします。

  4. アプリケーションサーバーを含むサブネットのルートテーブルを選択し、以下を実行します。

    1. [アクション]、[ポリシーの編集] の順に選択します。

    2. [Add Rule (ルートの追加)] を選択します。[送信先] に「0.0.0.0/0」と入力します。[Target] (ターゲット) で、VPC エンドポイントを選択します。

    3. IPv6 をサポートしている場合は、[Add route] (ルートを追加) を選択します。[送信先] に「::/0」と入力します。[Target] (ターゲット) で、VPC エンドポイントを選択します。

    4. [Save changes] (変更の保存) をクリックします。

  5. Gateway Load Balancer エンドポイントを持つサブネットのルートテーブルを選択し、以下を実行します。

    1. [アクション]、[ポリシーの編集] の順に選択します。

    2. [Add Rule (ルートの追加)] を選択します。[送信先] に「0.0.0.0/0」と入力します。[Target] (ターゲット) で、インターネットゲートウェイを選択します。

    3. IPv6 をサポートしている場合は、[Add route] (ルートを追加) を選択します。[送信先] に「::/0」と入力します。[Target] (ターゲット) で、インターネットゲートウェイを選択します。

    4. [Save changes] (変更の保存) をクリックします。