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 は、次のいずれかの方法で使用できます。

Amazon VPC コンソール

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

AWS Command Line Interface (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 には、次のルールと制限があります。

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

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

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

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

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

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

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

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

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

  • Active Directory で Multi-Factor Authentication (MFA) が無効になっている場合、ユーザーパスワードを次の形式にすることはできません。

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

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

クライアント VPN の料金

クライアント VPN エンドポイントごとにアクティブアソシエーションごとに時間単位で請求されます。請求額は、時間単位で案分されます。

各クライアントの1 時間あたりの VPN 接続に対して請求されます。請求額は、時間単位で案分されます。

詳細については、「AWS Client VPN の料金」を参照してください。

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

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