AWS サイト間VPNを作成しよう
オンプレとAWS間をVPN接続したいという時に使うのがサイト間VPN。
今回はこのサイト間VPNの構築手順をマネジメントコンソールでの操作前提で記載していきます。
作業内容
お客様DC環境とAWS環境(本番環境および開発環境)とのSite to Site VPN接続環境を構築するもの。以下の作業を想定。
・仮想プライベートゲートウェイ(VGW)の作成
・作成した VGW を VPC にアタッチ
・下記 VPC RouteTable の Route Propagation の有効化
- test-rtb-dev-public-fix
- test-rtb-prod-public-fix
・本番/開発のEC2に設定しているSecurityGroup の変更
- test-sg-dev-webdb01
- test-sg-prod-web01
・Customer Gatewayの作成
・VPN接続(Site to Site VPN)の作成
作業手順
対象リソースは以下
1. 仮想プライベートゲートウェイ(VGW)の作成
マネジメントコンソールにて「仮想プライベートゲートウェイの作成」を押下し、以下設定した上で「仮想プライベートゲートウェイの作成」ボタンを押下。
名前タグ:test-vgw01
ASN:AmazonのデフォルトASN
2. VPCにアタッチ
1で作成されたVGWが選択されている状態で「Action」タブから「VPCのアタッチ」を押下しプルダウンから、「test-vpc01」を選択し「はい、アタッチします」ボタンを押下。
3. VPC RouteTable の Route Propagation の有効化
対象のルートテーブルを選択し、「ルート伝播」タブから「ルート伝達の編集」ボタンを押下し、「伝播」にチェックを入れて「保存」ボタンを押下。これを対象のルートテーブル分繰り返す。
対象のルートテーブル:test-rtb-dev-public-fix、test-rtb-prod-public-fix
4. SecurityGroup の変更
以下の対象のセキュリティーグループに対して記載した許可設定を追加する。
接続ポートはアプリケーションで何番ポートで接続してくるか聞いて設定しよう。
Prd(test-sg-prod-web01)
|タイプ|プロトコル|ポート|ソース|
|カスタムTCP|TCP|7001|<接続元IP①>/32|
Dev(test-sg-dev-webdb01)
|タイプ|プロトコル|ポート|ソース|
|カスタムTCP|TCP|7003|<接続元IP②>/32|
5. Customer Gatewayの作成
「カスタマーゲートウェイの作成」を押下し以下を設定した上で、「カスタマーゲートウェイの作成」ボタンを押下。
名前:test-cgw01
ルーティング:Static
IPアドレス:オンプレ側のルータのGIP
Certificate ARN:記載なし
6. VPN接続(Site to Site VPN)の作成
「サイト間のVPN接続」から「VPN接続の作成」を押下し以下を設定した上で、「VPN接続の作成」ボタンを押下。
名前:test-vpn01
仮想プライベートゲートウェイ:作成したVGWをプルダウンから選択
カスタマーゲートウェイ:既存
Customer Gateway ID:作成したCGWをプルダウンから選択
ルーティングオプション:静的
IPプレフィックス:<接続元IP①>を含むCIDR,<接続元IP②>を含むCIDR
トンネルオプション:記載なし
7. 物理ルータ用の設定情報(config)の取得
6で作成したVPN接続を選択した状態で「設定のダウンロード」から以下の物理ルータの情報を選択してダウンロードする。ソフトウェア4つ各々の設定をダウンロードすること。(以下は一例なのでオンプレ側のルータの情報をもらって設定すること)
▼ 物理ルータ情報
ベンダー:fortinet
プラットフォーム:FortiGate 101E v5.6.7 build1653 (GA)
ソフトウェア:
・FortiOS 4.0+
・FortiOS 4.0+(GUI)
・FortiOS 5.0+
・FortiOS 5.0+(GUI)
8. 疎通確認
オンプレ側でルータの設定が完了したら疎通確認を実施します。
オンプレ側からのping疎通を確認する場合はEC2のSGのICMPポートを一時的に許可して実施します。
AWS側のサーバ(EC2)からオンプレに対してping疎通確認を実施する場合は、オンプレの接続元に対して、以下のようにtracerouteをうってかえって来ればOK。
# traceroute -I <接続元IP①> traceroute to <接続元IP①> (<接続元IP①>), 30 hops max, 60 byte packets 1 YYY.YYY.YYY.YYY (YYY.YYY.YYY.YYY) 6.118 ms 6.106 ms 6.095 ms 2 * * * 3 * * * 4 * * * 5 * * * 6 ip-XXX-XXX-XXX-XXX.ap-northeast-1.compute.internal (XXX.XXX.XXX.XXX) 7.551 ms 6.687 ms 6.723 ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 ip-<接続元IP①を「-」で繋いだ形>.ap-northeast-1.compute.internal (<接続元IP①>) 8.989 ms * * #