AWS Client VPN とは? - AWS クライアント VPN

AWS Client VPN とは?

AWS Client VPN は、AWS リソースやオンプレミスネットワーク内のリソースに安全にアクセスできるようにする、クライアントベースのマネージド VPN サービスです。クライアント VPN を使用すると、OpenVPN ベースの VPN クライアントを使用して、どこからでもリソースにアクセスできます。

クライアント VPN の機能

クライアント VPN には、以下の機能があります。

  • 安全な接続 — OpenVPN クライアントを使用して、あらゆる場所から安全な TLS 接続を提供します。

  • マネージド型サービス — これは AWS マネージドサービスであるため、サードパーティー製のリモートアクセス VPN ソリューションをデプロイして管理するという運用上の負担を取り除きます。

  • 高可用性と高伸縮性 — AWS リソースとオンプレミスリソースに接続しているユーザー数に自動的に対応します。

  • 認証 — Active Directory を使用したクライアント認証、フェデレーション認証、および証明書ベースの認証がサポートされます。

  • きめ細かい制御 — ネットワークベースのアクセスルールを定義することで、カスタムセキュリティ管理を実装できます。これらのルールは、Active Directory グループの詳細度で設定できます。セキュリティグループを使用してアクセス制御を実装することもできます。

  • 使いやすさ — 単一の VPN トンネルを使用して、AWS リソースとオンプレミスリソースにアクセスできます。

  • 管理性 — クライアントの接続試行に関する詳細を提供する接続ログを表示できます。アクティブなクライアント接続を終了する機能で、アクティブなクライアント接続を管理することもできます。

  • 高度な統合 — AWS Directory Service や Amazon VPC などの既存の AWS サービスと統合します。

クライアント VPN のコンポーネント

クライアント VPN の主な概念は次のとおりです。

クライアント VPN エンドポイント

クライアント VPN エンドポイントは、クライアント VPN セッションを有効にして管理するために作成して設定するリソースです。これは、すべてのクライアント VPN セッションの終了ポイントです。

ターゲットネットワーク

ターゲットネットワークは、クライアント VPN エンドポイントに関連付けるネットワークです。VPC からのサブネットはターゲットネットワークです。サブネットをクライアント VPN エンドポイントに関連付けると、VPN セッションを確立できます。高可用性を実現するために、複数のサブネットをクライアント VPN エンドポイントに関連付けることができます。すべてのサブネットは同一の VPC に存在する必要があります。各サブネットは異なるアベイラビリティーゾーンに属している必要があります。

ルート

各クライアント VPN エンドポイントには、利用可能な送信先ネットワークルートを説明したルートテーブルがあります。ルートテーブル内の各ルートは、特定のリソースまたはネットワークへのトラフィックのパスを指定します。

承認ルール

承認ルールは、ネットワークにアクセスできるユーザーを制限します。指定のネットワークに対して、アクセスを許可する Active Directory または ID プロバイダー (IdP) グループを構成します。このグループに属するユーザーだけが、指定のネットワークにアクセスできます。デフォルトでは承認ルールはありません。ユーザーがリソースやネットワークにアクセスできるように承認ルールを設定する必要があります。

クライアント

VPN セッションを確立するためにクライアント VPN エンドポイントに接続するエンドユーザー。エンドユーザーは、OpenVPN クライアントをダウンロードし、作成した Client VPN 設定ファイルを使用して VPN セッションを確立する必要があります。

クライアント CIDR 範囲

クライアント IP アドレスの割り当て元となる IP アドレスの範囲。クライアント VPN エンドポイントへの各接続には、クライアント CIDR 範囲から固有の IP アドレスが割り当てられます。クライアント CIDR 範囲を選択します (例: 10.2.0.0/16)。

クライアント VPN ポート

AWS Client VPN は、TCP と UDP の両方のポート 443 および 1194 をサポートします。デフォルトはポート 443 です。

クライアント VPN ネットワークインターフェイス

サブネットをクライアント VPN エンドポイントに関連付けると、そのサブネットにクライアント VPN ネットワークインターフェイスが作成されます。クライアント VPN エンドポイントから VPC に送信されるトラフィックは、クライアント VPN ネットワークインターフェイスを介して送信されます。次に、ソースネットワークアドレス変換 (SNAT) が適用され、クライアント CIDR 範囲からのソース IP アドレスがクライアント VPN ネットワークインターフェイス IP アドレスに変換されます。

接続ログ

クライアント VPN エンドポイントの接続ログを有効にして、接続イベントをログに記録できます。この情報を使用してフォレンジックを実行したり、クライアント VPN エンドポイントがどのように使用されているかを分析したり、接続の問題をデバッグしたりできます。

セルフサービスポータル

クライアント VPN は、エンドユーザーが AWS VPN Desktop クライアントの最新バージョンとクライアント VPN エンドポイント設定ファイルの最新バージョンをダウンロードするためのウェブページとなるセルフサービスポータルです。このファイルには、エンドポイントへの接続に必要な設定が含まれています。クライアント VPN エンドポイント管理者は、クライアント VPN エンドポイントのセルフサービスポータルを有効または無効にすることができます。セルフサービスポータルは、米国東部 (バージニア北部)、アジアパシフィック (東京)、欧州 (アイルランド)、および AWS GovCloud (米国西部) リージョンのサービススタックによってサポートされるグローバルサービスです。

クライアント VPN の使用

クライアント VPN は、次のいずれかの方法で使用できます。

AWS Management Console

コンソールは、クライアント VPN 用のウェブベースのユーザーインターフェイスを提供します。AWS アカウント にサインアップした場合は、Amazon VPC コンソールにサインインして、ナビゲーションペインで [Client VPN] (クライアント VPN) を選択できます。

AWS Command Line Interface (AWS CLI)

AWS CLI では、クライアント VPN のパブリック API への直接アクセスが可能です。Windows、macOS、Linux でサポートされています。AWS CLI の使用開始に関する詳細については、「AWS Command Line Interface ユーザーガイド」を参照してください。クライアント VPN のコマンドの詳細については、AWS CLI コマンドリファレンスを参照してください。

AWS Tools for Windows PowerShell

AWS は、PowerShell 環境でスクリプトを作成するユーザー向けに、さまざまな AWS 製品用のコマンドを提供しています。AWS Tools for Windows PowerShell の使用開始に関する詳細については、「AWS Tools for Windows PowerShell ユーザーガイド」を参照してください。クライアント VPN のコマンドレットの詳細については、「AWS Tools for Windows PowerShell コマンドレットリファレンス」を参照してください。

クエリ API

クライアント VPN HTTPS クエリ API を使用すると、クライアント VPN および AWS にプログラムでアクセスできます。HTTPS クエリ API を使用すると、HTTPS リクエストを直接サービスに発行できます。HTTPS API を使用する場合は、認証情報を使用してリクエストにデジタル署名するコードを含める必要があります。詳細については、「AWS Client VPN アクション」を参照してください。

クライアント VPN の制限とルール

クライアント VPN には、次のルールと制限があります。

  • ユーザー接続ごとに 10 Mbps の帯域幅制限があります。

  • クライアント CIDR 範囲は、関連付けられたサブネットが配置されている VPC のローカル CIDR、またはクライアント VPN エンドポイントのルートテーブルに手動で追加されたルートと重複することはできません。

  • クライアント CIDR 範囲は、ブロックサイズが /22 以上、/12 以下でなければなりません。

  • クライアント CIDR 範囲内のアドレスの一部は、クライアント VPN エンドポイントの可用性モデルをサポートするために使用され、クライアントに割り当てることはできません。したがって、クライアント VPN エンドポイントでサポートする予定の同時接続の最大数を有効にするために必要な IP アドレスの数の 2 倍の数を含む CIDR ブロックを割り当てることをお勧めします。

  • クライアント VPN エンドポイントの作成後にクライアント CIDR 範囲を変更することはできません。

  • クライアント VPN エンドポイントに関連付けられているサブネットは、同じ VPC 内にある必要があります。

  • 1 つのアベイラビリティーゾーンの複数のサブネットをクライアント VPN エンドポイントに関連付けることはできません。

  • クライアント VPN エンドポイントは、専有テナント VPC でのサブネットの関連付けをサポートしていません。

  • クライアント VPN は、IPv4 トラフィックのみをサポートしています。IPv6 の詳細については、「AWS クライアント VPN の IPv6 に関する考慮事項」を参照してください。

  • クライアント VPN は、連邦情報処理規格 (FIPS) に準拠していません。

  • セルフサービスポータルは、相互認証を使用して認証するクライアントでは利用できません。

  • IP アドレスを使用して、クライアント VPN エンドポイントに接続することはお勧めしません。クライアント VPN はマネージドサービスであるため、DNS 名が解決する IP アドレスに変化が見られる場合があります。さらに、クライアント VPN ネットワークインターフェイスが削除され、CloudTrail ログに再作成されるのがわかります。クライアント VPN エンドポイントへの接続には、提供された DNS 名を使用することをお勧めします。

  • AWS クライアント VPN デスクトップアプリケーションを使用している場合、IP 転送は現在無効です。2018 年 12 月 18 日のサービス開始以降、NIST が報告した問題に対処するに無効になっています。ただし、一部のお客様がサービスでこの機能を必要とする可能性があることを理解しています。現時点では特定の日付は決まっていませんが、今後のリリースで IP 転送を安全に有効にする予定です。

  • クライアント VPN は、AWS Managed Microsoft AD でのマルチリージョンレプリケーションをサポートしていません。クライアント VPN エンドポイントは、AWS Managed Microsoft AD リソースと同じリージョン内にある必要があります。

  • Active Directory で多要素認証 (MFA) が無効になっている場合、ユーザーパスワードで次の形式を使用することはできません。

    SCRV1:base64_encoded_string:base64_encoded_string
  • オペレーティングシステムに複数のユーザーがログインしている場合、このコンピュータから VPN 接続を確立することはできません。

クライアント VPN の料金

それぞれのエンドポイントアソシエーションと各 VPN 接続について、時間単位で課金されます。詳細については、AWS Client VPN 料金表を参照してください。

Amazon EC2 からインターネットへのデータ転送に対して課金されます。詳細については、「Amazon EC2 オンデマンド料金」ページの「データ転送」を参照してください。

クライアント VPN エンドポイントの接続ログを有効にする場合は、アカウントに CloudWatch Logs ロググループを作成する必要があります。ロググループの使用には料金がかかります。詳細については、「Amazon CloudWatch の料金」(有料 Tierの下で、ログを選択)を参照してください。

クライアント VPN エンドポイントでクライアント接続ハンドラーを有効にする場合は、Lambda 関数を作成して呼び出す必要があります。Lambda 関数の呼び出しには料金がかかります。詳細については、AWS Lambda 料金表を参照してください。