LoginSignup
5
7

More than 3 years have passed since last update.

AWS Client VPN でインターネットに出れるVPNを作る

Last updated at Posted at 2019-08-04

いまさらEC2でOpenVPNサーバーなんて立てたくないんじゃ!という思いから調べたら作れました。こいつ、できるぞ....!!

AWS Clinet VPNとは

AWS謹製のフルマネージドのVPNサービスです。OpenVPNです。

VPC 内に入る Client VPN エンドポイントを作る

作例が多々あるので割愛。こんな感じで。普通に作るとこうなります。

VPC 内からインターネットに出る Client VPN エンドポイントを作る

Client VPNからインターネットに出るには

  1. Client VPNに、インターネットに出れるようにしたサブネットを関連付ける
  2. Client VPNに付けるセキュリティグループを、インバウンド/アウトバウンドの両方0.0.0.0/0に開放したものにする
  3. Client VPNにの認証ルールを作る
  4. Client VPNのルートテーブルに、宛先CIDR 0.0.0.0/0、関連付けたサブネット経由、のルートを作る

1,2は、VPCをいじってれば書くほどの話ではないと思います。

3,4が意味不なので補足します。

Client VPNにの認証ルールを作る

これは自動では作られないので、VPC向けと、インターネット向けを作ってあげます。

スクリーンショット 2019-08-04 22.11.17.png

Client VPNのルートテーブルに、宛先CIDR 0.0.0.0/0、関連付けたサブネット経由、のルートを作る

Client VPNにサブネットを関連付けると、Client VPNのルートテーブルには、VPCのCIDRへのルートが作られます。ここに加えて、宛先CIDRを0.0.0.0/0、経由サブネットをそれぞれとした、ルートを追加します。

スクリーンショット 2019-08-04 22.15.47.png

他、ハマりどころ

「クライアント設定のダウンロード」したファイルには、クライアント証明書のパスが書いてない

SoftetherVPNの感じだと、なんか諸々含まれたファイルを期待しちゃうでしょう。Tunnelblickのログを眺めても、まーわからなかった。

クライアント証明書はひとつしか設定できない

差し替えは可能です。とはいえ、ひとつのみということは、退職者や紛失があると、利用者全員に差し替えてもらう必要があります。チームで利用してるなら、クライアント証明書ではなく、ActiveDirectoryで認証するのが、現実的な使い方だと思いました。

Client VPNは、利用者ごとにつくるものではない

Client VPNの制限から、利用者ひとりにつきClient VPNを一個つくって、クライアント証明書で認証させていたら、一瞬で5個を使い果たしてしまいます。VPCにひとつ作り、ADで接続可能なサブネットを区切っていくのが、現実的な使い方だと思いました。

5
7
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
5
7