以前、下記の記事を書きましたが、この記事は”Client VPN”環境が構築済みの前提での接続手順でした。今回は、その”Client VPN”環境の構築に関してです。

構築の流れは、以下の通りです。
- サーバ証明書の準備
- OpenVPNのダウンロードとインストール
- サーバ証明書の作成
- “Directory Service”の準備
- “Route 53 Resolver”のインバウンドエンドポイントを準備
- “Client VPN”の作成
- クライアントVPNエンドポイントの作成
- サブネットの関連付け
- 受信の承認(アクセスを有効にする送信先の設定)
- “Client VPN”へのVPN接続
サーバ証明書の準備
「認証 – AWS クライアント VPN」に詳しい手順が書かれており、Windows上でのサーバ証明書の作成部分は下記となります。
上記の手順を具体的に以下で実施していきます。
OpenVPNのダウンロードとインストール
「Community Downloads | OpenVPN」からWindows(64-BIT)のインストーラーをダウンロードしてインストールします。

いきなり「Install Now」は行わず、「Customize」します。

手順の通り「EasyRSA 3 Certificate Management Scripts」の「Will be installed on local hard drive」を選択して「Install Now」します。

サーバ証明書の作成
コマンドプロンプトを管理者として実行します。(上述の手順には記載されていません)

上述の手順に従い、コマンドを実行します。今回は「相互認証」は利用せず、”Active Directory 認証”のみの利用なので、サーバ証明書の作成までです。(クライアント証明書は作成しません)
> C:
> cd \Program Files\OpenVPN\easy-rsa
> EasyRSA-Start
...
# ./easyrsa init-pki
...
# ./easyrsa build-ca nopass
...
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:xxx.xxx.xxx.xxx
...
# ./easyrsa build-server-full server nopass
...Code language: PHP (php)
“Client VPN”の構築に必要なファイルは、下記に作成されます。
- 証明書: C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.crt
- プライベートキー: C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key
- 証明書チェーン: C:\Program Files\OpenVPN\easy-rsa\pki\ca.crt
ACM(AWS Certificate Manager)に証明書をインポート
AWSコンソール(ACM)からインポートします。

上記で作成した各ファイルの「—–BEGIN XXXXXXXX—–」から「—–END XXXXXXXX—–」までを貼り付けてインポートします。


“Directory Service”の準備
“Active Directory 認証”を利用するので、以前の記事に従い、”Directory Service”でディレクトリを準備します。

ディレクトリが準備できたら、VPN接続するユーザーも追加しておきますが、下記のようにデフォルトでチェックが入っている「ユーザーは次回ログオン時にパスワード変更が必要」のチェックを外しておく必要があります。(“Client VPN”のセルフサービスポータルにログインできません)

“Route 53 Resolver”のインバウンドエンドポイントを準備
VPNエンドポイントを利用したAWSサービスへのプライベート接続を利用する場合に、”Route 53 Resolver”のインバウンドエンドポイントは必要になります。どうせ、どこかで利用するので、以前の記事に従い、最初から準備しておきます。

インバウンドエンドポイント作成時に割り振られるIPアドレスを、以下の”Client VPN”の設定でのDNSサーバーに入力します。
“Client VPN”の作成
クライアントVPNエンドポイントの作成
AWSコンソール(VPC)から作成できます。

CIDRのネットマスクは”/22″以上にする必要があります。

上記で設定したサーバー証明書とディレクトリを指定します。

当然、クライアント接続ログの出力もします。

上記で設定したDNSサーバー(Resolver)のIPアドレスを指定します。

サブネットの関連付け
サブネットの関連付けが終わるまで”Client VPN”は利用できません。

下記のように、2個のプライベートサブネット(AZ別)を関連付けます。

これで、”Client VPN”が利用可能になりました。

受信の承認(アクセスを有効にする送信先の設定)
“Client VPN”が使用可能になっても、VPNからアクセスできるネットワークを設定しないと何もできません。

サブネットの関連付けで指定したサブネットのCIDR(x2)を指定します。


この状態で、ようやく”Client VPN”が利用できます。

“Client VPN”へのVPN接続
VPNの接続確認は、冒頭で紹介した記事に従って実施することができます。

最後に
上記の内容では、いっさい、セキュリティグループに関して言及しませんでした。とはいえ構築時に、いくつかセキュリティグループは登場するので、通信要件に合わせてセキュリティグループに必要な設定をすることも、忘れないでください!



