AWS Client VPN
管理者ガイド

クライアント VPN の使用開始

以下のタスクは、クライアント VPN に慣れるのに役立ちます。このチュートリアルでは、次の処理を実行する クライアント VPN エンドポイントを作成します。

  • 単一の VPC へのアクセスを提供します。

  • インターネットへのアクセスを提供します。

  • 相互認証を使用します。詳細については、「相互認証」を参照してください。

前提条件

この入門チュートリアルを完了するには、以下が必要です。

  • クライアント VPN エンドポイントを操作するために必要なアクセス許可。

  • 少なくとも 1 つのサブネットを持つ VPC、インターネットゲートウェイ、およびインターネットゲートウェイへのルート。

ステップ 1: サーバーおよびクライアント証明書とキーの生成

このチュートリアルでは、相互認証が使用されます。相互認証では、クライアント VPN は証明書を使用して、クライアントとサーバーの間で認証を実行します。

サーバーとクライアント証明書とキーを生成する手順については、「相互認証」を参照してください。

ステップ 2: クライアント VPN エンドポイントを作成する

クライアント VPN エンドポイントを作成するとき、VPN 接続を確立するためにクライアントが接続できる VPN 構造を作成します。

クライアント VPN エンドポイントを作成した後、以下のことに注意してください。

  • クライアント VPN エンドポイントの初期状態は pending-associate です。クライアントは、少なくとも 1 つのターゲットネットワークを関連付けた後でのみ、VPN 接続を確立できます。

  • クライアント VPN エンドポイント DNS 名を受け取ります。これは、VPN 接続を確立するためにクライアントが使用する DNS 名です。

  • クライアント VPN エンドポイントの設定ファイルをダウンロードできます。このファイルは、VPN に接続する必要があるクライアントに提供できます。

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

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

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

  3. (オプション) [説明] に、クライアント VPN エンドポイントの簡単な説明を入力します。

  4. [Client IPv4 CIDR (クライアント IPv4 CIDR)] に、CIDR 表記で IP アドレス範囲を指定し、そこからクライアント IP アドレスを割り当てます。

    注記

    IP アドレス範囲は、ターゲットネットワークまたは クライアント VPN エンドポイントに関連するいずれかのルートと重複できません。クライアント CIDR は、/16~/22 の範囲のブロックサイズが必要で、VPC CIDR またはルートテーブル内のその他のルートと重複できません。

    重要

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

  5. [Server certificate ARN (サーバー証明書 ARN)] に、サーバーによって使用される TLS 証明書の ARN を指定します。クライアントは、接続先の クライアント VPN エンドポイントを認証するためにサーバー証明書を使用します。

    注記

    サーバー証明書は AWS Certificate Manager (ACM) でプロビジョニングする必要があります。

  6. VPN 接続を確立するとき、クライアントを認証するために使用する認証方法を指定します。相互証明書認証を使用するには、[Use mutual authentication (相互認証の使用)] を選択し、[クライアント証明書 ARN] にステップ 1 で生成したクライアント証明書の ARN を指定します。

  7. Amazon CloudWatch Logs を使用してクライアント接続に関するデータをログに記録するかどうかを指定します。[Do you want to log the details on client connections? (クライアント接続の詳細を記録しますか?)] で、次のいずれかの操作を行います。

    • クライアント接続のログ記録を有効にするには、[はい] を選択し、[CloudWatch Logs log group name (CloudWatch Logs ロググループ名)] に使用するロググループの名前を入力して、[CloudWatch Logs log stream name (CloudWatch Logs ログストリーム名)] に使用するログストリームの名前を入力します。

    • クライアント接続のログ記録を無効にするには、[いいえ] を選択します。

  8. (オプション) DNS 解決に使用する DNS サーバーを指定します。カスタム DNS サーバーを使用するには、[DNS Server 1 IP address (DNS サーバー 1 IP アドレス)] と [DNS Server 2 IP address (DNS サーバー 2 IP アドレス)] に、使用する DNS サーバーの IP アドレスを指定します。VPC DNS サーバーを使用するには、[DNS Server 1 IP address (DNS サーバー 1 IP アドレス)] または [DNS Server 2 IP address (DNS サーバー 2 IP アドレス)] に IP アドレスを指定し、VPC DNS サーバー IP アドレスを追加します。

    注記

    クライアントが DNS サーバーに到達できることを確認します。

  9. (オプション) デフォルトでは、クライアント VPN サーバーは UDP 転送プロトコルを使用します。代わりに TCP トランスポートプロトコルを使用するには、[Transport Protocol (トランスポートプロトコル)] の [TCP] を選択します。

    注記

    UDP は通常、TCP よりも優れたパフォーマンスが得られます。

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

クライアント vpn エンドポイントを作成した後、コンソールには、「cvpn-endpoint-0102bc4c2e49f1e44.prod.clientvpn.us-west-2.amazonaws.com」などの DNS 名が表示されます。DNS 名を指定する必要がある場合は、表示名の前にランダムな文字列を指定する必要があり、これにより、形式は「[ランダムな文字列].表示された DNS 名」となります (例: 「asdfa.cvpn-endpoint-0102bc4c2e49f1e44.prod.clientvpn.us-west-2.amazonaws.com」)。

ステップ 3: クライアントの VPN 接続を有効にする

クライアントが VPN セッションを確立できるようにするため、ターゲットネットワークを クライアント VPN エンドポイントに関連付ける必要があります。ターゲットネットワークは、VPC のサブネットです。

最初のサブネットを クライアント VPN エンドポイントに関連付けると、次の処理が実行されます。

  • クライアント VPN エンドポイントの状態が available になります。これで、クライアントは VPN 接続を確立できるようになりましたが、認証ルールを追加するまで VPC 内のリソースにアクセスすることはできません。

  • VPC のローカルルートは、クライアント VPN エンドポイントルートテーブルに自動的に追加されます。

  • VPC のデフォルトのセキュリティグループが、サブネットの関連付けに自動的に適用されます。サブネットを関連付けた後でセキュリティグループを変更することができます。

サブネットを クライアント VPN エンドポイント (コンソール) 関連付けるには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

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

  3. サブネットを関連付ける クライアント VPN エンドポイントを選択し、[関連付け]、[関連付ける] をクリックします。

  4. [VPC] でサブネットがプロビジョニングされている VPC を選択します。

    注記

    関連付ける最初のサブネットには、クライアント VPN エンドポイントと同じアカウントに存在する任意の VPC にある任意のサブネットを選択できます。最初のサブネットを クライアント VPN エンドポイントに関連付けた後、以後のすべてのサブネットの関連付けは、同じ VPC 内から実行する必要がありますが、別のアベイラビリティーゾーンに属している必要があります。

  5. [Subnet to associate (関連付けるサブネット)] で クライアント VPN エンドポイントに関連付けるサブネットを選択します。

  6. [Associate (関連付ける)] を選択します。

ステップ 4: クライアントのネットワークへのアクセスを承認する

関連付けられているサブネットが存在する VPC へのアクセスをクライアントに承認するには、承認ルールを作成する必要があります。承認ルールには、どのクライアントが VPC にアクセスできるかを指定します。このチュートリアルでは、すべてのユーザーにアクセス許可を付与します。

ネットワークターゲットに承認ルールを追加するには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

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

  3. 承認ルールを追加する クライアント VPN エンドポイントを選択し、[Authorization (承認)]、続いて [Authorize ingress (受信を承認する)] を選択します。

  4. [Destination network (送信先ネットワーク)] に、アクセスを許可するネットワークの IP アドレスを CIDR 表記で入力します。

  5. 指定したネットワークにアクセスしてもよいクライアントを指定します。すべてのユーザーにアクセス許可を付与するには、[For grant access to (アクセス許可の付与)] で [Allow access to all users (すべてのユーザーにアクセスを許可する)] を選択します。

  6. [説明] に承認ルールの簡単な説明を入力します。

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

ステップ 5: (オプション) 追加のネットワークへのアクセスを有効にする

AWS サービス、ピア接続 VPC、およびオンプレミスのネットワークなど、VPC に接続されている追加のネットワークへのアクセスを可能できます。追加のネットワークごとにネットワークへのルートを追加し、クライアントアクセスに付与する承認ルールを設定する必要があります。

このチュートリアルでは、インターネットへのルートを追加し、すべてのユーザーにアクセス許可を付与する承認ルールを追加します。

追加のネットワークへのアクセスを有効にするには (コンソール)

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

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

  3. ルートを追加する クライアント VPN エンドポイントを選択し、[ルートテーブル]、次に [Create Route (ルートの作成)] を選択します。

  4. [Route destination (ルートの宛先)] に「0.0.0.0/0」を入力します。

  5. [Target VPC Subnet ID (ターゲット VPC サブネット ID)] には、トラフィックをルーティングするサブネットの ID を指定します。

  6. [説明] にルートの簡単な説明を入力します。

  7. [Create Route (ルートの作成)] を選択します。

  8. ネットワークの承認ルールを追加して、アクセスできるクライアントを指定します。ステップ 4: クライアントのネットワークへのアクセスを承認する のステップを実行します。ステップ 5 では「0.0.0.0/0」を入力し、ステップ 6 では [Allow access to all users (すべてのユーザーにアクセスを 許可する)] を選択します。

ステップ 6: クライアント VPN エンドポイントの設定ファイルをダウンロードする

最後のステップでは、クライアント VPN エンドポイント設定ファイルをダウンロードして準備します。設定ファイルには、クライアント VPN エンドポイントと VPN 接続を確立するために必要な証明書情報が含まれています。VPN 接続を確立するために クライアント VPN エンドポイントに接続する必要があるクライアントにこのファイルを指定する必要があります。クライアントは、VPN クライアントアプリケーションにこのファイルをアップロードします。

クライアント VPN エンドポイント設定ファイルをダウンロードして準備するには (コンソール)

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

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

  3. クライアント VPN 設定をダウンロードする クライアント VPN エンドポイントを選択し、[Download Client Configuration (クライアント設定のダウンロード)] を選択します。

  4. クライアント証明書およびキーをダウンロードした クライアント VPN エンドポイント設定ファイルと同じフォルダにコピーします。クライアント証明書とキーは、クローンされた OpenVPN easy-rsa repo の次の場所にあります。

    • クライアント証明書 — easy-rsa/easyrsa3/pki/issued/client1.domain.tld.crt

    • クライアントキー — easy-rsa/easyrsa3/pki/private/client1.domain.tld.key

  5. 任意のエディタを使用して クライアント VPN エンドポイント設定ファイルを開き、以下をファイルの最後に追加します。

    cert /path/client1.domain.tld.crt key /path/client1.domain.tld.key
  6. クライアント VPN エンドポイント設定ファイルを保存して閉じます。

  7. クライアント VPN エンドポイント設定ファイルをクライアントに配布します。

クライアント VPN エンドポイント設定ファイルをダウンロードして準備するには (AWS CLI)

  1. クライアント VPN エンドポイント設定ファイルをダウンロードします。

    $ aws ec2 export-client-vpn-client-configuration --client-vpn-endpoint-id endpoint_id --output text>client-config.ovpn
  2. ステップ 1 で生成されたクライアント証明書およびキーを、ダウンロードした クライアント VPN エンドポイント設定ファイルと同じフォルダにコピーします。クライアント証明書とキーは、クローンされた OpenVPN easy-rsa repo の次の場所にあります。

    • クライアント証明書 — easy-rsa/easyrsa3/pki/issued/client1.domain.tld.crt

    • クライアントキー — easy-rsa/easyrsa3/pki/private/client1.domain.tld.key

  3. クライアント証明書とキーを クライアント VPN エンドポイント設定ファイルに追加します。

    $ cat >> client-config.ovpn cert /path/client1.domain.tld.crt key /path/client1.domain.tld.key
  4. クライアント VPN エンドポイント設定ファイルをクライアントに配布します。