2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Client VPNからのPrivate Subnetアクセス

Last updated at Posted at 2021-07-28

1.目的

オンプレミスからPrivate Subnetへのアクセスは、以下の接続方式などがあります。

  1. 閉域網アクセス(Direct Connect)
  2. VPNアクセス(サイト間VPN)
  3. VPNアクセス(Client VPN)

本記事では、Client VPNの設定方法について解説します。サイト間VPNと比較して専用のルータ等を必要とせずに、作業用PCさえあれば実現可能という観点では、個人利用では最も設定が容易な接続方式だと思います。

image.png

2.手順(AWS側)

VPN接続の認証は 3種類(AD認証, サーバ証明書・クライアント証明書による相互認証、これら組み合わせによる認証)から選択することが可能です。今回は、サーバ証明書・クライアント証明書による相互認証を採用します。まず、認証に必要な証明書を作成します。Githubにアクセス可能な任意のサーバから実行します。

証明書の作成
git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa/easyrsa3
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa build-server-full server nopass
./easyrsa build-client-full client1.domain.tld nopass
mkdir ~/cert_folder/
cp pki/ca.crt ~/cert_folder/
cp pki/issued/server.crt ~/cert_folder/
cp pki/private/server.key ~/cert_folder/
cp pki/issued/client1.domain.tld.crt ~/cert_folder
cp pki/private/client1.domain.tld.key ~/cert_folder/
cd ~/cert_folder/

作成した証明書をACMへインポートします。AWS Management Consolでも登録可能ですが、 以下ではAWS CLIで実行します。

ACMへのインポート
aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt --region ap-northeast-1
aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt --region ap-northeast-1

VPCサービスより、Client VPNエンドポイントを作成します。Client VPN経由でアクセスするPCのネットワークレンジをクライアントIPv4 CIDRに記載します。接続先のVPCとは別のネットワークレンジを指定します。ACMに登録済のサーバ証明書、クライアント証明書も以下キャプチャの通り設定します。

image.png

image.png

Client VPNエンドポイントの作成が完了したら、接続先のVPCのサブネットに関連付けを行います。

image.png

続いて、受信の承認を設定します。接続先のVPCのCIDRブロックを許可するように設定します。

image.png

クライアント設定のダウンロードを行いACMに登録したサーバ証明書と秘密鍵を、設定ファイルの末尾に追加します。

設定ファイルの編集その1
<cert>
※client1.domain.tld.crt(-----BEGIN CERTIFICATE-----~-----END CERTIFICATE-----)の内容※
</cert>

<key>
※client1.domain.tld.key(-----BEGIN PRIVATE KEY-----~-----END PRIVATE KEY-----)の内容※
</key>

そして、その設定ファイルのVPCエンドポイントの値のプレフィックスに任意の文字列を追加します。

設定ファイルの編集その2(設定例です)
aiueo.cvpn-endpoint-XXXXXXXXXXXXXXXX.prod.clientvpn.us-west-2.amazonaws.com

3.手順(オンプレミス側)

サポートのことも考えて、AWS公式のOpen-VPNクライアントツールを使用します。ここからダウンロードすることができます。上記手順でダウンロード&編集した設定ファイルをVPN設定ファイルに取り込みます。

image.png

設定ファイルを取り込み後、VPN接続することが可能です。紐づけたSubnet内のPrivate IPに対してSSHやPINGなどでアクセスすることができます。

その他

Client VPNの設定情報はCloudwatchの統計情報で確認することができます。例えば、ActiveConnectionsCountで0になったらアラートが上がるといったような仕掛けを設けるとよいかもしれません。

image.png

以上

参考情報

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?