自宅環境とAWSとの間をVPN接続することを試してみました。
結論から言うと問題なくVPN接続はできたのですが、AWSのVPNは現状アグレッシブモードに対応していないため、長期運用する場合は自宅側に固定グローバルIPが必須になります。私の場合は固定ではなく動的グローバルIPなため、テスト的にVPN接続することはできた・・というものになります。よって自宅機器のグローバルIPが変更になったらVPNも当然切れてしまいます。あくまでお試しというレベル。
実施したことは至ってシンプルですが、メモとして記載しておきます。
<AWS側の作業>
・VPCを作成
→AWS上で使用するCIDRを指定
・subnetを作成
→上記CIDRから今回使用するサブネットとして切り出し
・EC2を作成
→自宅=AWSとの疎通確認用に準備 上記サブネットへ接続する
セキュリティグループ設定でPING応用するようにルール追加
★ここから今回メインのVPNに必要な作業
・カスタマーゲートウェイを作成
→VPN接続先を指定する設定 自宅グローバルIPを指定する
・仮想プライベートゲートウェイを作成
→AWS側の仮想VPN装置を作成 作成した後に、VPCにアタッチする必要あり
・サイト間のVPN接続の作成
→上記で作成したカスタマーゲートウェイ・仮想プライベートゲートウェイなどを結びつける設定
→静的IPプレフィックスには自宅のローカルサブネットを指定●
・設定のダウンロード
→AWS上で自宅機器向けの設定サンプルをダウンロード 私はCisco設定をダウンロード
<自宅側の作業>
・作業前確認として、自宅側ルータからAWSのVPN接続先IPへPingで疎通確認
→Pingが飛ばない場合は、ACLの設定やルーティングなどを確認 疎通性がないとVPN張れないため
・ダウンロードしたCisco設定を実施へ投入
→ダウンロードした設定ファイルにはTunnelインタフェースが2つあったが、今回はテストなため1つのみ投入
→ダウンロードした設定ファイルにはoption設定があったが、今回はテストなため一旦無視
→自宅ルータにはACLを設定しているため、VPN接続用の許可ACLを追加●
→設定したtunnelインタフェースをno shutdownし、ステータスがUpになることを確認する。
(自宅環境はそれぞれ構成差異があると思うので、必要に応じて追加/修正は必要と思います)
・自宅PCからAWS上に作っておいたEC2へPingで疎通確認
→Ping問題なし tracertで経路確認
私がハマったポイントは●をつけた2箇所。
・はじめてVPN設定したときは、静的IPプレフィックスに何を書くべきなのかよくわからなかった。
・自宅ルータのACLでdropされていて、ISAKAMP/IPSECのやりとりができず、tunnelインタフェースがUPにならなかった。
もともとオンプレ機器でIPSECは使ったことがあるので基本的な理解はありましたが、AWS用語が最初よくわからず悩みましたが、賞味半日ぐらいで無事にVPNつなげることができました。
なお、自宅で固定グローバルIPを取得しようとすると1IPで月額5000ほどするので高額。
アグレッシブモードに対応したVPN装置をEC2で立てることで対応できそうだが、EC2x1台分のコストが余計に発生する。AWSさんが動的グローバルIPでもVPN接続に対応できるようになってくれるのを期待!です。
今後AWSおよびVPN接続をどうするかは別途検討。。。
なお、請求ダッシュボードで確認したところVPN費用は以下でした。
$0.048 per VPN Connection-Hour
0.048*119yen*24h*31d = 4249.728 月額4250円は個人で払うにはちょっと高いですね。。
今日はこれぐらいにします。
参考にさせていただいたサイト
https://infrastructure-engineer.com/tcpip-advanced-0003/
VPNのアグレッシブモードについて
https://www.infraexpert.com/study/ipsec24.html
2022/3/21追記
上記はテスト的にVPN接続していたということもあり、後日AWSから下記のメールが届きました。
参考までに内容記載しておきます。
表題 : Important notice about your AWS Account regarding VPN connections
内容:You’re receiving this message because you have at least one VPN Connection in the ap-northeast-1 Region, for which your VPN Customer Gateway is not using both tunnels. This mode of operation is not recommended as you may experience connectivity issues if your active tunnel fails.
・・・
For Static VPNs, enabling both tunnels may lead to asymmetric routing, which will need to be permitted by your Customer Gateway Device. For configuration options, please refer to your vendor specific documentation.
上記はメール抜粋ですが、要するに1つだけVPN接続しているけど、耐障害性を上げるために2つのVPN接続してね!ということです。
また、2つVPN接続する際は、非対称ルーティングになる可能性があるので注意してね!ということです。
2022/3/22追記
VPN接続ですが通信有無にかかわらず課金されますのでご注意ください。
試しに、オンプレのCiscoルータ側でVPN用インタフェース(tunnel)をshutdownさせておいたのですが、課金は継続していました。
AWSの請求書にて、$0.048 per VPN Connection-Hourの時間がカウントアップしていました。。