なんやVPNって全然わからんで…。
せやからAWSを使ってやってみるンゴねぇ…。
まずは、なんでVPNかって話なんやけども、AWSに作ったVPCの中身にプライベートにしたいっちゅうことやね。ほんなら、VPCにVPNで繋いだったらええやんってことらしいで。
ネット上によくあるVPNの説明図見てると、確かに、どこかを経由してどこかに繋がるみたいな、そんな感じやね。
その経由するところを、AWSやとクライアントVPNエンドポイントっちゅうのを利用して実現できるみたいや。
わい <=> クライアントVPNエンドポイント <=> VPC
的な話やな。ほんまにできるんやろか…。
まずは、普通にVPCを作って。
次に、クライアントVPNエンドポイント作ってみるで。
クライアント IPv4 CIDRってなんやねん…
VPCのCIDRとルートが重複しなければいいらしい。としか書いてないんやが…、適当でよさそう…、ほんまに?
次にサーバー証明書がいるみたい…。どないすんのこれ。
普通にCertificateManagerで証明書を作るか認証局を建てるか、どこかで作った証明書をインストールするかみたいなことらしい。
そこで、どうやらec2で自前の認証局を作ったらいいみたいなことがどこかに書いてあった。
その通りにしてみる。
おもむろにAmazon Linux2を起動して、こいつに認証局として動作してもらうで。
手順はこ↑こ↓を参考に。「OpenVPNの設定」の前までやって、サーバー用とクライアント用の鍵っぽいのを集める。
ca、サーバー用のcert、サーバー用のkeyを用意して、Certificate Managerで証明書のインポートを行う。
こ↑こ↓
証明書本文 : cert
証明書のプライベートキー : key
証明書チェーン : ca
ちな、リージョンに注意。
これが終わったら、クライアントVPNエンドポイントの作成に戻ろう。
認証オプションに相互認証を指定して、サーバー証明書 ARN*、クライアント証明書 ARN*、どちらにも先ほどインポートした証明書のARNを指定する。
できたら、このエンドポイントを接続したいサブネットにアタッチする。セキュリティグループを設定し、認証タブで、接続を許可するIPアドレスをCIDR表記で指定する。
これで準備完了。
クライアント設定のダウンロードでクライアント VPN エンドポイントの VPN クライアント設定ファイルをダウンロードし、↑で作っておいたクライアント用のcertとkeyを追記する。
これで、VPN接続ができるようになる。
ようわからんが、TunnelblickっちゅうのがMacやと鉄板なんかな?そいつに設定ファイルをポイーで、VPN接続に成功したで…!
なお、VPNに接続した状態でインターネットに出ていけるようにするには、別途設定が必要の模様や。ルートテーブルで0.0.0.0/0を外に出ていけるサブネットにターゲットしたらええんやな。
が、プライベートなところにアクセスできればいいのであればこれで充分みたいや。確かに、プライベートなIPでさっきのインスタンスとかにも接続できたし。できてる。VPNできてるで。
もう、SSHで踏み台してとかいう時代じゃ無いんか、もしかして…?