View a markdown version of this page

Transit Gateway とクライアント VPN の統合 - AWS Client VPN

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

Transit Gateway とクライアント VPN の統合

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

概要

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

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

重要

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

利点

Transit Gateway とクライアント VPN の統合には、次の利点があります。

  • 管理の簡素化 — VPC ごとに個別の VPN エンドポイントが不要になります。VPN 終了のみのために中間 VPCsを作成する必要はありません。

  • 集中ルーティング — 中央ルーティングハブとして Transit Gateway を活用します。ネットワーク全体のルート管理を簡素化します。

  • 可視性の向上 — クライアントソース IP アドレス (SNAT なし) を保持します。クライアント VPN のフローログサポートを提供します。

  • スケーラビリティ — クライアント VPN 経由でアクセスできる新しい VPCs を Transit Gateway に簡単に追加できます。大規模なリモートワークフォースとビジネスユニットをサポートするようにスケールします。

  • 一元化されたセキュリティ — 接続されているすべてのネットワークに一貫したセキュリティポリシーを実装します。包括的な監査証跡を維持します。

Transit Gateway 統合の仕組み

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

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

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

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

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

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

クライアント VPN を使用した Transit Gateway トラフィックフロー

前提条件

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 エンドポイントを作成する

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

Transit Gateway クライアント VPN エンドポイントを作成するには (コンソール)
  1. Amazon VPC コンソールの https://console.aws.amazon.com/vpc/ を開いてください。

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

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

  4. トラフィック IP アドレスタイプで、次のいずれかを選択します。

    • IPv4 — クライアント IPv4 CIDR 範囲を指定します (例: 10.0.0.0/22)。

    • IPv6 — クライアント IPv6 CIDR 範囲 AWS を自動的に割り当てます。

    • デュアルスタック — クライアント IPv4 CIDR 範囲を指定します。 はクライアント IPv6 CIDR 範囲 AWS を自動的に割り当てます。

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

  6. 認証方法を選択します。詳細については、「でのクライアント認証 AWS Client VPN」を参照してください。

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

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

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

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

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

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

注記

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

Transit Gateway クライアント VPN エンドポイントを作成するには (AWS CLI)

--transit-gateway-id パラメータを指定して create-client-vpn-endpoint コマンドを使用します。

次の の例では、特定のアベイラビリティーゾーンを持つクライアント 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 アタッチメントを確認する

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

Transit Gateway アタッチメントを確認するには (コンソール)
  1. Amazon VPC コンソールの https://console.aws.amazon.com/vpc/ を開いてください。

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

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

  4. 状態が であることを確認しますavailable

Transit Gateway アタッチメントを確認するには (AWS CLI)

[describe-transit-gateway-attachments] コマンドを使用します。

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 コマンドを使用します。

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

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

ルートを管理する

重要

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

ルートを追加するには (コンソール)
  1. Amazon VPC コンソールの https://console.aws.amazon.com/vpc/ を開いてください。

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

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

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

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

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

ルートを追加するには (AWS CLI)

--target-vpc-subnet-id パラメータなしで create-client-vpn-route コマンドを使用します。

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/ を開いてください。

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

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

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

ルートを削除するには (AWS CLI)

delete-client-vpn-route コマンドを使用します。

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

認可を設定

重要

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

認可ルールを追加するには (コンソール)
  1. Amazon VPC コンソールの https://console.aws.amazon.com/vpc/ を開いてください。

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

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

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

  5. アクセスを許可するには、次のいずれかを選択します。

    • すべてのユーザーへのアクセスを許可する — 認証されたすべてのクライアントが送信先ネットワークにアクセスできます。

    • 特定のアクセスグループのユーザーへのアクセスを許可するアクセスグループ ID に Active Directory グループ SID または IdP グループ名を入力します。

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

認可ルールを追加するには (AWS CLI)

authorize-client-vpn-ingress コマンドを使用します。

次の例では、すべてのユーザーに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

アベイラビリティーゾーンの管理

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

単一のアベイラビリティーゾーンを追加するには (AWS CLI)

--availability-zone パラメータを指定して associate-client-vpn-target-network コマンドを使用します。

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 コマンドを使用して、アベイラビリティーゾーンの関連付け ID を見つけます。

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

次に、関連付け ID で disassociate-client-vpn-target-network コマンドを使用します。

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

クロスアカウント Transit Gateway アクセス

別の 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 コマンドを使用してリソース共有を受け入れます。共有を受け入れると、クライアント VPN エンドポイントの作成時に Transit Gateway ID ドロップダウンに Transit Gateway が表示されます。

考慮事項と制限事項

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 フローログを有効にして、Transit Gateway との間で送受信される IP トラフィックに関する情報をキャプチャできます。クライアント VPN 接続ログを有効にして、クライアント VPN 接続イベントに関する情報をキャプチャできます。

    • Transit Gateway フローログイベントをクライアント VPN 接続に関連付けるには、Transit Gateway フローログイベントのクライアント IP とタイムスタンプを、クライアント VPN 接続ログの同じクライアント IP と期間と比較します。

  • インターネット接続

    • Transit Gateway でクライアント VPN を介してインターネットにアクセスするには、分割トンネルなしで、アタッチされた VPC に NAT が設定されている必要があります。