SimpleADを使ったユーザー認証でVPN Client接続してEC2にリモートアクセスする。
個人的にあまり構築する機会がなく、設定項目や構築イメージが曖昧なため、備忘録としてポイントをまとめます。
構成
今回構築した構成がこちらです。
ClientVPN接続後、プライベートサブネットにあるADサーバにアクセスするところがゴールです。
また、踏み台サーバは、ADサーバから初期ユーザ作成用なので、今回の構成構築後は削除してもらってOKです。
![](https://assets.st-note.com/img/1705375132824-2H8jZojQF7.png?width=1200)
事前準備しておくもの
VPC,EC2,SGについては事前に構築されているものとします。
今回はClientVPN、SimpleADの設定項目をメインに手順を記載していきます。
SimpleADの作成
AWSコンソールから、SimpleADを作成します。
![](https://assets.st-note.com/img/1705375451662-UqOpwL8eOY.png?width=1200)
![](https://assets.st-note.com/img/1705375486803-FHNXcKE6Ta.png?width=1200)
今回は検証用なのでサイズもスモールにします。
![](https://assets.st-note.com/img/1705375537025-UnYbvP5DPA.png?width=1200)
![](https://assets.st-note.com/img/1705375602361-HzkYEjHrcE.png?width=1200)
![](https://assets.st-note.com/img/1705375767390-KwDWdW7KXH.png?width=1200)
![](https://assets.st-note.com/img/1705375829815-jAFGxStpX9.png?width=1200)
![](https://assets.st-note.com/img/1705376795626-eDUhWuw1nA.png?width=1200)
ディレクトリ名とDNSアドレスは次の工程で必要になるのでメモしておいてください。
ADサーバのセットアップとユーザー作成
SimpleADで認証するユーザーについてはAWSコンソールからは設定できないみたいなので、ADサーバを先ほど作成したSimpleADのドメインに参加させる→ユーザー登録するという工程が必要になります。
ここからはADサーバ内での作業になるので、ADサーバに踏み台からRDPアクセスします。
SSHポートフォワードとかで、アクセスしましょう。
![](https://assets.st-note.com/img/1705376143298-j6zpQJmSKa.png?width=1200)
インストールツールを選ぶところ以外はそのままデフォルトで飛ばして大丈夫です。
![](https://assets.st-note.com/img/1705376437551-HgesppBEUc.png?width=1200)
![](https://assets.st-note.com/img/1705377132269-dD7DX5muEN.png?width=1200)
![](https://assets.st-note.com/img/1705377271406-a5NiEXayjv.png?width=1200)
このあと一度再起動となるので、再起動を実施します。
ユーザーを作成していくので、再度ADサーバにログインしますが、test.domain\Administratorでログインします。
![](https://assets.st-note.com/img/1705377566964-kfp1M0cLJx.png?width=1200)
![](https://assets.st-note.com/img/1705377793532-oKeLpEpscU.png)
![](https://assets.st-note.com/img/1705377912629-WBgO1oNTMe.png)
![](https://assets.st-note.com/img/1705377988674-w3mXdJmXus.png)
ClientVPNエンドポイントの作成
AWSコンソールに戻って引き続き作業していきます。
VPC→クライアントVPNエンドポイント→エンドポイントを作成ボタンから、エンドポイントを作成していきましょう。
![](https://assets.st-note.com/img/1705378199662-xfZvbPIe8e.png?width=1200)
アドレス範囲の一部は Client VPN エンドポイントの可用性モデルをサポートするために使用され、クライアントに割り当てられません。想定される最大同時接続数の2倍程度がまかなえるような範囲を指定することが推奨されています。
![](https://assets.st-note.com/img/1705378350689-bOeS64V2cw.png?width=1200)
認証オプションはユーザーベース認証、アクティブディレクトリ認証を指定します。
ディレクトリIDは先ほど作成したSimpleADのディレクトリIDを指定します。
![](https://assets.st-note.com/img/1705379031108-ItK5i08sNb.png?width=1200)
ここではVPNポートは443を指定していますが、接続中は他のhttps接続できなくなるので、Webサイトとか見れなくなります。接続確認してたら、AWSコンソール見えなくなってしまいましたので注意です(笑)ちなみに1194はopenvpn用のポートになっています。
![](https://assets.st-note.com/img/1705379306346-bH98kqleCF.png?width=1200)
![](https://assets.st-note.com/img/1705379405489-d4IJvLrZDZ.png?width=1200)
まあ、VPCかサブネットのCIDR指定でいいと思います。
これで、設定は一通り完了です。
ClientVPNの関連付け待ちは10-15分程度で利用可能となります。
AWSコンソールから「クライアント設定をダウンロード」し、ClientVPNを接続していきます。
動作確認
![](https://assets.st-note.com/img/1705379738482-zVTrbgg1Dy.png?width=1200)
先ほどダウンロードしたクライアント設定ファイルを追加し、接続先の設定完了です。
接続ボタンで接続できます。
![](https://assets.st-note.com/img/1705379882620-Q2QzMDxN0A.png)
ADサーバにて追加したユーザーパスワードを入力し接続となります。
構築後踏み台サーバを削除・停止すれば、プライベートサブネットのサーバに外部から接続できるようになります。長くなりましたが、手順の紹介はここまでとなります。
なお、ここではセキュリティグループの設定などは省略しております。接続不備がある際は、セキュリティグループの設定に注意してください。
あまり、構築する機会がない構成でしたが、記事にすることで頭の中で手順の整理をすることができました。
つたない記事ですが、どなたかの参考になれば幸いです。
参考
https://dev.classmethod.jp/articles/aws-directory-service-user-add-console/
https://dev.classmethod.jp/articles/active-directory-authentication-aws-client-vpn/
https://www.ryucom.co.jp/blog/aws/718#toc_id_2