【AWS VPN】AWS Site To Site VPNでオンプレミスとAWS間のネットワークを接続する方法

記事タイトルとURLをコピーする

こんにちは!イーゴリです。

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

f:id:swx-korotkov:20220224190053p:plain

構成図

f:id:swx-korotkov:20220222190400p:plain
構成図

構築する前に知っておくべきこと

AWSのBlackbeltからのまとめ

構築する前に下記のBlackbeltを読むことをおすすめ致しますが、下記でもっとも重要なポイントをまとめます。

aws.amazon.com

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についての参考記事:

ja.wikipedia.org

www.infraexpert.com

 

弊社の杉村がAS番号についてとても分かりやすい記事を作成したので、ご参考ください。 blog.serverworks.co.jp

AWS Site To Site VPNでオンプレミスとAWS間のネットワークを接続する方法(VGWの方法)

カスタマーゲートウェイの作成(対向側)

f:id:swx-korotkov:20220222190211p:plain
イメージ図

まずはルータ側のエンドポイントを作成するために、カスタマーゲートウェイを作成します。

[VPC]>[カスタマーゲートウェイ]>[カスタマーゲートウェイの作成]をクリックします。

f:id:swx-korotkov:20220221174304p:plain

[カスタマーゲートウェイの作成]の画面で、下記の項目を入力し、[カスタマーゲートウェイの作成]ボタンをクリックします。

f:id:swx-korotkov:20220222125003p:plain

  • [名前]:任意ですが、私の場合、「prod-on-premise-cgw」を入力します。
  • [ルーティング]:動的(AWSに推奨されているルーティングタイプ)
  • [BGP ASN]:私の場合、他のASNが使用されていないため、デフォルトの「65000」を残します。
  • [IPアドレス]:オンプレミス側のルーターのGlobal IPアドレスを入力します。

仮想プライベートゲートウェイの作成(VPC側)

f:id:swx-korotkov:20220222190232p:plain
イメージ図

VPC側のエンドポイントを作成します。

[VPC]>[仮想プライベートゲートウェイ]>[仮想プライベートゲートウェイの作成]をクリックします。

f:id:swx-korotkov:20220222134653p:plain

[仮想プライベートゲートウェイの作成]の画面で、下記の項目を入力し、[仮想プライベートゲートウェイの作成]ボタンをクリックします。

  • [名前タグ]:任意ですが、私の場合、「prod-vgw」を入力します。
  • [ASN]:私の場合、他のASNが使用されていないため、AmazonのデフォルトASNを選択します(AmazonのデフォルトASN:64512)。

f:id:swx-korotkov:20220222133437p:plain

※他のASNを指定したい場合、[カスタムASN]を選択した上、適切なASNを入力してください。

f:id:swx-korotkov:20220222133624p:plain

VGW(仮想プライベートゲートウェイ)をVPCにアタッチするために、対象のVGW(仮想プライベートゲートウェイ)を選択し、[アクション]>[VPCにアタッチ]をクリックします。

f:id:swx-korotkov:20220222135109p:plain

[VPCにアタッチ]の画面で、対象のVPCを選択した上、[はい、アタッチします]をクリックします。

f:id:swx-korotkov:20220222135306p:plain

VPCがアタッチされていることを確認します。

f:id:swx-korotkov:20220222135355p:plain

ルートテーブルの伝播の有効化

f:id:swx-korotkov:20220222190251p:plain
イメージ図

[VPC]>[ルートテーブル]>対象サブネットのルートテーブルを選択>[アクション]タブ>[ルート伝播の編集]をクリックします。

f:id:swx-korotkov:20220222130825p:plain

対象の仮想プライベートゲートウェイの伝播の「有効化」のそばにチェックし、[保存]をクリックします。

f:id:swx-korotkov:20220222131544p:plain

私の場合、プライベートサブネットごとにルートテーブルを分けていますので、上記の手順と同じく2つ目のルートテーブルで伝播の「有効化」を設定します。

サイト間の VPN 接続の作成

f:id:swx-korotkov:20220222190306p:plain
イメージ図

[VPC]>[サイト間のVPN接続]>[VPN接続の作成]をクリックします。

f:id:swx-korotkov:20220222163421p:plain

[VPN接続の作成]の画面で、下記の設定を行った上、[VPN接続の作成]をクリックします。

  • [名前タグ]:任意ですが、私の場合、「prod-vpn」を入力します。
  • [Target Gateway Type]:VGWの方法でVPNを接続する方法をご紹介しているため、「Virtual Private Gateway」を選択しますが、必要に応じて、適切な接続方法を選択してください。
  • [仮想プライベートゲートウェイ]:前回のステップで作成した仮想プライベートゲートウェイ (prod-vgw)を選択します。

f:id:swx-korotkov:20220222164230p:plain

  • [カスタマーゲートウェイ]:前回のステップで「prod-on-premise-cgw」のカスタマーゲートウェイを作成したので、「既存」を選択します。
  • [カスタマーゲートウェイ ID]:前回のステップで作成したカスタマーゲートウェイ (prod-on-premise-cgw)を選択します。

f:id:swx-korotkov:20220222170208p:plain

  • BGPを使用する予定のため、[ルーティングオプション]で[動的 (BGP が必要)]を選択します。
  • IPv4を使用する予定のため、[トンネル内部 IP バージョン]で[IPv4]を選択します。
  • [ローカル IPv4 ネットワーク Cidr]:カスタマーゲートウェイ(オンプレミス環境)のCIDR(例:192.168.5.0/24)を指定します。

f:id:swx-korotkov:20220222170332p:plain

  • [リモート IPv4 ネットワーク Cidr]:AWS側のCIDR(例:172.16.0.0/16)を指定します。

f:id:swx-korotkov:20220222170252p:plain

トンネルオプションをそのまま残します(この場合、AWS側で自動生成となります)。次は[VPN接続の作成]をクリックします。

f:id:swx-korotkov:20220222163541p:plain

前回のステップで、ルートテーブルに伝播を有効化したため、ルートテーブルに静的なルートを追加する必要はありません。

AWSコンソール上の設定が完了です!

対象ルータの設定ファイルのダウンロード

ルータによって設定コマンドが異なるため、本件の記事では具体的なコマンドをご紹介できませんが、AWSコンソール上で、コンフィグの例があるため、対象ルータの設定ファイルの取得方法をご紹介します。

[VPC]>[サイト間のVPN接続]>[ファイルのダウンロード] をクリックします。

f:id:swx-korotkov:20220222171941p:plain

[ベンダー]などの必要な項目を選択した上、[ダウンロード]をクリックしますと、ローカル端末にコンフィグファイルがダウンロードされます。

f:id:swx-korotkov:20220222171747p:plain

必要に応じてルータのコンフィグを修正し、導入します。

f:id:swx-korotkov:20220222171707p:plain

以上、御一読ありがとうございました。

イーゴリ (記事一覧)

クラウドインテグレーション部・技術4課・エンジニア

特にTerraform(自動化)、ネットワーク系、VDI、Windows Serverに興味があります

日本国内旅行・ドライブが好きです