こんにちは!イーゴリです。
本件の記事では、AWSのSite to site VPNでオンプレミス環境のネットワークをAWSのVPC(Virtual Private Cloud)と接続する方法をご紹介したいと思います。
構成図

構築する前に知っておくべきこと
AWSのBlackbeltからのまとめ
構築する前に下記のBlackbeltを読むことをおすすめ致しますが、下記でもっとも重要なポイントをまとめます。
AWS側との接続方法
まずはAWSと接続する方法は3つあります。
- Client VPN(VPNクライアントソフトウェアを使用し、AWS環境に接続)
- Site to site VPN(インターネット網での環境A←→環境Bの接続)★本件の記事では、この方法を紹介します。
- Direct Connect(閉域網での環境A←→環境Bの接続)
Site to site VPNのユースケース
Site to site VPNのユースケースは下記となります。
- 拠点とAWSを簡単に早く接続したい
- 価格重視/スモールスタート
- Direct Connectのバックアップ回線
ルーティングの推奨タイプ
静的より動的(BGP)のルーティングタイプを推奨します。
ゲートウェイタイプ
用途によって、ゲートウェイタイプが使い分けられています。
- VGW(仮想プライベートゲートウェイ):特定のVPCのみと通信
- TGW(トランジットゲートウェイ):多くのVPCと通信(VPN料金の他にTGWの料金も発生する)
本件の記事では、VGW(仮想プライベートゲートウェイ)を使用します。
その他の考慮事項
- IPsec対応ルーターと固定Public IPがあれば、容易に環境構築可能(事前共有キーによる認証方式)
- プライベート証明書による認証の場合、非固定Public IPに対応
- 不要になったらすぐに停止できる(時間課金+転送量に課金)
- AWSがIKEv2の利用を推奨しているため、ご利用デバイスがIKEv2に対応している場合、IKEv2を利用します。
ASNについて
本件の記事では、私の場合、他のASNがないためデフォルト値を残しますが、対象システムに他の重複するASNがないか確認する必要があります。
自律システム番号 (ASN) はBGP(「Border Gateway Protocol」の略)のルーティングプロトコルに使用されています。IPと同じくASN(他の呼び方:AS番号 / 自律システム番号)はICANNという組織によって、RIR(Reginal Internet Registry)にブロック単位で割り当てられており、グローバルASN(自律システム番号)とプライベートASN(自律システム番号)が存在します。
ASN(自律システム番号) | ASN(自律システム番号)の範囲 | 用途 |
---|---|---|
グローバルASN | 1 ~ 64511 | インターネット全体で使用されている |
プライベートASN | 64512 ~ 65535 | 組織内部で自由に使用できるASN(自律システム番号) |
詳しくは下記の記事をご参考ください。
BGP及びASNについての参考記事:
弊社の杉村がAS番号についてとても分かりやすい記事を作成したので、ご参考ください。 blog.serverworks.co.jp
AWS Site To Site VPNでオンプレミスとAWS間のネットワークを接続する方法(VGWの方法)
カスタマーゲートウェイの作成(対向側)

まずはルータ側のエンドポイントを作成するために、カスタマーゲートウェイを作成します。
[VPC]>[カスタマーゲートウェイ]>[カスタマーゲートウェイの作成]をクリックします。
[カスタマーゲートウェイの作成]の画面で、下記の項目を入力し、[カスタマーゲートウェイの作成]ボタンをクリックします。
- [名前]:任意ですが、私の場合、「prod-on-premise-cgw」を入力します。
- [ルーティング]:動的(AWSに推奨されているルーティングタイプ)
- [BGP ASN]:私の場合、他のASNが使用されていないため、デフォルトの「65000」を残します。
- [IPアドレス]:オンプレミス側のルーターのGlobal IPアドレスを入力します。
仮想プライベートゲートウェイの作成(VPC側)

VPC側のエンドポイントを作成します。
[VPC]>[仮想プライベートゲートウェイ]>[仮想プライベートゲートウェイの作成]をクリックします。
[仮想プライベートゲートウェイの作成]の画面で、下記の項目を入力し、[仮想プライベートゲートウェイの作成]ボタンをクリックします。
- [名前タグ]:任意ですが、私の場合、「prod-vgw」を入力します。
- [ASN]:私の場合、他のASNが使用されていないため、AmazonのデフォルトASNを選択します(AmazonのデフォルトASN:64512)。
※他のASNを指定したい場合、[カスタムASN]を選択した上、適切なASNを入力してください。
VGW(仮想プライベートゲートウェイ)をVPCにアタッチするために、対象のVGW(仮想プライベートゲートウェイ)を選択し、[アクション]>[VPCにアタッチ]をクリックします。
[VPCにアタッチ]の画面で、対象のVPCを選択した上、[はい、アタッチします]をクリックします。
VPCがアタッチされていることを確認します。
ルートテーブルの伝播の有効化

[VPC]>[ルートテーブル]>対象サブネットのルートテーブルを選択>[アクション]タブ>[ルート伝播の編集]をクリックします。
対象の仮想プライベートゲートウェイの伝播の「有効化」のそばにチェックし、[保存]をクリックします。
私の場合、プライベートサブネットごとにルートテーブルを分けていますので、上記の手順と同じく2つ目のルートテーブルで伝播の「有効化」を設定します。
サイト間の VPN 接続の作成

[VPC]>[サイト間のVPN接続]>[VPN接続の作成]をクリックします。
[VPN接続の作成]の画面で、下記の設定を行った上、[VPN接続の作成]をクリックします。
- [名前タグ]:任意ですが、私の場合、「prod-vpn」を入力します。
- [Target Gateway Type]:VGWの方法でVPNを接続する方法をご紹介しているため、「Virtual Private Gateway」を選択しますが、必要に応じて、適切な接続方法を選択してください。
- [仮想プライベートゲートウェイ]:前回のステップで作成した仮想プライベートゲートウェイ (prod-vgw)を選択します。
- [カスタマーゲートウェイ]:前回のステップで「prod-on-premise-cgw」のカスタマーゲートウェイを作成したので、「既存」を選択します。
- [カスタマーゲートウェイ ID]:前回のステップで作成したカスタマーゲートウェイ (prod-on-premise-cgw)を選択します。
- BGPを使用する予定のため、[ルーティングオプション]で[動的 (BGP が必要)]を選択します。
- IPv4を使用する予定のため、[トンネル内部 IP バージョン]で[IPv4]を選択します。
- [ローカル IPv4 ネットワーク Cidr]:デフォルトのまま(0.0.0.0/0)設定します。
- [リモート IPv4 ネットワーク Cidr]:デフォルトのまま(0.0.0.0/0)設定します。
トンネルオプションをそのまま残します(この場合、AWS側で自動生成となります)。次は[VPN接続の作成]をクリックします。
前回のステップで、ルートテーブルに伝播を有効化したため、ルートテーブルに静的なルートを追加する必要はありません。
AWSコンソール上の設定が完了です!
対象ルータの設定ファイルのダウンロード
ルータによって設定コマンドが異なるため、本件の記事では具体的なコマンドをご紹介できませんが、AWSコンソール上で、コンフィグの例があるため、対象ルータの設定ファイルの取得方法をご紹介します。
[VPC]>[サイト間のVPN接続]>[ファイルのダウンロード] をクリックします。
[ベンダー]などの必要な項目を選択した上、[ダウンロード]をクリックしますと、ローカル端末にコンフィグファイルがダウンロードされます。
必要に応じてルータのコンフィグを修正し、導入します。
以上、御一読ありがとうございました。
イーゴリ (記事一覧)
クラウドインテグレーション部・エンジニア
特にTerraform(自動化)、ネットワーク系、DNS、VDI、Windows Serverに興味があります
日本国内旅行・ドライブが好きです