AWS Client VPNを使ってVPN接続してみよう

こんにちは!
久しぶりに記事を書きます。
さて、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 VPNVPCのVirtual Private Networkのとこにあります。

Client VPN Endpointの作成

[Create Client VPN Endpont]をクリックします。
Create Client VPN Endpont

[Use mutual authentication]を選択して、
[Server certificate ARN]と[Client certificate ARN]は先ほど作成した証明書を指定しておきます。
CIDRは/22より小さいとだめです。/24とかだと設定できないので注意です。
とりあえず、他は設定入れないでいきます。
  [Use mutual authentication]を選択   [Use mutual authentication]を選択

 

無事に作成が完了したら、[Associations]とか[Authorization]とかを設定します。
[Associations]では割り当てるVPCとsubnetを指定します。Associationsを指定しないとずっとPendig-associateのままです。
VPCとsubnetを指定 [Associations] 設定  

その他のVPN Endpointの設定が完了したら、[Download Client Configurations]をクリックしてコンフィグをダウンロードしておきます。

クライアントから接続

ダウンロードしてきたコンフィグに次を追記します。

cert client1.crt
key client1.key

追記したらopenvpnクライアントに設定ファイルをインポートします。
インポートしたら先ほどダウンロードしてきたファイルをopenvpnの設定ファイルが保存されたフォルダにコピーします。
多分デフォルトだと次のパスになります。(違ってたらごめんなざい
C:\Users\ユーザ名\OpenVPN\config\コンフィグファイル名\

後はクライアントから接続するだけです。
接続すると、指定したCIDERブロック内のIPアドレスが割り当てられるのがわかります。
CIDERブロック内のIPアドレス OpenVPN接続 ここまできたら指定したサブネット内にあるサーバへ接続ができると思います。

簡単にソフトウェアVPN経由でAWSのセグメントに接続できましたね。
はやくTokyoリージョンで使ってみたいですね。

時間があれば、Active Directory認証も紹介したいと思います。

 

 

 

AWS相談会