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)の作成

作業手順

対象リソースは以下

  • VGW:test-vgw01(新規作成)
  • CustomerGateway:test-cgw01(新規作成)
  • SecurityGroup:test-sg-prod-web01、test-sg-dev-webdb01
  • VPC RouteTable:test-rtb-dev-public-fix、test-rtb-prod-public-fix
  • VPN接続:test-vpn01(新規作成)

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 * *
#