こんにちは。エムスリー CTO の矢崎 @Saiya です。
弊社ではクラウド環境の利用や移行を推奨しており、AWS, GCP のマルチクラウドやオンプレミス環境との相互通信を安全に行うために今回 AWS と GCP を VPN で相互接続しました。
しかし、AWS と GCP を VPN で接続する方法は調べると見つけられるのですが、例えば以下の点についてまとめて説明している資料がないため苦労しました:
- GCP の HA VPNでのセットアップ方法
- Classic VPN と HA VPN *1 はかなり仕様が異なるのですが、Classic 前提の情報が多く惑わされやすいです
- 複数の VPC での推奨構成とその実現方法
- GCP と AWS の VPN の IPSec のパラメーター調整の仕方
そこで、本稿では AWS と GCP にある複数の VPC を VPN で相互に接続する構成の全体像とハマりどころ・注意点を筆者の知る範囲でまとめました。
なお、本稿では AWS Transit Gateway *2 やオンプレミスとの専用線・VPNはすでに構築済みとし、それらの設計・構築については触れません。
それらの使い方や設計の勘所・難所・ハマり所については 技術書典8 2日目の *3 スペース お-46
にて頒布予定の エムスリーテックブック2
にて詳述いたしますので、ご興味ある方は是非そちらでお求めいただければと存じます。
今回構築するネットワーク・トポロジー
上図のように GCP <-> AWS <-> オンプレミス を接続することで、3 者間での相互通信を可能とします。
例えば GCP 内の任意の VPC (Network) から AWS の任意の VPC やオンプレミスと通信することが可能になります。
なお図では HA VPN を使って 4 本の VPN を設置していますが、可用性・SLA を犠牲にコストの節約も可能です (後述)。
以下、GCP <-> AWS 間の VPN 敷設と DNS 転送について概略と難所を説明します。
続きを読む