概要
クラウドへの移行やハイブリッド構成を検討する際、オンプレミス環境と AWS VPC をセキュアに接続するネットワーク構成は避けて通れません。インターネット経由の通信ではセキュリティ面の不安があり、プライベートな通信経路を確保する手段が求められます。
AWS Site-to-Site VPN は、オンプレミスのネットワークと AWS VPC の間に IPsec VPN トンネルを確立し、暗号化された通信経路を提供するサービスです。インターネット回線を利用しながらも、暗号化により安全なデータ転送が可能になります。
本記事では、Site-to-Site VPN の基本概念を理解し、VPN 接続に必要なコンポーネントの作成とコンソール上での設定手順を体験します。

クラウドおさる弊猿はこの記事で、VPC 側とオンプレミス側の「門」を AWS に作り、その間に VPN 接続を張るところまでやってみるでござる。トンネルが 2 本できる様子も、画面で確かめるのでござるよ。
この記事のメリット
- Site-to-Site VPN の基本的なアーキテクチャとコンポーネントの役割を理解できる
- 仮想プライベートゲートウェイ(VGW)とカスタマーゲートウェイ(CGW)の概念を把握できる
- VPN 接続の作成手順とルーティング設定の流れを体験できる
- VPN トンネルのステータス確認方法を習得できる
- ハイブリッドクラウド構成の基礎知識を身につけられる
執筆者とキャラクター紹介
執筆者:土肥(とひ)
株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。


クラウドおさる



はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。



基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。



猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。
技術解説
AWS Site-to-Site VPN とは



とひさん、オンプレミスと AWS を安全につなぐ「Site-to-Site VPN」とは、どういうサービスでござるか?
Site-to-Site VPN は、オンプレミスのデータセンターやオフィスネットワークと AWS VPC の間に IPsec VPN 接続を確立するサービスだよ。1 つの VPN 接続に対して 2 本の VPN トンネルが作成されるから、高可用性も確保されるんだ。



トンネルが 2 本もできるのでござるか!猿山から隣の山のバナナ倉庫へ抜け道を掘るとき、崩れたときのために 2 本掘っておく、あれと同じ発想でござるな。どんな場面で使われるのでござる?
主なユースケースはこんな感じだね。
- オンプレミス環境と AWS 間のセキュアなハイブリッド接続
- AWS Direct Connect のバックアップ経路としての利用
- 複数拠点から AWS への VPN 接続
- 移行期間中のオンプレミスと AWS の並行運用
主要コンポーネント



Site-to-Site VPN は、どんな部品で組み立てられているのでござるか?
大きく 4 つのコンポーネントがあるよ。表にまとめるとこうなるんだ。
| コンポーネント | 説明 |
|---|---|
| 仮想プライベートゲートウェイ(VGW) | VPC 側の VPN エンドポイント。VPC にアタッチして使用する(AWS 側は VGW の代わりに Transit Gateway で終端することもできる) |
| カスタマーゲートウェイ(CGW) | オンプレミス側の VPN デバイスを AWS 上で論理的に表現したリソース |
| VPN 接続 | VGW と CGW の間に確立される IPsec VPN 接続 |
| VPN トンネル | 各 VPN 接続に 2 本作成される暗号化トンネル(冗長構成) |





VGW が AWS 側、CGW がオンプレミス側の門番でござるな。猿山の門と隣山の門、その間を結ぶ道が VPN 接続、という絵でござる。
そのとおり。この 2 つをつなぐのが VPN 接続で、その中に 2 本のトンネルが通っている、という構成だね。
仮想プライベートゲートウェイ(VGW)



VGW について、もう少し詳しく教えてほしいでござる!
仮想プライベートゲートウェイは、VPC 側の VPN 接続ポイントだよ。1 つの VPC に対して 1 つの VGW をアタッチできるんだ。VPN 接続だけじゃなくて、AWS Direct Connect のゲートウェイとしても使われるよ。



作るときに決めておく項目はあるのでござるか?猿山の門にも、どの山の門かを示す番号札が掛かっているでござるが。
VGW を作成する際には、Amazon 側の ASN(自律システム番号)を指定できるよ。デフォルトでは Amazon が割り当てた ASN が使用されるから、特にこだわりがなければそのままでも大丈夫だよ。
カスタマーゲートウェイ(CGW)



次はオンプレミス側の CGW でござるな。これはどんなものでござる?
カスタマーゲートウェイは、オンプレミス側の VPN デバイス(ルーターやファイアウォール)を AWS 上で表現するリソースなんだ。作成時には以下の情報を指定するよ。
- IP アドレス: オンプレミス VPN デバイスのパブリック IP アドレス
- BGP ASN: BGP ルーティングを使用する場合の ASN(コンソールの入力欄の既定値は 65000)
- 証明書 ARN: 証明書ベースの認証を使用する場合の ACM 証明書



なるほど、向こうの山の門の場所と番号札を、こちらの帳面に書き写しておくようなものでござるか。実物の機器の情報を、AWS 側に登録するのでござるな。
ルーティングオプション



VPN 接続のルーティング方式には、どんな種類があるでござるか?
ルーティング方式は 2 種類あるよ。
| ルーティング方式 | 説明 | 適用シーン |
|---|---|---|
| 動的ルーティング(BGP) | BGP を使用してルート情報を自動的に交換する | オンプレミス側が BGP 対応デバイスの場合(推奨) |
| 静的ルーティング | 手動でルートを設定する | オンプレミス側が BGP 非対応の場合 |



どちらを選べばよいのでござる…?猿山では道が変わるたびに、当番が手書きの地図を描き直して大騒ぎでござるが。
BGP に対応したデバイスがあるなら、動的ルーティングが推奨だよ。BGP は相手が生きているかを確かめ続けられるから、1 本目のトンネルが止まったときに 2 本目のトンネルへ切り替えやすいんだ。ルート情報を手で書き直さずに済むのもうれしいところだね。
VPN トンネルの冗長構成



さきほど、トンネルが 2 本作られるという話がござった。冗長構成について、詳しく教えてほしいでござる。
Site-to-Site VPN では、1 つの VPN 接続に対して 2 本のトンネルが異なるアベイラビリティーゾーンのエンドポイントに作成されるんだ。一方のトンネルに障害が発生しても、もう一方のトンネルで通信を継続できるよ。



AZ のレベルで分かれているなら安心でござるな!猿山の抜け道も、同じ崖に 2 本掘っては一緒に崩れるでござるからな。
各トンネルには個別のパブリック IP アドレスが割り当てられるよ。オンプレミス側の VPN デバイスは両方のトンネルに接続するよう設定することが推奨されているんだ。片方だけだと冗長性のメリットが活かせないからね。
実践
前提条件
- リージョン:
ap-northeast-1(東京) - IAM ユーザーまたはロールに VPC、VPN 関連の操作権限があること
- 以下のリソースが作成済みであること
| リソース種別 | リソース名 | 用途 |
|---|---|---|
| VPC | basic-vpn-vpc(10.36.0.0/16) | VPN 接続先の VPC |
| サブネット | basic-vpn-private-subnet(10.36.1.0/24) | VPC 内のプライベートサブネット |
| ルートテーブル | basic-vpn-private-rt | サブネットに関連付けたルートテーブル(ステップ 7 でルート伝播を設定) |
本記事のハンズオンでは、オンプレミス側の VPN デバイスの代わりに、仮の IP アドレスを使用してカスタマーゲートウェイを作成します。実際の VPN トンネルの確立には物理的な VPN デバイスが必要ですが、AWS 側のリソース作成と設定の流れを体験することが目的です。
作成するリソース一覧
| リソース種別 | リソース名 | 用途 |
|---|---|---|
| 仮想プライベートゲートウェイ | basic-vpn-vgw | VPC 側の VPN エンドポイント |
| カスタマーゲートウェイ | basic-vpn-cgw | オンプレミス側 VPN デバイスの表現 |
| VPN 接続 | basic-vpn-connection | VGW と CGW を結ぶ VPN 接続 |
ステップ1: 仮想プライベートゲートウェイの作成
AWS マネジメントコンソールにログインし、リージョンが ap-northeast-1(東京)であることを確認します。
上部の検索バーに VPC と入力し、表示された「VPC」を選択します。
左側ナビゲーションの「仮想プライベートネットワーク(VPN)」→「仮想プライベートゲートウェイ」を選択します。
右上の「仮想プライベートゲートウェイを作成」をクリックします。
以下の内容を入力します。
- 名前タグ:
basic-vpn-vgw - 自律システム番号(ASN): 「Amazon デフォルト ASN」を選択


「仮想プライベートゲートウェイを作成」をクリックします。
作成した VGW が一覧に表示されます。作成直後は「状態」が「保留中」で、まだ VPC につないでいないため「VPC アタッチ状態」は「デタッチ済み」です。


ステップ2: VGW を VPC にアタッチ
作成した basic-vpn-vgw を選択した状態で、「アクション」→「VPC にアタッチ」を選択します。「VPC へアタッチ」画面が表示されます。
- 使用可能な VPC:
basic-vpn-vpcを選択(vpc-… / basic-vpn-vpcと表示されます)


「VPC にアタッチ」をクリックします。
「VPC アタッチ状態」は 1 分ほど「アタッチ中」になったあと、「アタッチ済み」に変わります。「状態」が「利用可能」、「VPC アタッチ状態」が「アタッチ済み」になったことを確認します。


ステップ3: カスタマーゲートウェイの作成
左側ナビゲーションの「仮想プライベートネットワーク(VPN)」→「カスタマーゲートウェイ」を選択します。
右上の「カスタマーゲートウェイを作成」をクリックします。
以下の内容を入力します。
- 名前タグ:
basic-vpn-cgw - BGP ASN:
65000(デフォルト値) - IP アドレス:
203.0.113.1(ドキュメント用に予約された、ハンズオン用の仮の IP アドレス)
「ARN 証明書」「デバイス」などその他の項目はデフォルトのままにします。


「カスタマーゲートウェイを作成」をクリックします。
作成が完了すると、状態が「利用可能」と表示されます。


ステップ4: VPN 接続の作成
左側ナビゲーションの「仮想プライベートネットワーク(VPN)」→「サイト間の VPN 接続」を選択します。
右上の「VPN 接続を作成」をクリックします。
以下の内容を入力します。
- 名前タグ:
basic-vpn-connection - ターゲットゲートウェイのタイプ: 「仮想プライベートゲートウェイ」を選択
- 仮想プライベートゲートウェイ:
basic-vpn-vgwを選択(vgw-… / basic-vpn-vgwと表示されます) - カスタマーゲートウェイ: 「既存」(デフォルトで選択済み)
- カスタマーゲートウェイ ID:
basic-vpn-cgwを選択 - ルーティングオプション: 「動的(BGP が必要)」(デフォルトで選択済み)
事前共有キーの保存先、ローカル/リモートの IPv4 ネットワーク CIDR、トンネルのログ記録やトンネルごとのオプションなど、その他の項目はデフォルトのままにします。


「VPN 接続を作成する」をクリックします。
作成直後の状態は「保留中」で、数分(今回は約 4 分)で「利用可能」に変わります。なお、オンプレミス側のデバイスが接続されていないため、トンネルの状態は「ダウン」のままです。


ステップ5: VPN トンネルの詳細確認
作成した basic-vpn-connection を選択し、「トンネルの詳細」タブを確認します。
2 本のトンネルが表示され、それぞれに以下の情報が確認できます。
- 外部 IP アドレス: AWS 側のトンネルエンドポイントの IP アドレス
- 内部 IPv4 CIDR: トンネル内部で BGP のやり取りに使うアドレス範囲
- ステータス: トンネルの接続状態(オンプレミス未接続のため「ダウン」。「詳細」には
IPSEC IS DOWNと表示されます)





VPN 接続を 1 つ作っただけで、トンネルが 2 本並んだでござるな。今回はオンプレミス側に機器が無いので、どちらも「ダウン」のままで正しいのでござる。
ステップ6: VPN 設定のダウンロード
VPN 接続を選択した状態で、「設定をダウンロードする」をクリックします。
オンプレミス側の VPN デバイスに適用する設定ファイルをダウンロードできます。ダウンロードダイアログで以下を選択します。
- ベンダー: お使いの VPN デバイスのベンダーを選択(例:
Generic。ベンダーを選ぶと、プラットフォームとソフトウェアの候補も切り替わります) - プラットフォーム: デバイスのプラットフォーム(
Genericの場合はGeneric) - ソフトウェア: デバイスのソフトウェアバージョン(
Genericの場合はVendor Agnostic) - IKE バージョン:
ikev1またはikev2


このファイルには、オンプレミス側の VPN デバイスに設定する IPsec トンネルのパラメータ(Pre-Shared Key、トンネル IP アドレス、BGP 設定など)が記載されています。事前共有キーが含まれるため、ダウンロードしたファイルの扱いには注意が必要です。今回は内容の確認だけなので、「キャンセル」で閉じます。
ステップ7: ルートテーブルの確認
VPN 接続を通じてオンプレミスと通信するには、VPC のルートテーブルに適切なルートが必要です。
左側ナビゲーションの「ルートテーブル」を選択し、basic-vpn-private-rt を選択します。
「ルート伝播」タブを確認します。VGW からのルート伝播が有効になっている場合、BGP で受信したオンプレミスのネットワーク経路が自動的にルートテーブルに追加されます。
ルート伝播はデフォルトでは「いいえ」(無効)です。有効にするには、「ルート伝播」タブで「ルート伝播の編集」をクリックし、basic-vpn-vgw の「伝播」の「有効化」にチェックを入れて保存します。





VPN 接続を作っただけでは、VPC からオンプレミスへの道はまだ地図に載っていないでござる。ルートテーブルにルートが入っているか、ルート伝播の設定まで確かめるでござるぞ。
まとめ
- AWS Site-to-Site VPN は、オンプレミスと VPC の間に IPsec VPN トンネルを確立するサービスである
- 主要コンポーネントは仮想プライベートゲートウェイ(VGW)、カスタマーゲートウェイ(CGW)、VPN 接続と、その中に通る 2 本の VPN トンネルである。AWS 側は VGW の代わりに Transit Gateway で終端することもできる
- 1 つの VPN 接続に対して 2 本のトンネルが作成され、冗長性が確保される
- ルーティング方式は動的(BGP)と静的の 2 種類があり、BGP が推奨される
- VGW を VPC にアタッチし、ルートテーブルでルート伝播を有効にすることで、オンプレミスのネットワーク経路が自動的に反映される
- VPN 設定のダウンロード機能により、オンプレミス側デバイスの設定パラメータを取得できる
参照先
- AWS Site-to-Site VPN とは – AWS Site-to-Site VPN
- Site-to-Site VPN のコンポーネント – AWS Site-to-Site VPN
- 仮想プライベートゲートウェイ – AWS Site-to-Site VPN
- Site-to-Site VPN 接続のトンネルオプション – AWS Site-to-Site VPN
- Site-to-Site VPN のルーティングオプション – AWS Site-to-Site VPN
- AWS Site-to-Site VPN の静的および動的ルーティング – AWS Site-to-Site VPN
- AWS Site-to-Site VPN 接続のカスタマーゲートウェイのオプション – AWS Site-to-Site VPN












