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 に送信されます。

  4. 検査後、トラフィックは Gateway Load Balancer エンドポイントに戻されます。

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

アプリケーションからインターネットへのトラフィック (オレンジの矢印):

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

  2. トラフィックは、セキュリティアプライアンスを介して検査のために Gateway Load Balancer に送信されます。

  3. 検査後、トラフィックは Gateway Load Balancer エンドポイントに戻されます。

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

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

ルーティング

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

送信先 ターゲット
10.0.0.0/16 ローカル
10.0.1.0/24 vpc-endpoint-id

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

送信先 ターゲット
10.0.0.0/16 ローカル
0.0.0.0/0 vpc-endpoint-id

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

送信先 ターゲット
10.0.0.0/16 ローカル
0.0.0.0/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 (ロードバランシング) ] で [ Target Groups (ターゲットグループ) ] を選択します。

  3. [Choose a target type] (ターゲットタイプの選択) で、[Instances] (インスタンス) を選択してインスタンス ID でターゲットを指定するか、[IP addresses] (IP アドレス) を選択して IP アドレスでターゲットを指定します。

  4. [Target group name] に、ターゲットグループの名前を入力します。例えば、my-targets

  5. プロトコルGENEVE であり、ポート6081 である必要があります。プロトコルとポートのその他の値はサポートされていません。

  6. [VPC] では、ターゲットグループに含めるインスタンスがある Virtual Private Cloud (VPC) を選択します。

  7. [Health checks] (ヘルスチェック)(オプション) で、必要に応じてヘルスチェック設定を変更します。

  8. [Tags] (タグ) を展開し、タグを追加します (オプション)。

  9. [Next] (次へ) を選択します。

  10. 次のように 1 つ以上のターゲットを追加します。

    • ターゲットタイプがインスタンスである場合は、1 つ以上のインスタンスを選択し、1 つ以上のポートを入力して、[保留中として以下を含める] を選択します。

    • ターゲットタイプが IP アドレスの場合は、ネットワークを選択し、IP アドレスとポートを入力して、[保留中として以下を含める] を選択します。

  11. [Create target group] を選択します。

Gateway Load Balancer を作成するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. [Create Load Balancer] を選択します。

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

  5. [ロードバランサー名] に、ロードバランサーの名前を入力します。たとえば、my-glb と指定します。

  6. [IP address type] (IP アドレスタイプ) では [IPv4] を選択する必要があります。クライアントはロードバランサーとの通信に IPv4 アドレスしか使用できないためです。

  7. [VPC] では、サービスプロバイダー VPC を選択します。選択できるのは、インターネットゲートウェイを持つ VPC のみです。

  8. [Mappings] (マッピング) では、セキュリティアプライアンスインスタンスを起動したすべてのアベイラビリティーゾーンと、対応するパブリックサブネットを選択します。

  9. [Default action] (デフォルトアクション) では、トラフィックを転送するターゲットグループを選択します。デフォルトのターゲットグループがない場合は、最初にターゲットグループを作成します。Gateway Load Balancer で使用できるのは、GENEVE プロトコルを持つターゲットグループのみです。

  10. [Tags] (タグ) を展開し、タグを追加します (オプション)。

  11. 設定を確認し、[ロードバランサーの作成] を選択します。

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

次の手順に従って、Gateway Load Balancer エンドポイントを作成します。Gateway Load Balancer エンドポイントにはゾーンが適用されます。ゾーンごとに Gateway Load Balancer エンドポイントを 1 つ作成することをお勧めします。詳細については、Gateway Load Balancer エンドポイント (AWS PrivateLink) を参照してください。

Gateway Load Balancer エンドポイントを作成するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

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

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

    1. [Associate Load Balancers] (ロードバランサーの関連付け) で、使用する Gateway Load Balancer を選択します。

    2. [Require acceptance for endpoint] (エンドポイントの承諾が必要) で、[Acceptance required] (承諾が必要) を選択し、サービスへの接続リクエストを手動で承諾します。それ以外の場合は、エンドポイント接続は自動的に承諾されます。

    3. (オプション) タグを追加するには、[Add Tag] (タグの追加) を選択して、タグのキーと値を指定します。

    4. [Create service] (サービスを作成) を選択します。サービス ID を選択します。[Details] (詳細) タブからサービス名を保存します。エンドポイントを作成するときに、これが必要になります。

    5. [Actions]、[Add principals to whitelist] の順に選択します。サービスへのエンドポイントの作成を許可されているサービスコンシューマーの ARN を入力します。サービスコンシューマーは IAM ユーザー、IAM ロール、または AWS アカウントにすることができます。

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

  5. [Create Endpointe] (エンドポイントの作成) を選択し、以下を実行します。

    1. [Service category] で、[Find service by name] を選択します。

    2. [Service Name] (サービス名) に、以前に保存したサービスの名前を入力し、[Verify] (検証) を選択します。名前が見つかったら、次のステップに進みます。見つからなかった場合、正しいサービス名を使用しているかを確認してください。

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

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

    5. (オプション) タグを追加するには、[Add Tag] (タグの追加) を選択して、タグのキーと値を指定します。

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

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

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

ルーティングを設定するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Route Tables] を選択します。

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

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

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

    3. [Save routes] を選択します。

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

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

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

    3. [Save routes] を選択します。

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

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

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

    3. [Save routes] を選択します。