クライアント VPN の開始方法
以下のタスクは、クライアント VPN に慣れるのに役立ちます。このチュートリアルでは、次の処理を実行するクライアント VPN エンドポイントを作成します。
-
すべてのクライアントが 1 つの VPC にアクセスできるようにします。
-
すべてのクライアントがインターネットにアクセスできるようにします。
-
相互認証を使用します。
次の図は、このチュートリアルを完了した後の VPC とクライアント VPN エンドポイントの設定を示しています。

ステップ
前提条件
この入門チュートリアルを完了するには、以下が必要です。
-
クライアント VPN エンドポイントを操作するために必要なアクセス許可。
-
少なくとも 1 つのサブネットとインターネットゲートウェイを持つ VPC。サブネットに関連付けられているルートテーブルには、インターネットゲートウェイへのルートが必要です。
ステップ 1: サーバーおよびクライアント証明書とキーの生成
このチュートリアルでは、相互認証が使用されます。相互認証では、クライアント VPN は証明書を使用してクライアントとサーバー間の認証を実行します。
サーバーとクライアント証明書とキーを生成する手順の詳細については、「相互認証」を参照してください。
ステップ 2: クライアント VPN エンドポイントを作成する
クライアント VPN エンドポイントを作成するとき、VPN 接続を確立するためにクライアントが接続できる VPN 構造を作成します。
クライアント VPN エンドポイントを作成するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [Client VPN Endpoint (クライアント VPN エンドポイント)] を選択し、[Create Client VPN Endpoint (クライアント VPN エンドポイントの作成)] を選択します。
-
(オプション) クライアント VPN エンドポイントの名前と説明を入力します。
-
[Client IPv4 CIDR (クライアント IPv4 CIDR)] に、CIDR 表記で IP アドレス範囲を指定し、そこからクライアント IP アドレスを割り当てます。たとえば、
10.0.0.0/22
と指定します。注記 IP アドレス範囲は、ターゲットネットワークまたはクライアント VPN エンドポイントに関連するいずれかのルートと重複できません。クライアント CIDR は、/12~/22 の範囲のブロックサイズが必要で、VPC CIDR またはルートテーブル内のその他のルートと重複できません。クライアント VPN エンドポイントの作成後にクライアント CIDR を変更することはできません。
-
[Server certificate ARN (サーバー証明書 ARN)] に、サーバーによって使用される TLS 証明書の ARN を指定します。クライアントは、接続先のクライアント VPN エンドポイントを認証するためにサーバー証明書を使用します。
注記 サーバー証明書は AWS Certificate Manager (ACM) でプロビジョニングする必要があります。
-
VPN 接続を確立するとき、クライアントを認証するために使用する認証方法を指定します。このチュートリアルでは、[相互認証の使用] を選択し、[クライアント証明書 ARN] で、ステップ 1 で生成したクライアント証明書の ARN を指定します。
-
[クライアント接続の詳細を記録しますか?] で、[いいえ] を選択します。
-
デフォルト設定のまま、[Create Client VPN Endpoint (クライアント VPN エンドポイントの作成)] を選択します。
クライアント VPN エンドポイントの作成時に指定できるその他のオプションの詳細については、「クライアント VPN エンドポイントを作成する」を参照してください。
クライアント VPN エンドポイントを作成すると、その状態は pending-associate
になります。クライアントは、少なくとも 1 つのターゲットネットワークを関連付けた後でのみ、VPN 接続を確立できます。
ステップ 3: クライアントの VPN 接続を有効にする
クライアントが VPN セッションを確立できるようにするため、ターゲットネットワークをクライアント VPN エンドポイントに関連付ける必要があります。ターゲットネットワークは、VPC のサブネットです。
サブネットをクライアント VPN エンドポイントに関連付けるには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Client VPN Endpoints (クライアント VPN エンドポイント)] を選択します。
-
サブネットを関連付けるクライアント VPN エンドポイントを選択し、[Associations (関連付け)]、[Associate (関連付ける)] を選択します。
-
[VPC] でサブネットが配置されている VPC を選択します。クライアント VPN エンドポイントの作成時に VPC を指定した場合は、同じ VPC である必要があります。
-
[Subnet to associate (関連付けるサブネット)] でクライアント VPN エンドポイントに関連付けるサブネットを選択します。
-
[Associate (関連付ける)] を選択します。
注記 承認ルールで許可されている場合、クライアントが VPC のネットワーク全体にアクセスするには、1 つのサブネット関連付けで十分です。アベイラビリティーゾーンの 1 つがダウンした場合の高可用性を維持するために、追加のサブネットを関連付けることができます。
最初のサブネットをクライアント VPN エンドポイントに関連付けると、次の処理が実行されます。
-
クライアント VPN エンドポイントの状態が
available
に変わります。これで、クライアントは VPN 接続を確立できるようになりましたが、認証ルールを追加するまで VPC 内のリソースにアクセスすることはできません。 -
VPC のローカルルートは、クライアント VPN エンドポイントルートテーブルに自動的に追加されます。
-
VPC のデフォルトのセキュリティグループが、サブネットの関連付けに自動的に適用されます。
ステップ 4: クライアントのネットワークへのアクセスを承認する
関連付けられているサブネットが存在する VPC へのアクセスをクライアントに承認するには、承認ルールを作成する必要があります。承認ルールには、どのクライアントが VPC にアクセスできるかを指定します。このチュートリアルでは、すべてのユーザーにアクセス許可を付与します。
ネットワークターゲットに承認ルールを追加するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Client VPN Endpoints (クライアント VPN エンドポイント)] を選択します。
-
承認ルールを追加するクライアント VPN エンドポイントを選択し、[Authorization (承認)]、続いて [Authorize Ingress (受信を承認する)] を選択します。
-
[Destination network to enable (有効にする送信先ネットワーク)] に、アクセスを許可するネットワークの CIDR を入力します。たとえば、VPC 全体へのアクセスを許可するには、VPC の IPv4 CIDR ブロックを指定します。
-
[アクセスを付与する対象] で、[すべてのユーザーにアクセスを許可する] を選択します。
-
[説明] に承認ルールの簡単な説明を入力します。
-
[Add authorization rule (承認ルールを追加する)] を選択します。
-
VPC 内のリソースのセキュリティグループに、サブネット関連付けのセキュリティグループからのアクセスを許可するルールがあることを確認します。これにより、クライアントが VPC 内のリソースにアクセスできるようになります。詳細については、「セキュリティグループ」を参照してください。
ステップ 5: (オプション) 追加のネットワークへのアクセスを有効にする
AWS のサービス、ピア接続 VPC、およびオンプレミスのネットワークなど、VPC に接続されている追加のネットワークへのアクセスを可能できます。追加のネットワークごとにネットワークへのルートを追加し、クライアントアクセスに付与する承認ルールを設定する必要があります。
このチュートリアルでは、インターネットへのルートを追加し (0.0.0.0/0
)、すべてのユーザーにアクセス許可を付与する承認ルールを追加します。
インターネットへのアクセスを有効にするには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Client VPN Endpoints (クライアント VPN エンドポイント)] を選択します。
-
ルートを追加するクライアント VPN エンドポイントを選択し、[Route Table (ルートテーブル)]、次に [Create Route (ルートの作成)] を選択します。
-
[Route destination (ルートの宛先)] に「
0.0.0.0/0
」を入力します。[Target VPC Subnet ID (ターゲット VPC サブネット ID)] には、トラフィックをルーティングするサブネットの ID を指定します。 -
[Create Route (ルートの作成)] を選択します。
-
[Authorization (承認)] を選択し、[Authorize Ingress (入力の承認)] を選択します。
-
[Destination network to enable (有効にする送信先ネットワーク)] で、「
0.0.0.0/0
」と入力し、[すべてのユーザーにアクセスを許可する] を選択します。 -
[Add authorization rule (承認ルールを追加する)] を選択します。
-
トラフィックのルーティングに使用しているサブネットに関連付けられているセキュリティグループで、インターネットとの間の送受信トラフィックが許可されていることを確認します。これを行うには、
0.0.0.0/0
との間のインターネットトラフィックを許可するインバウンドルールとアウトバウンドルールを追加します。
ステップ 6: クライアント VPN エンドポイント設定ファイルをダウンロードする
最後のステップでは、クライアント VPN エンドポイント設定ファイルをダウンロードして準備します。設定ファイルには、クライアント VPN エンドポイントと VPN 接続を確立するために必要な証明書情報が含まれています。VPN 接続を確立するためにクライアント VPN エンドポイントに接続する必要があるクライアントにこのファイルを指定する必要があります。クライアントは、VPN クライアントアプリケーションにこのファイルをアップロードします。
クライアント VPN エンドポイント設定ファイルをダウンロードして準備するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Client VPN Endpoints (クライアント VPN エンドポイント)] を選択します。
-
クライアント VPN エンドポイントを選択し、[Download Client Configuration (クライアント設定のダウンロード)] を選択します。
-
ステップ 1 で生成されたクライアント証明書とキーを見つけます。クライアント証明書とキーは、クローンされた OpenVPN easy-rsa repo の次の場所にあります。
-
クライアント証明書 —
easy-rsa/easyrsa3/pki/issued/client1.domain.tld.crt
-
クライアントキー —
easy-rsa/easyrsa3/pki/private/client1.domain.tld.key
-
-
任意のテキストエディタを使用してクライアント VPN エンドポイント設定ファイルを開き、
<cert>
</cert>
タグ間にクライアント証明書の内容を追加し、<key>
</key>
タグ間にプライベートキーの内容を追加します。<cert>
Contents of client certificate (.crt) file
</cert> <key>Contents of private key (.key) file
</key> -
クライアント VPN エンドポイントの DNS 名の先頭にランダムな文字列を追加します。クライアント VPN エンドポイントの DNS 名を指定する行を見つけ、その前にランダム文字列を追加します。フォーマットは
random_string.displayed_DNS_name
になります。以下に例を示します。-
元の DNS 名:
cvpn-endpoint-0102bc4c2eEXAMPLE.prod.clientvpn.us-west-2.amazonaws.com
-
変更された DNS 名:
asdfa.cvpn-endpoint-0102bc4c2eEXAMPLE.prod.clientvpn.us-west-2.amazonaws.com
-
-
クライアント VPN エンドポイント設定ファイルを保存して閉じます。
-
クライアント VPN エンドポイント設定ファイルをクライアントに配布します。
クライアント VPN エンドポイント設定ファイルの詳細については、「クライアント設定ファイルをエクスポートして設定する」を参照してください。
ステップ 7: クライアント VPN エンドポイントに接続する
AWS が提供するクライアントまたは別の OpenVPN ベースのクライアントアプリケーションを使用して、クライアント VPN エンドポイントに接続できます。詳細については、AWS Client VPN ユーザーガイドを参照してください。