とあるAWS環境でDirect Connectでの接続と、VPN接続を両方行っているVPCの再構築を行うことになりました。
当初は「うわ、ルータ設定とか全部やり直しになんの!?」って思っていましたが、調べてみたら全然簡単でした。
だいぶ端折っていますが、環境はこんな感じ。
AWS側
- 現行VPC(10.0.0.0/16)
- 新規構築VPC(新しいCIDRで再構築 10.1.0.0/16)
- VGW(これが無いと始まらない)
- Direct Connect Gateway(VGWを関連付け)
- カスタマーゲートウェイ(サイト間VPN用設定に必要)
オンプレミス(顧客)側
- サブネット(10.100.0.0/16)
オンプレミス(オフィス)側
- サブネット(192.168.0.0/24)
で、実際に行う作業はこれだけ。
作業内容
- 再構築前のVPCからVGWをデタッチ
(※デタッチしたことでVGWとDirect Connect Gatewayとの関連付けもなくなるので注意!) - 新たに構築したVPCへVGWをアタッチ
- VGWをアタッチしたVPCに紐づくルートテーブルで「Route Propagation(ルート伝播)」を有効化(※1)
- VPCにアタッチしたVGWをDirect Connect Gatewayに再度関連付け実施
その際に「許可されたプレフィックス(Allowed prefixes)」を新しいVPCのCIDRで設定(※2)
----------
※1 ルート伝搬を有効化する前に通信に必要なルーティングを追加しておくようにする
※2 オンプレ側に許可してもらうための広告を実施するので、通信に必要なサイズのCIDRでもOK
----------
注意しなければいけないのが、セキュリティグループの設定。
新規に作る場合は良いのですが、既存の設定をコピーして作成する時にインバウンド/アウトバウンドのソースIPの書き換えを忘れがちです。
これを忘れると、後で「え?何?なんで通信できないの? BGPのステータスもUPになってるし、VPNも利用可能なのに..」と言った感じで、途方に暮れた挙げ句、全然関係ないルートテーブルをいじったりする羽目になります(私です)。
今回はVGWの付け替えでの対応だったのですが、どうせならばTransit Gatewayでの設定にすればよかったなぁと思っています。
が、何分自分の環境ではないため、思いきれなかったのは事実です。
今度、自分の検証環境でVPN接続をTransit Gateway経由に変更してみようかなと思います。
今回の記事も誰かのお役に立てれば幸いです。