広告

Azure 上で疑似 S2S VPN 作成してみる

Azure

以前 S2S VPN の基礎概念について、こちらの記事でご紹介しました。

今回は S2S VPN を Azure の環境のみで試してみることにします。
Azure で作成することで、S2S VPN の仕組みをより一層深く理解できることを期待できると思います。

構成

基本オンプレミスと Azure 接続する場合、右側の環境のリソースがあれば十分です。
その場合、ローカル ネットワーク ゲートウェイにオンプレミスの VPN デバイスの情報を設定する必要があります。

今回クラウドで再現するので、クロスでお互いの情報をローカル ネットワーク ゲートウェイに設定して、接続させる手法を取ります。

※ Azure VPN は、VNET2VNET の種類があるので、Azure 仮想ネットワーク間の VPN は基本そちらが使えますが、今回は S2S VPN の学習という意味で、この構成にしています。

準備

利用可能な Azure サブスクリプション:

  • 権限も持っていること

仮想ネットワークの作成:

  • local-network
    • Japan East
    • 10.111.0.0/16
  • azure-hub-vnet
    • North Central US
    • 10.112.0.0/16

仮想ネットワーク ゲートウェイの作成

  1. Azure portal にて、「ゲートウェイ」で検索し、表示されている「仮想ネットワーク ゲートウェイ」を選択します。
  2. 「+作成」をクリックし、仮想ネットワーク ゲートウェイを作成します。

疑似オンプレミス側設定値:

  • 名前:local-network-gw
  • 地域:Japan East
  • ゲートウェイの種類:VPN
  • VPN の種類:ルート ベース
  • SKU:VpnGw2
  • 世代:Gen 2
  • 仮想ネットワーク:local-network
    • ゲートウェイ サブネットのアドレス範囲:10.111.1.0/24
    • ※ /27 以下(/26 とかでもいい) のサブネット レンジを指定
  • パブリック IP アドレス:新規作成
  • アクティブ/アクティブ モードの有効化:無効
  • BGP の構成:有効
    • 自律システム番号 (ASN):65010

ASN について

2 つのネットワーク ゲートウェイの間で BGP が有効な接続では、それぞれの ASN が異なっている必要があります。また、次の ASN は Azure で予約済みです: 8075、8076、12076 (パブリック)、65515、65517、65518、65519、65520 (プライベート)。Azure VPN ゲートウェイに接続する場合、オンプレミスの VPN デバイスにこれらの ASN を指定することはできません。仮想ネットワーク ゲートウェイから Azure Virtual WAN VPN への IPsec 接続を設定する際、ローカル ネットワーク ゲートウェイの ASN は 65515 にする必要があります。

※ 要するに Azure 側の GW と 疑似オンプレミス側の GW は違う値を使うのと、予約済みの番号を避けましょう。

Azure 側設定値:

  • 名前:azure-hub-vnet-gw
  • 地域:North Central US
  • ゲートウェイの種類:VPN
  • VPN の種類:ルート ベース
  • SKU:VpnGw2
  • 世代:Gen 2
  • 仮想ネットワーク:azure-hub-vnet
    • ゲートウェイ サブネットのアドレス範囲:10.112.1.0/24
    • ※ /27 以下 (/27 とか、/26 とか) のサブネット レンジを指定
  • パブリック IP アドレス:新規作成
  • アクティブ/アクティブ モードの有効化:無効
  • BGP の構成:有効
    • 自律システム番号 (ASN):65020

「ローカル ネットワーク ゲートウェイ」と「接続」の作成

ローカル ネットワーク ゲートウェイは、オンプレミス ネットワークの構成 (VPN ゲートウェイの接続場所と対象) を定義するためのリソース (実はルーティングテーブルです)。
※ 仮想ネットワーク ゲートウェイ はどこに、どういった情報で VPN デバイスに接続するかを分からせるためのもの。
なので、以下の内容をベースに設定することになります。

  • Azure 側のローカル ネットワーク ゲートウェイには、疑似オンプレミス側の仮想ネットワーク ゲートウェイの情報を設定
  • 疑似オンプレミス側のローカル ネットワーク ゲートウェイには、Azure 側の仮想ネットワーク ゲートウェイの情報を設定

設定値:

「接続」について、少し煩わしいところがあるので、少し補足します。
上記図のように、仮想ネットワーク ゲートウェイは自分の側のローカル ネットワーク ゲートウェイに「接続」します。この「接続」は物理的な意味ではなく、あくまでローカル ネットワーク ゲートウェイに登録している情報を仮想ネットワーク ゲートウェイに関連付けするためのものになります。

確認

作成後、VPN 両側の VM が通信できることが確認できます。
通信できるまで、10分ほどかかる場合があります。

オンプレミス側のネットワークの BGP 広告の設定(強制トンネリング)

  1. Azure CloudShell を起動し、Powershell を指定します。
  2. 以下のコマンドを実行し、疑似オンプレミス側をデフォルトサイトに設定します。
$LocalGateway = Get-AzLocalNetworkGateway -Name "local-info-lng" -ResourceGroupName "<RGname>"
$VirtualGateway = Get-AzVirtualNetworkGateway -Name "azure-hub-vnet-gw" -ResourceGroupName "<RGname>"
Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway

仮想ネットワーク ゲートウェイに既定のサイトを割り当てます。 -GatewayDefaultSite は、強制ルーティング構成を動作させるコマンドレット パラメーターです。適切な設定になるように、慎重に構成してください。

BGP 伝達の確認

ここまで、一旦強制トンネリングの設定が完了し、BGP で伝達して来たルートを見てみましょう。

  1. azure-hub-vnet 仮想ネットワークに仮想マシンを作成します。(サブネットがない場合、作成します)
  2. 作成した仮想マシン > ネットワーク > 仮想マシンの Nic を選択します。
  3. ネットワーク インターフェース(Nic) の画面にて、「有効なルート」項目で、以下の情報が確認できます。
    ※ 0.0.0.0/0 が仮想ネットワーク ゲートウェイに向けています。

追記

この構成では、azure-hub-vnet 仮想ネットワークの 0.0.0.0/0 は仮想ネットワーク ゲートウェイに向けるようになりましたが、その先はどのルートでインターネットへ出るのかは定義していませんので、現時点 azure-hub-vnet 仮想ネットワークからはインターネットへアクセスできません
この構成はあくまで S2S VPN を理解するためのものとして作成したもので、実際オンプレミスと接続する場合、オンプレミスの 0.0.0.0/0 ルートが伝達してくるはずです。

参考

コメント

タイトルとURLをコピーしました