7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure 環境内で S2S VPN with BGP 環境を構築する (GUI / Azure Portal 編)

Last updated at Posted at 2023-11-06

こんにちは駆け出しアーキテクトのやまぱんです。
今回は Azure 環境内でS2S VPN with BGP 環境 をAzure Portal で作ってみます。
IaC (Bicep) でパッとデプロイしてつくるなら親愛なる同僚のこちらの記事で紹介されてるBicepを使ってデプロイするとよいでしょう。まさにポチポチして待ってるだけでできます!

ただ、やはり自分で1つずつ設定して作ることもしておこうと思ったら少しハマったので自分の為にもこの記事を書きます。

似たような記事をいくつか見つけましたが UI が変わっていたり、図がちょっとおかしかったり、肝心なところが分かりづらかったり、BGP を有効にしてなかったりしていたので改めて書き下ろしてみました。

誰かの役に立てば幸いです。
コメントなどあれば是非いただければと思います👸

P2S の方の記事も上げましたのでよければご覧ください。


さて、Vnet 同士をつなげるには Vnet peering や Vnetどうし向けの V2V VPN などの方法がありますが、 Azure 環境内でオンプレ環境とつなげるような疑似環境を作るには S2S VPN を構成することになります。
VPNゲートウェイのデプロイに時間がかかるのでスムーズにいって40分程度はかかると思います。

前置き

Azure VPN Gateway とは

Azure VPN Gateway は 仮想ネットワークゲートウェイ(Virtual Network Gateway)の一種です。
なので、デプロイするときは仮想ネットワークゲートウェイをデプロイし、ゲートウェイの種類でVPNを選択します。
image.png

Azure VPN Gateway の接続方法

そもそも Azure VPN Gateway の接続方法は以下の3種類あります。

  • S2S / Site to Site 接続 (今回はこちら)
    他クラウド環境と接続したり、オンプレミス環境と接続したり
  • V2V / VNet to VNet 接続
    Vnet 同士 の VPN 接続
  • P2S / Point to Site 接続
    クライアントPCとAzure Vnet を接続

Local Network Gateway

Local Network Gatewayは 接続先のネットワークの情報 を格納するものです。
Local Network Gatewayはいわゆる名前から想像するようなゲートウェイではないです。
名前が非常にややこしいと思います。
これがわりと今回の肝です。

ざっくりやりたいこと

こんな感じで2つの独立した Azure のネットワーク (Vnet) を VPN (S2S接続) でつなげたい。
ついでに BGP も有効にしたい。
2023-11-06_22h07_33.png

as-is / to-be

事前の環境(as-is)

こんな感じの環境からスタートします。

  • クラウド側 (Vnet-Hub)が10.100.0.0/16
  • オンプレ側 (Vnet-Onp)が172.16.0.0/16
    ただし、Azure Firewall やAzure Bastionは今回不要なのでなくても構いません。
    最低限 Vnet があればOKです。
    image.png

完成する環境(to-be)

image.png

手順

実際につくっていきます。
上述の通り、事前に Vnet は既にある前提で作っていきます。

GatewaySubnetを作る

  • クラウド側 (Vnet-Hub)での作業イメージ
    [+ゲートウェイ サブネット] から作成していきます。設定はデフォルトのまま。
    image.png
  • 同じようにオンプレ側(Vnet-Onp)でも作る

VPNゲートウェイを作る

image.png
Azure Portal の検索窓から「VNG」や「仮想ネットワークゲートウェイ」で検索する。
時間がかかる (20分ぐらいはかかります) ので、コンビニいったり、洗濯したり、散歩したり、溜まってるLINEを返すなどするとよいでしょう。
SKUは検証用なので高価なものは必要ないので廉価なものを設定しています。

  • クラウド側 (Vnet-Hub)での設定値
    名前は vpngw-hub で作成します。
    2023-11-06_22h28_59.png

ASNは 65010 を指定

  • オンプレ側 (Vnet-Onp)での設定値
    名前は vpngw-onp で作成します。
    2023-11-06_22h36_05.png

ASNは 65020を指定

  • 作成したVPNゲートウェイ(仮想ネットワークゲートウェイ)のパラメーターは[仮想ネットワークゲートウェイ] → [構成] から確認可能

ここまで出来たらこんな感じになってるはず。
あとはローカルネットワークゲートウェイを作って接続です!
image.png

ローカルネットワークゲートウェイを作る

Azure Portal の検索窓から「LNG」や「ローカルネットワークゲートウェイ」で検索する。
image.png

ローカルネットワークゲートウェイは接続先のネットワークの情報を設定します。
つまり・・・

  • クラウド側 (Vnet-Hub)のローカルネットワークゲートウェイはオンプレ側 (Vnet-Onp)のVPNゲートウェイの情報をいれます
  • オンプレ側 (Vnet-Onp)のローカルネットワークゲートウェイはクラウド側 (Vnet-Hub)のVPNゲートウェイの情報をいれます
  • クラウド側 (Vnet-Hub)での設定値
    前の手順で作成したオンプレ側 (Vnet-Onp) のVPNゲートウェイの値を確認しつつ入れていきます。
    名前は HUB_LNG で作成します。
    2023-11-06_23h18_11.png
    このあたりを参考にして設定値を下記のように入れます。
    image.png

  • オンプレ側 (Vnet-Onp)での設定値
    こちらも同様に、前の手順で作成したクラウド側 (Vnet-Hub) のVPNゲートウェイの値を確認しつつ入れていきます。
    名前は Onp_LNG で作成します。
    image.png

このあたりを参考にして設定値を下記のように入れます。
2023-11-06_23h10_30.png

ここまでくればあとは接続するだけ!

接続します (接続のデプロイ)

さて、メインの接続です。
ここまでの設定に問題がなければ接続もスムーズにいくはず!

  • クラウド側 (Vnet-Hub)での設定値
    作成したローカルネットワークゲートウェイ(HUB_LNG) → [接続] → [追加]へ進みます。
    2023-11-06_23h42_37.png

接続の種類:サイト対サイト、名前は HubToOnp 、pskはpassword、BGPは有効、仮想ネットワークゲートウェイとローカルネットワークゲートウェイはクラウド側のリソースを指定し、そのほかはデフォルトです。
2023-11-06_23h46_09.png

そんなかんじで下記のような感じで作成。
2023-11-06_23h39_12.png

できあがると状態が"不明"のままで表示されます。
オンプレ側もつくると状態が変わります。
image.png

  • オンプレ側 (Vnet-Onp)での設定値
    名前は OnpToHub、pskも同じものを設定し、その他同様に同じように設定します。
    下記のような感じで作成。

image.png

接続の確認

接続リソース

"接続リソース"が正しく作成されていると、2~3分まって更新すると状態が "不明"から"接続済" になります。
image.png

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

仮想ネットワークゲートウェイ → [BGPピア] から下記のように確認することができます。
これはクラウド側 (Vnet-Hub) 10.100.0.0/16 側の仮想ネットワークゲートウェイを確認した結果です。
オンプレ側 (Vnet-Onp) :172.16.0.0/16 のルートを学習していることが分かります。
image.png

VM による ping の確認

予め受け側のマシンで管理者権限でコマンドプロンプトを起動して下記コマンドで ping 応答を許可しておきます。(ここで説明は省きますが、NSG も許可しておきます)

cmd
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow

下記の通り、クラウド側 (Vnet-Hub):10.100.1.4 からオンプレ側 (Vnet-Onp):172.16.1.4 へ pingコマンドを教えて打って、応答が返ってきていることが分かります。
image.png

参考

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?