下記のような”Directory Service”を使って”Active Directory 認証”の設定がされた”Client VPN”への接続方法(Mac)です。

“Client VPN”に接続するユーザーを準備
事前に上記の環境で”Client VPN”に接続するユーザーをディレクトリに作成しておく必要があります。



デフォルトでは「ユーザーは次回ログオン時にパスワード変更が必要」にチェックが入っていますが、外しておく必要があります。
セルフサービスポータルにログインしてVPNクライアントとVPN設定ファイルのダウンロード
AWSコンソール(VPN)の「クライアント VPN エンドポイント」から、下記のようにセルフサービスポータルのURLが確認できます。

上記で作成したユーザーでログインします。

ログインするとVPNクライアントとVPN設定ファイルがダウンロードできます。

VPN設定ファイルをVPNクライアントに登録
ダウンロードしたVPNクライアントをインストールした後、下記のようにVPN設定ファイルを追加します。


VPN設定ファイルは、上述のセルフサービスポータルからダウンロードしたものを設定します。


設定が完了すると、上述のユーザーで接続できます。


VPN接続の確認
“Route 53 Resolver”(IPアドレスがVPCのプライベートサブネット)で名前解決できていることが確認できます。
% nslookup media.suz-lab.co.jp
Server: 10.0.2.178
Address: 10.0.2.178#53
Non-authoritative answer:
media.suz-lab.co.jp canonical name = suzlabcojp.wordpress.com.
suzlabcojp.wordpress.com canonical name = lb.wordpress.com.
Name: lb.wordpress.com
Address: 192.0.78.12
Name: lb.wordpress.com
Address: 192.0.78.13Code language: PHP (php)
ルーティングもVPC(10.0.0.0/16)宛がVPN接続のネットワークインターフェイス(utun)に向いていることがわかります。
% netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
...
10/16 10.0.252.161 UGSc utun19
10.0.252.160/27 10.0.252.162 UGSc utun19
10.0.252.162 10.0.252.162 UH utun19
...
最後に
上記のように、AWSなら簡単にユーザー名とパスワードでの認証(Active Directory 認証)でのVPN環境が実現できます。接続ログも出力できるので、共有のユーザー情報でログインするシステムがあっても、前段に”Client VPN”をはさみ”Active Directory 認証”することで、利用者特定の精度が上がるはずです!


