目次
AWS Site-to-Site VPNとは?
AWS Site-to-Site VPNは、オンプレミスもしくはAWS以外のクラウドベンダーのネットワークからAWSのネットワークの間でセキュアな通信を行う為のVPNサービスです。
通信において守るべき情報がある場合に利用します。
AWS Site-to-Site VPNでは、接続先と、インターネットを通る通信が行われますが、通信を暗号化する事で仮想的にプライベートネットワークを経由した様な通信が行う事が出来ます。
また、デフォルトでトンネルが2本作成される冗長化構成が取られます。
前提として、IPsec対応ルーターと固定PublicIPが必要となります。
不要になったらすぐに停止する事が可能です。
類似サービスとユースケース
前述の通り、AWS Site-to-Site VPNはオンプレミス(もしくは他のクラウドベンダーのネットワーク)とAWSのネットワークの間にてセキュアな通信を実現する為に利用します。
AWSサービスを利用して別ネットワークとセキュアに通信する方法は、大きく以下の3パターンが存在します。要件に応じて利用するサービスを選択する必要があります。
- Site-to-Site VPN:通信はインターネットを経由します。ネットワーク同士をVPN接続する際に利用します。
- Client VPN:通信はインターネットを経由します。AWSネットワークと個々の端末をVPN接続する際に利用します。暗号化するクライアントの方に暗号化ソフトをインストールする必要があります。
- Direct Connect:インターネットを通らない閉域網で通信を行います。専用回線を用意する為、コストと準備の時間がかかります。
また、コストの観点から、Site-to-Site VPNはDirect Connectのバックアップ回線としても利用されるケースがあります。
上記を考慮し、要件に応じて接続方法を決定する必要があります。
Transit Gatewayと仮想プライベートゲートウェイ
AWS Site-to-Site VPNでは、Transit Gatewayを利用した接続と仮想プライベートゲートウェイを利用した接続の2種類のVPN接続が可能です。
Transit Gatewayは、接続するVPCが複数存在する場合に利用されます。
仮想プライベートゲートウェイは単一のVPCが接続の対象の場合に利用されます。
なお、Transit Gateway・可能プライベートゲートウェイは内部的に冗長化されているため、VPN接続を考慮する際に、こちらの冗長構成を考慮する必要はありません。
料金
AWS Site-to-Site VPNの料金は、VPN接続毎の時間課金 + データ転送料 + VPNアタッチメント時間課金 + (Transit Gatewayのデータ処理料金) + (Global Acceleratorの時間料金) + (プレミアムデータ転送量)によって決定されます。
VPN接続の料金だけではなく、通信料、その他VPN接続を実施する為に必要となるサービス(Transit Gatewayなど)も課金される事に注意が必要です。
詳細については、AWS公式サイトを参照下さい。
ハンズオン概要
以下で実際にSite-to-Site VPNを実際に構築していきます。今回は仮想プライベートゲートウェイとSite-to-Site VPNを利用して、VPNを構築します。
尚、当ハンズオンでは、オンプレミス側の設定は対象外とします。
利用手順
※当ページでは2023年3月現在のSite-to-Site VPNについて解説します。クラウドサービスは頻繁にアップデートが施されるため、仕様が異なる可能性があります。
ログイン
仮想プライベートゲートウェイの作成
検索バーに”VPC”と入力し、”VPC”を選択します。
仮想プライベートゲートウェイタブに移動し、”仮想プライベートゲートウェイを作成”を押下します。
仮想プライベートゲートウェイは以下の様に設定します。
- 名前タグ:作成するリソースの名前を付与します。今回は”test-vpgw”という名前を付与します。
- 自律システム番号(ASN):自律システム番号を指定します。AmazonのASNを利用しない要件などがあればカスタムASNを付与します。
- ※自立システム番号:インターネットを構成する個々の独立したネットワーク(=自律システム)に対して割り当てられている、一意の識別番号
- タグ:必要に応じてリソースを識別する為のタグを付与します。
仮想プライベートゲートウェイのVPCへのアタッチ
仮想プライベートゲートウェイが作成されたら、VPCへアタッチしていきます。
作成した仮想プライベートゲートウェイを選択し、”アクション”より、”VPCへアタッチ”を選択します。
“VPCへアタッチ”画面の使用可能なVPCにて接続対象のVPCを選択し、”VPCへアタッチ”を押下します。※ここではデフォルトのVPCを選択しています
1分程度で仮想プライベートゲートウェイのステータスが”Attached”となります。
AWS Site-to-Site VPNを設定する
仮想プライベートゲートウェイの作成及びVPCへのアタッチが完了したら、AWS Site-to-Site VPNを設定します。
VPCの”Site-to-Site VPN 接続”タブより、”VPN接続を作成する”を押下します。
“詳細”は以下の様に設定します。
- 名前タグ:名前を付与します。今回は”test-s2s-vpn”を付与します。
- ターゲットゲートウェイのタイプ:今回は仮想プライベートゲートウェイを利用するので、”仮想プライベートゲートウェイ”を選択します。
- 仮想プライベートゲートウェイ:先程作成した仮想プライベートゲートウェイを選択します。
- カスタマーゲートウェイ:オンプレミス側のルーターを設定する項目です。事前にルーターをカスタマーゲートウェイに登録している場合”既存”を、まだ登録していない場合は”新規”を選択します。
- IPアドレス:オンプレミスルーターのIPアドレスを入力します。※
- ARN証明書:証明書を利用したVPN接続を行う場合、こちらに作成した証明書を指定します。※
- BGP ASN:オンプレのルーターのASNを入力します。
- ルーティングオプション:ルーティング方法について選択します。特別な要件が無ければ動的が推奨されます。オンプレのルーターが動的に非対応の場合、静的を利用します。動的を選択する事で、片方のトンネルが利用できない場合でもスムーズに切り替えが実施されます。また、オンプレミスとVPNのCIDR増減時に自動的に対応します。オンプレミス拠点やVPCでネットワーク追加なども簡単に対応可能です。
- ローカルIPv4ネットワークCIDR:オンプレミス→AWSの通信にて、許可するオンプレミス側のIPアドレス範囲を指定する事が可能です。今回は指定しません。
- リモートIPv4ネットワークCIDR:AWS→オンプレミスの通信にて、許可するAWS側のIPアドレス範囲を指定する事が可能です。今回は指定しません。
※IPアドレスもしくはARN証明書は最低どちらか1つを設定する必要があります。ルーターの固定パブリックIPアドレスが用意できる場合はIPアドレスの設定を行い、事前共有キー方式でVPN接続を行う事が推奨されています。固定のパブリックIPアドレスが容易できない場合のみ、ARN証明書を指定し、プライベート証明書による認証を検討する必要があります。
トンネル1オプション、トンネル2オプションは作成される2本のトンネルのそれぞれの詳細な設定が可能です。設定項目が全て同じなので、トンネル1オプションのみの説明とします。
- トンネル1の内部IPv4 CIDR:トンネル内内部のIPアドレス範囲を指定します。169.254.0.0/16の範囲から/30のサイズで指定します。
- トンネル1の事前共有キー:事前共有キーを利用したVPN接続を行う場合に設定します。
- トンネル1の詳細オプション:暗号化アルゴリズム等を詳細に決定する必要がある場合に”トンネル1オプションを編集する”を指定し、設定を行います。
- VPNログ記録:有効化すると、トンネル内の詳細ログを確認する事が可能となります。
- トンネルのメンテナンス:有効化すると、自動メンテナンスが行われるタイミングを手動で制御可能となります。
設定が完了したら、”VPN接続を作成する”を押下します。
数分すると、作成したVPN接続の状態が”Available”となりますが、トンネルのステータスは”Down”となっています。これはオンプレミス側のルーターの設定が完了していない事に起因しています。
ルートテーブルの編集
続いてルートテーブルを編集し、VPCからオンプレの通信が行えるようにします。
“ルートテーブル”タブよりVPCに紐づいているルートテーブルを選択し、”ルートを編集”を押下します。
送信先にオンプレミス側のIPアドレスを入力し、ターゲットは先程作成した仮想プライベートゲートウェイを選択します。
追加が完了したら、”変更を保存”を押下します。
以上でAWS側の設定は完了です。
“Site-to-Site VPN”タブより、作成したVPN接続を選択し、”設定をダウンロード”を押下します。
ルーターのベンダーやIKEバージョンを指定する事でルーターに必要な設定情報をダウンロードできます。
詳細の設定については各ベンダーの公式ページなどから参照する事も可能です。
関連記事