

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

# Transit Gateway とクライアント VPN の統合
<a name="cvpn-tgw"></a>

クライアント VPN エンドポイントを Transit Gateway にネイティブにアタッチして、複数の VPCs、オンプレミスネットワーク、および Transit Gateway に接続されたその他のリソースへの安全なリモートアクセスを実現できます。これにより、VPC ごとに個別の VPN エンドポイントを作成したり、中間 VPC を介した複雑なルーティングを管理する必要がなくVPCs。

**Topics**
+ [概要](#cvpn-tgw-overview)
+ [利点](#cvpn-tgw-benefits)
+ [Transit Gateway 統合の仕組み](#cvpn-tgw-how-it-works)
+ [前提条件](#cvpn-tgw-prerequisites)
+ [Transit Gateway クライアント VPN エンドポイントを作成する](#cvpn-tgw-create)
+ [ルートを管理する](#cvpn-tgw-routes)
+ [認可を設定](#cvpn-tgw-authorization)
+ [アベイラビリティーゾーンの管理](#cvpn-tgw-manage-azs)
+ [クロスアカウント Transit Gateway アクセス](#cvpn-tgw-cross-account)
+ [考慮事項と制限事項](#cvpn-tgw-limitations)

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

Transit Gateway をクライアント VPN エンドポイントに関連付けると、クライアント VPN エンドポイントで適切なルートと認可ルールが設定されている場合、接続された VPN クライアントは Transit Gateway に接続されているすべてのリソースにアクセスできます。

Transit Gateway 関連のエンドポイントは、クライアントソース IP アドレスを保持します。ソースネットワークアドレス変換 (SNAT) は適用されないため、クライアントトラフィックの可視性が向上します。

**重要**  
VPC サブネットの関連付けと Transit Gateway の関連付けを単一のクライアント VPN エンドポイントに混在させることはできません。エンドポイントの作成時に関連付けタイプを 1 つ選択します。

## 利点
<a name="cvpn-tgw-benefits"></a>

Transit Gateway とクライアント VPN の統合には、次の利点があります。
+ **管理の簡素化** — VPC ごとに個別の VPN エンドポイントが不要になります。VPN 終了のみのために中間 VPCsを作成する必要はありません。
+ **集中ルーティング** — 中央ルーティングハブとして Transit Gateway を活用します。ネットワーク全体のルート管理を簡素化します。
+ **可視性の向上** — クライアントソース IP アドレス (SNAT なし) を保持します。クライアント VPN のフローログサポートを提供します。
+ **スケーラビリティ** — クライアント VPN 経由でアクセスできる新しい VPCs を Transit Gateway に簡単に追加できます。大規模なリモートワークフォースとビジネスユニットをサポートするようにスケールします。
+ **一元化されたセキュリティ** — 接続されているすべてのネットワークに一貫したセキュリティポリシーを実装します。包括的な監査証跡を維持します。

## Transit Gateway 統合の仕組み
<a name="cvpn-tgw-how-it-works"></a>

以下に、クライアント VPN と Transit Gateway の連携について説明します。

1. **エンドポイントの作成** — クライアント VPN エンドポイントを作成し、Transit Gateway ID を指定します。

1. **アタッチメントの作成** — AWS エンドポイントの タイプの Transit Gateway `client-vpn` アタッチメントを自動的に作成します。

1. **アベイラビリティーゾーンの選択** — 使用するアベイラビリティーゾーンを指定するか、2 つのアベイラビリティーゾーンを自動的に AWS 選択します。

1. **ルート設定** — クライアント VPN エンドポイントルートテーブルにルートを追加して、Transit Gateway 経由でクライアントトラフィックを送信先ネットワークに送信します。

1. **クライアント接続フロー** — クライアントが接続すると、トラフィックはクライアントからクライアント VPN エンドポイントを経由して Transit Gateway に流れ、次に Transit Gateway ルートテーブルに基づく送信先ネットワークに流れます。

![クライアント VPN を使用した Transit Gateway トラフィックフロー](http://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/images/cvpn-tgw-traffic-flow.png)


## 前提条件
<a name="cvpn-tgw-prerequisites"></a>

Transit Gateway 関連のクライアント VPN エンドポイントを作成する前に、次の要件を確認してください。

Transit Gateway の要件  
+ クライアント VPN エンドポイントと同じリージョンにある既存の Transit Gateway。
+ クロスアカウントアクセスの場合、Transit Gateway は を介してアカウントと共有する必要があります AWS Resource Access Manager。
+ Transit Gateway には IPv4 CIDR ブロックを割り当てる必要があります。IPv6 またはデュアルスタック設定を使用する場合は、IPv6 CIDR ブロックも割り当てます。

ネットワークの要件  
+ クライアント CIDR 範囲は、Transit Gateway にアタッチされた VPCsの CIDR 範囲と重複してはいけません。
+ 選択したアベイラビリティーゾーンは、Transit Gateway でサポートされている必要があります。
+ クライアント CIDR 範囲宛てのトラフィックを Transit Gateway に転送するには、VPC ルートテーブルでリターンルートを設定する必要があります。

証明書の要件  
+ クライアント VPN エンドポイントと同じリージョンの AWS Certificate Manager (ACM) でプロビジョニングされたサーバー証明書。
+ 相互認証を使用する場合、ACM でプロビジョニングされたクライアント証明書。

## Transit Gateway クライアント VPN エンドポイントを作成する
<a name="cvpn-tgw-create"></a>

コンソールまたは を使用して、トランジットゲートウェイに関連付けられたクライアント VPN エンドポイントを作成できます AWS CLI。

**Transit Gateway クライアント VPN エンドポイントを作成するには (コンソール)**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで **[クライアント VPN エンドポイント]** を選択し、**[クライアント VPN エンドポイントの作成]** を選択します。

1. (オプション) [**名前タグ**] と [**説明**] に、エンドポイントの名前と説明を入力します。

1. **トラフィック IP アドレスタイプ**で、次のいずれかを選択します。
   + **IPv4** — クライアント IPv4 CIDR 範囲を指定します (例: `10.0.0.0/22`)。
   + **IPv6** — クライアント IPv6 CIDR 範囲 AWS を自動的に割り当てます。
   + **デュアルスタック** — クライアント IPv4 CIDR 範囲を指定します。 はクライアント IPv6 CIDR 範囲 AWS を自動的に割り当てます。

1. **サーバー証明書 ARN** には、ACM でプロビジョニングされた TLS 証明書の ARN を指定します。

1. 認証方法を選択します。詳細については、「[でのクライアント認証 AWS Client VPN](client-authentication.md)」を参照してください。

1. (オプション) **接続ログ記録**で、**クライアント接続のログ詳細を有効にする**をオンにし、CloudWatch Logs ロググループとログストリームを指定します。

1. **ネットワークインフラストラクチャ**で、**トランジットゲートウェイ**を選択します。

1. **Transit Gateway ID** で、ドロップダウンリストから Transit Gateway を選択します。

1. (オプション) **アベイラビリティーゾーンの場合は**、最大 5 つのアベイラビリティーゾーンを選択します。アベイラビリティーゾーンを選択しない場合、 AWS は自動的に 2 を選択します。

1. (オプション) DNS サーバー、トランスポートプロトコル、スプリットトンネル、VPN ポート、セッションタイムアウト、ログインバナーなどの追加設定を行います。

1. **[クライアント VPN エンドポイントの作成]** を選択します。

**注記**  
作成後、エンドポイントの状態は になります`pending-associate`。Transit Gateway アタッチメントが自動的に作成されます。クライアントは、アタッチメントが利用可能になった後に接続できます。

**Transit Gateway クライアント VPN エンドポイントを作成するには (AWS CLI)**  
`--transit-gateway-id` パラメータを指定して [create-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-client-vpn-endpoint.html) コマンドを使用します。

次の の例では、特定のアベイラビリティーゾーンを持つクライアント VPN エンドポイントを作成します。

```
aws ec2 create-client-vpn-endpoint \
    --client-cidr-block 10.0.0.0/22 \
    --server-certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
    --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE} \
    --connection-log-options Enabled=false \
    --transit-gateway-id tgw-0a1b2c3d4e5f6EXAMPLE \
    --availability-zone-list us-east-1a us-east-1b us-east-1c
```

出力の例:

```
{
    "ClientVpnEndpointId": "cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE",
    "Status": {
        "Code": "pending-associate"
    },
    "DnsName": "cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE.prod.clientvpn.us-east-1.amazonaws.com"
}
```

が 2 つのアベイラビリティーゾーン AWS を自動的に選択できるようにするには、 `--availability-zone-list`パラメータを省略します。

```
aws ec2 create-client-vpn-endpoint \
    --client-cidr-block 10.0.0.0/22 \
    --server-certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
    --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE} \
    --connection-log-options Enabled=false \
    --transit-gateway-id tgw-0a1b2c3d4e5f6EXAMPLE
```

### Transit Gateway アタッチメントを確認する
<a name="cvpn-tgw-verify"></a>

エンドポイントを作成したら、Transit Gateway アタッチメントが作成されていることを確認します。

**Transit Gateway アタッチメントを確認するには (コンソール)**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで **[Transit Gateway アタッチメント]** を選択します。

1. クライアント VPN エンドポイント ID に一致する**リソースタイプ** = `client-vpn`およびリソース ID のアタッチメントを見つけます。 ****

1. **状態**が であることを確認します`available`。

**Transit Gateway アタッチメントを確認するには (AWS CLI)**  
[[describe-transit-gateway-attachments](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-transit-gateway-attachments.html)] コマンドを使用します。

```
aws ec2 describe-transit-gateway-attachments \
    --filters Name=transit-gateway-id,Values=tgw-0a1b2c3d4e5f6EXAMPLE Name=resource-type,Values=client-vpn
```

エンドポイントの Transit Gateway 設定を表示するには、[describe-client-vpn-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-endpoints.html) コマンドを使用します。

```
aws ec2 describe-client-vpn-endpoints \
    --client-vpn-endpoint-ids cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE
```

出力には、Transit Gateway ID と関連するアベイラビリティーゾーンを持つ`TransitGatewayConfiguration`オブジェクトが含まれます。

## ルートを管理する
<a name="cvpn-tgw-routes"></a>

**重要**  
Transit Gateway 関連のエンドポイントでは、ルートの作成時にターゲットサブネット ID を指定しません。トラフィックは Transit Gateway アタッチメントを介して自動的に送信されます。

**ルートを追加するには (コンソール)**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで、**[クライアント VPN エンドポイント]** を選択します。

1. クライアント VPN エンドポイントを選択し、**ルートテーブル**を選択し、**ルートの作成**を選択します。

1. **ルート送信**先には、送信先 CIDR 範囲を入力します (`10.1.0.0/16`VPC の場合は 、すべてのトラフィック`0.0.0.0/0`の場合は など）。

1. (オプション) **説明** に、ルートの説明を入力します。

1. [**ルートの作成**] を選択します。

**ルートを追加するには (AWS CLI)**  
`--target-vpc-subnet-id` パラメータなしで [create-client-vpn-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-client-vpn-route.html) コマンドを使用します。

```
aws ec2 create-client-vpn-route \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --destination-cidr-block 10.1.0.0/16
```

複数のルートを追加するには、送信先 CIDR 範囲ごとに コマンドを実行します。

```
# Route to VPC 1
aws ec2 create-client-vpn-route \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --destination-cidr-block 10.1.0.0/16

# Route to VPC 2
aws ec2 create-client-vpn-route \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --destination-cidr-block 10.2.0.0/16

# Route to on-premises network
aws ec2 create-client-vpn-route \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --destination-cidr-block 192.168.0.0/16
```

**ルートを削除するには (コンソール)**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで、**[クライアント VPN エンドポイント]** を選択します。

1. クライアント VPN エンドポイントを選択し、**ルートテーブル**を選択し、ルートを選択し、**ルートの削除**を選択します。

1. **ルートの削除**を選択して確認します。

**ルートを削除するには (AWS CLI)**  
[delete-client-vpn-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-client-vpn-route.html) コマンドを使用します。

```
aws ec2 delete-client-vpn-route \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --destination-cidr-block 10.1.0.0/16
```

## 認可を設定
<a name="cvpn-tgw-authorization"></a>

**重要**  
セキュリティグループベースの認可は、Transit Gateway 関連のクライアント VPN エンドポイントではサポートされていません。クライアントアクセスを制御するには、ネットワークベースの認可ルールを使用する必要があります。

**認可ルールを追加するには (コンソール)**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインで、**[クライアント VPN エンドポイント]** を選択します。

1. クライアント VPN エンドポイントを選択し、**認可ルール**を選択し、**認可ルールの追加**を選択します。

1. **送信先ネットワークでアクセスを有効にするには**、送信先 CIDR 範囲 ( など`10.1.0.0/16`) を入力します。

1. アクセス**を許可する**には、次のいずれかを選択します。
   + **すべてのユーザーへのアクセスを許可する** — 認証されたすべてのクライアントが送信先ネットワークにアクセスできます。
   + **特定のアクセスグループのユーザーへのアクセスを許可する** — **アクセスグループ ID** に Active Directory グループ SID または IdP グループ名を入力します。

1. **[Add authorization rule]** (認可ルールを追加する) を選択します。

**認可ルールを追加するには (AWS CLI)**  
[authorize-client-vpn-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-client-vpn-ingress.html) コマンドを使用します。

次の例では、すべてのユーザーに`10.1.0.0/16`ネットワークへのアクセスを許可します。

```
aws ec2 authorize-client-vpn-ingress \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --target-network-cidr 10.1.0.0/16 \
    --authorize-all-groups
```

次の の例では、特定の Active Directory グループを承認します。

```
aws ec2 authorize-client-vpn-ingress \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --target-network-cidr 10.1.0.0/16 \
    --access-group-id S-1-2-34-1234567890-1234567890-1234567890-1234
```

## アベイラビリティーゾーンの管理
<a name="cvpn-tgw-manage-azs"></a>

Transit Gateway 関連のクライアント VPN エンドポイントのアベイラビリティーゾーンは、作成後に変更できます。

**単一のアベイラビリティーゾーンを追加するには (AWS CLI)**  
`--availability-zone` パラメータを指定して [associate-client-vpn-target-network](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-client-vpn-target-network.html) コマンドを使用します。

```
aws ec2 associate-client-vpn-target-network \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --availability-zone us-east-1c
```

**単一のアベイラビリティーゾーンを削除するには (AWS CLI)**  
まず、[describe-client-vpn-target-networks](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-client-vpn-target-networks.html) コマンドを使用して、アベイラビリティーゾーンの関連付け ID を見つけます。

```
aws ec2 describe-client-vpn-target-networks \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE
```

次に、関連付け ID で [disassociate-client-vpn-target-network](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-client-vpn-target-network.html) コマンドを使用します。

```
aws ec2 disassociate-client-vpn-target-network \
    --client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6EXAMPLE \
    --association-id cvpn-assoc-0a1b2c3d4e5f6EXAMPLE
```

## クロスアカウント Transit Gateway アクセス
<a name="cvpn-tgw-cross-account"></a>

別の AWS アカウントが所有する Transit Gateway に関連付けられたクライアント VPN エンドポイントを作成できます。これを行うには、Transit Gateway 所有者が Transit Gateway を アカウントと共有する必要があります AWS Resource Access Manager。

前提条件  
+ **Transit Gateway 所有者アカウント** — 既存の Transit Gateway と、リソース共有を作成するためのアクセス許可 AWS Resource Access Manager。
+ **クライアント VPN エンドポイントアカウント** — クライアント VPN エンドポイントを作成し、 AWS Resource Access Manager リソース共有を受け入れるアクセス許可。

クライアント VPN エンドポイントアカウントで、 AWS Resource Access Manager コンソールで、または [accept-resource-share-invitation](https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html) コマンドを使用してリソース共有を受け入れます。共有を受け入れると、クライアント VPN エンドポイントの作成時に Transit Gateway ID ドロップダウンに Transit Gateway が表示されます。

## 考慮事項と制限事項
<a name="cvpn-tgw-limitations"></a>

Transit Gateway とクライアント VPN の統合を使用する場合は、次の点を考慮してください。
+ **関連付けの制限**
  + VPC サブネットの関連付けと Transit Gateway の関連付けを 1 つのエンドポイントに混在させることはできません。
  + 各エンドポイントは、1 つの関連付けタイプのみを使用する必要があります。
+ **セキュリティグループ**
  + セキュリティグループベースの認可は、Transit Gateway エンドポイントではサポートされていません。
  + ネットワークベースの認可ルールのみを使用してください。
+ **ルート管理**
  + Transit Gateway からのルートの自動伝播はサポートされていません。
  + 送信先ネットワークのルートを手動で定義する必要があります。
+ **CIDR の重複**
  + クライアント VPN CIDR ブロックは、他の Transit Gateway アタッチメントまたは Transit Gateway CIDR ブロックと重複しないでください。
  + Transit Gateway は、アタッチされた VPCs 間での CIDR 範囲の重複をサポートしていません。
+ **リージョンの制限**
  + クライアント VPN エンドポイントと Transit Gateway は同じ AWS リージョンに存在する必要があります。
  + クライアント VPN では、クロスリージョン Transit Gateway ピア接続はサポートされていません。
+ アベイラビリティーゾーン****
  + エンドポイントごとに最大 5 つのアベイラビリティーゾーンを指定できます。
  + 指定しない場合、 は 2 つのアベイラビリティーゾーン AWS を自動的に割り当てます。
  + 指定されたすべてのアベイラビリティーゾーンは、クライアント VPN と Transit Gateway の両方でサポートされる必要があります。
+ **ルーティングを返す**
  + Transit Gateway に接続された VPCs には、クライアント VPN CIDR 宛てのトラフィックを Transit Gateway にルーティングするように設定された戻りルートが必要です。
  + 適切なリターンルーティングがないと、VPN クライアントは VPCs内のリソースにアクセスできません。
    + **IPv4 の場合**: クライアント VPN CIDR はエンドポイントの作成時に認識されます。
    + **IPv6 の場合**: IPv6 クライアント CIDR 範囲が自動的に割り当てられるため、クライアント VPN エンドポイントに割り当てられた IPv6 CIDR 範囲 (クライアント VPN エンドポイントに関連付けられた Transit Gateway ルートテーブルの最大 CIDR 範囲) を決定するには、Transit Gateway ルートテーブルを記述する必要があります AWS Client VPN。
+ **接続ログとフローログ**
  + [Transit Gateway フローログ](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html)を有効にして、Transit Gateway との間で送受信される IP トラフィックに関する情報をキャプチャできます。[クライアント VPN 接続ログ](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-with-connection-logs.html)を有効にして、クライアント VPN 接続イベントに関する情報をキャプチャできます。
  + Transit Gateway フローログイベントをクライアント VPN 接続に関連付けるには、Transit Gateway フローログイベントのクライアント IP とタイムスタンプを、クライアント VPN 接続ログの同じクライアント IP と期間と比較します。
+ **インターネット接続**
  + Transit Gateway でクライアント VPN を介してインターネットにアクセスするには、分割トンネルなしで、アタッチされた VPC に NAT が設定されている必要があります。
    + **IPv4 の場合**: クライアント VPN クライアント IPs をパブリック IP アドレスに置き換えるように NAT ゲートウェイを設定します。
    + **IPv6 **の場合:[IPv6 を使用した一元化されたインターネットアウトバウンドトラフィック](https://docs.aws.amazon.com/whitepapers/latest/ipv6-on-aws/advanced-dual-stack-and-ipv6-only-network-designs.html#centralized-internet-outbound-traffic-with-ipv6)」を参照してください。