Knowledge

入社2か月目でAWS Site-to-Site VPNを任された話

公開日:2025/11/17
技術ノウハウ・Tips

未経験で入社して2か月。先輩から課題を与えられました。

「君、ネットワークエンジニアになるんだからこれくらいできるよね(・ω・)」

──こうして、オンプレミスとAWS間のSite-to-Site VPN接続を任されることになりました。

当時の私は「なにから始めれば??」という状態でしたが、手を動かしてみると案外シンプルで勉強になったので、ここに記録を残します。

なぜSite-to-Site VPNなのか

社内ネットワークからAWS VPC上のEC2へ安全にアクセスしたい──これが今回の目的です。

今回私にこの課題が与えられた理由はたぶんこんな感じです。

  • Direct Connectを利用予定だが開通までにいましばらくかかる。暫定手段が必要。
  • 社内でSite-to-Site VPNの構築実績がなかった
  • 新人教育の一環としてVPNの仕組みを学ばせたかった
  • 先輩が単に楽をしたかった☆

目標

社内ネットワークから、AWS VPCプライベートサブネット配下のEC2にアクセスできること

完成図例

前提

オンプレミスルータはYamaha RTX1210を使用。

BGPは使用しない。 記載しているIPアドレスは公開用に編集しています。

やったこと(ざっくり手順)

  1. カスタマーゲートウェイ(CGW)の作成
  2. 仮想プライベートゲートウェイ(VPG)の作成
  3. Site-to-Site VPN接続の作成
  4. RTX1210用VPN設定ファイルをダウンロード・修正
  5. ルートテーブルを設定
  6. RTX1210へ設定投入 → 接続確認

1. カスタマーゲートウェイ(CGW)の作成

カスタマーゲートウェイ(CGW)はオンプレミス側ルーター(RTX1210)をAWSに特定させるためのゲートウェイ。

  • VPCコンソール → [カスタマーゲートウェイ] → [作成]
  • 名前タグは任意の名前
  • BGPは未使用のためルーティング: 静的
  • IPアドレス: オンプレRTX1210のグローバルIP
  • 今回のルーティングのタイプは静的
  • 作成をクリック

2. 仮想プライベートゲートウェイ(VPG)の作成

仮想プライベートゲートウェイ(VPG)はCGWとは逆にAWS側に設置するゲートウェイです。そのため、VPCにアタッチして利用します。

  • VPCコンソール → [仮想プライベートゲートウェイ] → [作成]
  • ASNはデフォルトでOK

  • 作成後、VPCにアタッチを忘れずに!

VPGはAWS側のVPN終端装置。VPCと必ず紐付けが必要です。

3. Site-to-Site VPN接続の作成

  • [Site-to-Site VPN接続] → [作成]
  • ターゲットゲートウェイ: 先ほど作ったVPGを選択
  • カスタマーゲートウェイ: 既存のCGWを選択
  • ルーティングタイプは静的
  • 静的ルート: 社内ネットワークのCIDR例 192.168.10.0/24
  • 作成

作成が完了すると、VPNのステータスが「利用可能」になります。

この段階ではオンプレミスのルータの設定がまだなので、VPNは張られていません。

そのためトンネルのステータスは「ダウン」と表示されます。

4. VPN設定ファイルのダウンロード

ここから実機のルータに設定を追加し、CGWとVPGを接続していきます。

  • 作成したVPN接続を選択 → [ダウンロード設定]
  • ベンダーにYamahaを選択
  • IKEバージョンはikev1 または ikev2
  • ダウンロードしておく(後ほどルーター側で利用)

設定ファイルにはIKEフェーズ1/2や事前共有キーが記載されています。

5. ルートテーブルの設定

まず、ルート伝播を有効化します

  • VPC → [ルートテーブル] →対象となるルートテーブル→ルート伝播の編集

「有効化」にチェックを入れて、「保存」をクリックします。上記の設定を有効化した後しばらくすると、オンプレミスネットワークへのルーティングが通常自動で追加されます。

この設定を忘れるとトラフィックがVPNに流れず通信できません。 私はこの設定を忘れていたので、実際の通信ができないということがありました…

6. RTX1210への設定投入

AWSからダウンロードした設定ファイルをベースに自環境に合わせて修正していきます。 例えば、AWSのSitetoSiteVPNは可用性を高めるために、デフォルトで2つのトンネルを用意してくれますが、今回は一つで十分であるため、片方の設定は削除しました。

RTX1210に設定を追加できたので、AWS上でVPN接続の状態を確認してみましょう。先ほどまで「ダウン」となっていた個所が「アップ」に代わりました! (今回は一つのトンネルしか設定していないため、もう片方はダウンのままとなっています)

  • 実際に ping を打って確認
sysop@ubuntu-wsl:~$ ping 10.0.11.87
PING 10.0.11.87 (10.0.11.87) 56(84) bytes of data.
64 bytes from 10.0.11.87: icmp_seq=1 ttl=125 time=13.7 ms
64 bytes from 10.0.11.87: icmp_seq=2 ttl=125 time=14.3 ms
64 bytes from 10.0.11.87: icmp_seq=3 ttl=125 time=13.7 ms
64 bytes from 10.0.11.87: icmp_seq=4 ttl=125 time=14.2 ms
^C
--- 10.0.11.87 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 13.688/13.974/14.326/0.278 ms

プライベートサブネット配下のEC2につながりました!

学んだこと

VPNのトンネルステータスが有効になっても、実際の経路設定がされていなければ、トンネルが作成されただけで、実際のパケットがそのトンネルに流れていきません。今回は、ルート伝播を有効化することを忘れていたので、pingが飛ばないということがありました、、パケットの流れを意識することの大切さを感じました。

まとめ

躓いたところはありますが、とても簡単にAWSとVPNを張れることがわかりました。

オンプレミスのルーターに追加するコンフィグを生成してくれるのは親切ですよね。


執筆者:K.S.(プロフィール)

あなたに最適な解決策を一緒に考えます。

Contact お問い合わせ

状況に応じた最適なご提案で、お客様の課題解決をサポートいたします