こんにちは! 久しぶりに記事を書きます。 さて、12月18日に AWS Client VPN という新しいサービスが発表されました。
Introducing AWS Client VPN to Securely Access AWS and On-Premises Resources https://aws.amazon.com/jp/about-aws/whats-new/2018/12/introducing-aws-client-vpn-to-securely-access-aws-and-on-premises-resources/
今までAWSとオンプレミスのネットワークをVPNで接続する場合は、ハードウェアかサーバを用意してのソフトウェアVPNが必要でした。 AWS Client VPN を利用することで、ソフトウェアVPNを利用する場合でもサーバを用意する必要がなくなりました。
早速、作成してみましょう。 Tokyoリージョンでは使用できない(2018年12月20日現在)ので、バージニアリージョンで作成します。 今回はmutual authenticationを利用するので、前準備します。
前準備
OpenVPNクライアントとサーバで利用する証明書を作成します。 今回はAmazon Linuxで作成しています。基本的にはコマンドをうっていくだけです。
$ git clone https://github.com/OpenVPN/easy-rsa.git $ cd easy-rsa/easyrsa3 $ ./easyrsa init-pki ### build-ca したときにCommon Nameの入力を求められるので入力する $ ./easyrsa build-ca nopass $ ./easyrsa build-server-full server nopass $ ./easyrsa build-client-full client1 nopass
下記ファイルはクライアント接続時に使用するのでダウンロードしておきます。 /easy-rsa/easyrsa3/pki/issued/client1.crt /easy-rsa/easyrsa3/pki/client1.key
下記ファイルをACMにアップロードします。 /easy-rsa/easyrsa3/pki/ca.crt /easy-rsa/easyrsa3/pki/issued/server.crt /easy-rsa/easyrsa3/pki/private/server.key 適当なディレクトリにまとめて、コマンドでアップロードします。
$ aws acm import-certificate --certificate file://server.crt --private-key file://server.key --certificate-chain file://ca.crt --region us-east-1
これで前準備は終わりです。
Client VPN Endpointの作成
Client VPNはVPCのVirtual Private Networkのとこにあります。
[Create Client VPN Endpont]をクリックします。
[Use mutual authentication]を選択して、
[Server certificate ARN]と[Client certificate ARN]は先ほど作成した証明書を指定しておきます。
CIDRは/22より小さいとだめです。/24とかだと設定できないので注意です。
とりあえず、他は設定入れないでいきます。
無事に作成が完了したら、[Associations]とか[Authorization]とかを設定します。
[Associations]では割り当てるVPCとsubnetを指定します。Associationsを指定しないとずっとPendig-associateのままです。
その他のVPN Endpointの設定が完了したら、[Download Client Configurations]をクリックしてコンフィグをダウンロードしておきます。
クライアントから接続
ダウンロードしてきたコンフィグに次を追記します。
cert client1.crt key client1.key
追記したらopenvpnクライアントに設定ファイルをインポートします。 インポートしたら先ほどダウンロードしてきたファイルをopenvpnの設定ファイルが保存されたフォルダにコピーします。 多分デフォルトだと次のパスになります。(違ってたらごめんなざい C:\Users\ユーザ名\OpenVPN\config\コンフィグファイル名\
後はクライアントから接続するだけです。
接続すると、指定したCIDERブロック内のIPアドレスが割り当てられるのがわかります。
ここまできたら指定したサブネット内にあるサーバへ接続ができると思います。
簡単にソフトウェアVPN経由でAWSのセグメントに接続できましたね。 はやくTokyoリージョンで使ってみたいですね。
時間があれば、Active Directory認証も紹介したいと思います。