SimpleADを使ったユーザー認証でVPN Client接続してEC2にリモートアクセスする。

個人的にあまり構築する機会がなく、設定項目や構築イメージが曖昧なため、備忘録としてポイントをまとめます。


構成

今回構築した構成がこちらです。
ClientVPN接続後、プライベートサブネットにあるADサーバにアクセスするところがゴールです。
また、踏み台サーバは、ADサーバから初期ユーザ作成用なので、今回の構成構築後は削除してもらってOKです。

事前準備しておくもの

VPC,EC2,SGについては事前に構築されているものとします。
今回はClientVPN、SimpleADの設定項目をメインに手順を記載していきます。

SimpleADの作成

AWSコンソールから、SimpleADを作成します。

SimpleADを選びます。


ディレクトリ名は任意で良いです。
今回は検証用なのでサイズもスモールにします。
デフォルトユーザAdministratorのパスワードを設定します。


VPCとサブネットを指定します。サブネットの指定はAZの異なるものを必ず2つ指定しなければいけないので注意。しかもサブネット2つ分の料金がかかるそうなので、その点も留意したいです。


設定を確認し、作成します。


作成すると、ステータスが作成中になります。アクティブ状態になることを確認します。
詳細設定はこんな感じ。
ディレクトリ名とDNSアドレスは次の工程で必要になるのでメモしておいてください。

ADサーバのセットアップとユーザー作成

SimpleADで認証するユーザーについてはAWSコンソールからは設定できないみたいなので、ADサーバを先ほど作成したSimpleADのドメインに参加させる→ユーザー登録するという工程が必要になります。
ここからはADサーバ内での作業になるので、ADサーバに踏み台からRDPアクセスします。
SSHポートフォワードとかで、アクセスしましょう。

サーバマネージャからDNS Server ToolsとAD DS and LDS Toolsをインストールします。
インストールツールを選ぶところ以外はそのままデフォルトで飛ばして大丈夫です。
インストールツールを確認し、インストールを実施します。


次にネットワーク設定の変更をします。コントロールパネル→ネットワークとインターネット設定からイーサネットのプロパティを開きます。IPv4のプロパティを開き、DNS利用にチェックをつけて、先ほど作成されたSimpleADのDNSを指定します。


次にドメイン参加していきます。コントロールパネル→システムセキュリティ→システム→Advanced system settingから、ドメインの変更のボタンを開きます。WorkgroupからDomainに変更し、先ほど作成したSimpleADのドメインを指定します。これでドメイン参加ができました。

このあと一度再起動となるので、再起動を実施します。
ユーザーを作成していくので、再度ADサーバにログインしますが、test.domain\Administratorでログインします。

ユーザー登録していきます。Active Directory Users And Computers設定を開きます。test.domainが出てくることを確認しましょう。Users右クリック→New→Userにて認証ユーザーを作成します。
ユーザー名を入力し、
パスワードを入力します。なお、ClientVPN接続時にパスワードのリセットができないので、一番上のチェックは外しておきます。
認証ユーザの作成が完了しました。

ClientVPNエンドポイントの作成

AWSコンソールに戻って引き続き作業していきます。
VPC→クライアントVPNエンドポイント→エンドポイントを作成ボタンから、エンドポイントを作成していきましょう。


名前、説明、CIDRを設定します。CIDR範囲は/12以上/22以下です。
アドレス範囲の一部は Client VPN エンドポイントの可用性モデルをサポートするために使用され、クライアントに割り当てられません。想定される最大同時接続数の2倍程度がまかなえるような範囲を指定することが推奨されています。
ACMにインポートしたサーバー証明書を指定します。
認証オプションはユーザーベース認証、アクティブディレクトリ認証を指定します。
ディレクトリIDは先ほど作成したSimpleADのディレクトリIDを指定します。
その他のパラメータ設定でVPCやSGを指定していきます。
ここではVPNポートは443を指定していますが、接続中は他のhttps接続できなくなるので、Webサイトとか見れなくなります。接続確認してたら、AWSコンソール見えなくなってしまいましたので注意です(笑)ちなみに1194はopenvpn用のポートになっています。
作成すると、関連付け待ち状態となるので、サブネットを関連付けしていきます。
承認ルールを追加して、アクセス先のネットワークを指定します。
まあ、VPCかサブネットのCIDR指定でいいと思います。

これで、設定は一通り完了です。
ClientVPNの関連付け待ちは10-15分程度で利用可能となります。
AWSコンソールから「クライアント設定をダウンロード」し、ClientVPNを接続していきます。

動作確認

AWS VPN Clientアプリケーションを起動し、ファイルからプロファイルを追加します。
先ほどダウンロードしたクライアント設定ファイルを追加し、接続先の設定完了です。
接続ボタンで接続できます。
AD認証にした場合、ここでユーザーパスワードを求められるので、
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

この記事が気に入ったらサポートをしてみませんか?