

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

# を使用した Gateway Load Balancer の開始方法 AWS CLI
<a name="getting-started-cli"></a>

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

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

**Topics**
+ [概要](#overview-cli)
+ [前提条件](#prerequisites-aws-cli)
+ [ステップ 1: Gateway Load Balancer を作成し、ターゲットを登録する](#create-load-balancer-aws-cli)
+ [ステップ 2: Gateway Load Balancer エンドポイントを作成する](#create-endpoint-aws-cli)
+ [ステップ 3: ルーティングを設定する](#configure-routing-aws-cli)

## 概要
<a name="overview-cli"></a>

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 エンドポイントを使用してエンドポイントサービスにアクセスする\]](http://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/gateway/images/vpc-endpoint-service-gwlbe-new.png)


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

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

1. トラフィックは、インターネットゲートウェイを介してサービスコンシューマー VPC に入ります。

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

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

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

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

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

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

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

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

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

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

### ルーティング
<a name="route-tables"></a>

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


| デスティネーション | ターゲット | 
| --- | --- | 
| VPC IPv4 CIDR | ローカル | 
| VPC IPv6 CIDR | ローカル | 
| サブネット 1 IPv4 CIDR | vpc-endpoint-id | 
| サブネット 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 | 

## 前提条件
<a name="prerequisites-aws-cli"></a>
+ Gateway Load Balancer をサポートしていないバージョンを使用している場合 AWS CLI は、 をインストールする AWS CLI か、 の最新バージョンに更新します。詳細については、[AWS CLIユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)の*AWS Command Line Interface のインストール*を参照してください。
+ サービスコンシューマー VPC に、アプリケーションサーバーを含むアベイラビリティーゾーンごとに少なくとも 2 つのサブネットがあることを確認します。1 つのサブネットは Gateway Load Balancer エンドポイント用で、もう 1 つはアプリケーションサーバー用です。
+ サービスプロバイダー VPC に、セキュリティアプライアンスインスタンスを含むアベイラビリティーゾーンごとに少なくとも 2 つのサブネットがあることを確認します。1 つのサブネットは Gateway Load Balancer 用で、もう 1 つはインスタンス用です。
+ サービスプロバイダー VPC 内の各セキュリティアプライアンスサブネットで、少なくとも 1 つのセキュリティアプライアンスインスタンスを起動します。これらのインスタンスのセキュリティグループは、ポート 6081 で UDP トラフィックを許可する必要があります。

## ステップ 1: Gateway Load Balancer を作成し、ターゲットを登録する
<a name="create-load-balancer-aws-cli"></a>

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

**Gateway Load Balancer を作成し、ターゲットを登録するには**

1. [create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) コマンドを使用して、`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
   ```

1. [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html) コマンドを使用して、インスタンスを起動したサービスプロバイダー 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
   ```

1. インスタンスをターゲットグループに登録するには、[register-targets](https://docs.aws.amazon.com/cli/latest/reference/elbv2/register-targets.html) コマンドを使用します。

   ```
   aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
   ```

1. [create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) コマンドを使用して、ターゲットグループにリクエストを転送するデフォルトルールを持つロードバランサーのリスナーを作成します。

   ```
   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
   ```

1. (オプション) 次の [describe-target-health](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-target-health.html) コマンドを使用してターゲットグループの登録されたターゲットのヘルスステータスを確認できます。

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

## ステップ 2: Gateway Load Balancer エンドポイントを作成する
<a name="create-endpoint-aws-cli"></a>

次の手順に従って、Gateway Load Balancer エンドポイントを作成します。Gateway Load Balancer エンドポイントにはゾーンが適用されます。ゾーンごとに Gateway Load Balancer エンドポイントを 1 つ作成することをお勧めします。詳細については、「[AWS PrivateLinkを通じて仮想アプライアンスにアクセスする](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-gateway-load-balancer.html)」を参照してください。

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

1. [create-vpc-endpoint-service-configuration](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint-service-configuration.html) コマンドを使用して、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) が含まれます。

1. [modify-vpc-endpoint-service-permissions](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint-service-permissions.html) コマンドを使用して、サービスコンシューマーがサービスへのエンドポイントを作成できるようにします。サービスコンシューマーは、ユーザー、IAM ロール、または AWS アカウントです。次の の例では、指定された のアクセス許可を追加します AWS アカウント。

   ```
   aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-12345678901234567 --add-allowed-principals arn:aws:iam::123456789012:root
   ```

1. [create-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint.html) コマンドを使用して、サービス用の 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: ルーティングを設定する
<a name="configure-routing-aws-cli"></a>

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

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

1. [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html) コマンドを使用して、アプリケーションサーバー宛てのトラフィックを 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
   ```

1. [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html) コマンドを使用して、アプリケーションサーバーから 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
   ```

1. [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html) コマンドを使用して、アプリケーションサーバーを起点とするすべてのトラフィックをインターネットゲートウェイにルーティングするエントリを、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
   ```

1. 各ゾーン内のアプリケーションサブネットのルートテーブルごとに繰り返します。