Azure Virtual WANを試してみた (後編 ～Azure Virtual HubとYAMAHA RTX1210をインターネットVPNで接続～)

みなさんおはようございます。
アドベントカレンダーに参加しましたので、3日目の担当記事を投稿します。
表題の通りAzure Virtual WANです。
昨日の記事は[こちら](https://qiita.com/hidekko/items/a2f499c71854900cfa39)になり、この記事の続きが本記事になります。
12月9日にこの表題のAzure Virtual WANでセミナーを開催します。
ご都合良ければご参加ください。
https://www.persol-pt.co.jp/eventseminar/list/azure06/?fbclid=IwAR3vTyCE61e4iJSJWR0l4o4LPpTJ5Uz0Vbn5_djR7lrJQwexL1tRu5DiL1M
私も質疑応答で対応します。

<font color="Red">Azure Virtual WANでオンプレミスとインターネットVPN(サイト対サイト接続)を行う上で2つの罠がありますので、本記事ではその2つの罠に言及します。</font>

#デプロイ完了の確認
昨日デプロイが完了していることを確認しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/18437278-6d2e-b899-92c1-2dcad04622e3.png)
<font color="Red">赤枠</font>で囲んでいる部分がActive/Activeで冗長化された仮想ネットワークゲートウェイです。
この構築に30分かかりました。

Azure Portal上でAzure Virtual WANの画面から確認するとこうなります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/7546c8d3-47b7-0cc9-388f-b89c1a2f7bda.png)
正しく仮想Hubもできています。

##VPNサイトの作成
続いてこの仮想Hubの中にVPNサイトを作成します。
VPNサイトはオンプレミス側の拠点(サイト)を指します。
仮想Hubを選択し、[VPN(サイトからサイトへ)]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/6a0ac453-9f75-89c4-3c59-b78b4ce9fb65.png)

[VPNサイトの新規作成]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/446f55eb-d1a3-43a4-40e1-ad3f13759d1a.png)

[地域]を[東南アジア]、[名前]は適当に[test-site01]、デバイスベンダーも必須パラメータ―なんですが適当に[yamaha]、[プライベート アドレス空間]は結構大事です。ここを空白だとBGPでのルート広報になりますが、今回はスタティックでルートを設定するのでYAMAHAの背後にあるプライベートアドレス帯、[192.168.11.0/24]を設定し、最後に[次:リンク]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/503614c9-a1b0-025c-d766-9c280353b5f9.png)

次にVPNサイト内のリンクを作成します。
このパラメーターはオンプレミス側のルーターのインターネット側を指定する設定です。
[リンク名]は適当に、画像内では切れてしまっていますが[test-link01]としました。
[リンク速度]は[50]とし、これは50Mbpsを指します。
[リンクプロバイダー名]も適当に[test-provider01]とします。
[リンクIPアドレスまたはFQDN]の設定ですが、これは大事です。
[以前の記事](https://qiita.com/hidekko/items/6ea27e158b531fad3418)でご紹介している、<font color="Red">インターネットVPNの接続先をグローバルIPアドレスでなくFQDN指定できる</font>という例の設定です。
<font color="Red">Azureはじまってますね！</font>
最後に[次:確認および作成]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/1234593f-f56e-d431-1922-6e7c27f5f22e.png)

パラメータ―を確認して[作成]をクリックしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/7b132075-c88a-78d1-b8c0-7124498ce0a9.png)
これで仮想Hubの作成は完了です。

##Azure側のVPN接続設定
Azure Virtual WANの画面に戻り、[ハブ]をクリックし、作成済みのHubをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/537e9b9a-c389-8e29-789a-fcf10540cf2a.png)

Hubないの[VPN(サイトからサイトへ)]をクリックするとなんと[結果がありません]と出ます。
なんやて！？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/fb686343-9fb6-94b3-a96b-16834c0079df.png)
はい。
一つ目の罠です。
[公式サイト](https://docs.microsoft.com/ja-jp/azure/virtual-wan/virtual-wan-site-to-site-portal#create-a-site)の項目8にもちゃんと書いてあるんですが、フィルタをクリアしなければ表示されません。
[ハブの関連付け:このハブに接続しました]のフィルタをクリアします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/37a390db-d33e-f65d-2024-88ccbd62a4a9.png)
すると・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/719ba2a4-09ad-84b5-b091-e8e1095e2bef.png)
ちゃんと先ほど作成したサイトが出てきます。
それではこのサイトを選択します。
すると[VPNサイトの接続]というボタンがグレーアウト状態からアクティブになりますのでクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/f9a1fe0e-5677-d0ea-8781-bac7cfde50fc.png)

はい。
来ましたね。
VPN接続のお決まり、PSK設定です。
プロトコルもデフォルトでIKEv2が選択されています。
<font color="Red">素晴らしいですね！</font>
PSKは適宜設定を行い、最後に[接続]をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/8728ce1d-ce97-3a42-4e0e-fc57e71a7413.png)
ここまででAzure側でのパラメータ設定は終わります。
続いてローカル側の設定ですが、Azure側のグローバルIPアドレスがわからないので調べます。
仮想Hubの画面から[VPN(サイトからサイトへ)]をクリックし、[ゲートウェイの構成]にある[表示と構成]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/7e42c59c-9fae-bb84-a5ef-3f3dd1b5ae60.png)
すると・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/6312d5bf-2aa5-2840-0d70-84dd1c9f695a.png)
はい。
出てきましたね。
Azure側のグローバルIPアドレスです。
このグローバルIPアドレスで今回はYAMAHA RTX1210でVPNを張ってみます。

##オンプレミス側VPN接続設定
YAMAHA RTX1210でIKEv2を用いてAzureとVPNを張ります。

```
tunnel select [トンネル番号]
 description tunnel "### Azure Virtual WAN ###"
 ipsec tunnel [トンネル番号]
  ipsec sa policy [ポリシーID] [トンネル番号] esp aes256-cbc sha256-hmac anti-replay-check=off
  ipsec ike version [トンネル番号] 2
  ipsec ike duration child-sa [トンネル番号] 27000
  ipsec ike duration ike-sa [トンネル番号] 28800
  ipsec ike group [トンネル番号] modp1024
  ipsec ike keepalive log [トンネル番号] off
  ipsec ike keepalive use [トンネル番号] on rfc4306
  ipsec ike local address [トンネル番号] [RTX1210ローカルIPアドレス]
  ipsec ike local name [トンネル番号] [RTX1210グローバルIPアドレス] ipv4-addr
  ipsec ike nat-traversal [トンネル番号] on
  ipsec ike message-id-control [トンネル番号] on
  ipsec ike child-exchange type [トンネル番号] 2
  ipsec ike pre-shared-key [トンネル番号] text [PSK]
  ipsec ike remote address [トンネル番号] [Azure側グローバルIPアドレス]
  ipsec ike remote name [トンネル番号] [Azure側グローバルIPアドレス] ipv4-addr
  ipsec ike negotiation receive [トンネル番号] off
 ip tunnel tcp mss limit auto
 tunnel enable [トンネル番号]

ip route [Azure Vietual WANのローカルIPアドレス] gateway tunnel [トンネル番号]

```

一部ゲートウェイ番号とトンネル番号とがごっちゃになっていますが、どちらも同じパラメータの方がConfigの可読性が良くなると思うので私はこのようにしています。
[Azure Vietual WANのローカルIPアドレス]は今回であれば172.16.255.0/24です。
YAMAHA側の設定は以上です。

##VPN接続確認
AzureポータルからVPN接続を確認してみましょう。
Azure Virtual WANを選択し、[ハブ]を選択します。
ハブ内から作成した仮想Hubを選択し、[VPN(サイトからサイトへ)]を選択します。
すると接続性の部分が・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/e388b2d8-42d9-c3cf-b856-e3968d1cb8ea.png)

な、なんと・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/0c24e431-05f3-ada6-063c-619ef9534f3e.png)
空白です。
何故なんだ・・・

はい。
2つ目の罠です。
表示を英語に変えてみると・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/1f6e9e60-5d92-e6f4-2e8c-d2074e47901c.png)
・・・！？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/62123513-fe37-7567-2c5c-6f920955b94d.png)
正しく[Connected]と表示されました。
Connected、つまり接続済み、ですね。

はい。
これでRTX1210とAzure Virtual WANとのインターネットVPN接続は完了です。

ついでにRTX1210側でこのようなコマンドを打ってみます。

```
show ipsec sa gateway [トンネル番号(ゲートウェイ番号)] detail
```
このコマンド結果がVPN接続済みであれば
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/466eaba3-607d-09d8-e5da-d5c9c459b3d8.png)
こんな感じの表示が出てきます。
送受信双方向でSAが生きていますね。
<font color="Red">素晴らしいですね！</font>

しかしこれではAzureポータル上やRTX1210上で接続確認が取れただけなので、実際の通信確認も行ってみます。
そしてAzure Virtual WANと接続できただけです。
構成図で表すと、この<font color="Red">赤枠部分</font>までができたことになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/94d2a95c-6d3b-fd48-02ba-753c6f120676.png)

Azure Virtual WANにはVMも何も存在しないので、Azure Virtual WANにVnet PeeringでVMのある仮想ネットワークと接続してみましょう。

#Azure Virtual WANとVnetをVnet Peeringで接続する。
Azure Virtual WANと仮想ネットワークとをVnet Peeringで接続する、というのは構成図で表すとこの<font color="Red">赤枠部分</font>になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/0de15c87-ee14-f056-c075-82e31fe4e252.png)

Azureポータル上からAzure Virtual WANを選択し、[仮想ネットワーク接続]を選択します。
[+ 接続の追加]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/7f086a72-91f7-bff2-7c86-1141d8e85a1e.png)
Vnet Peeringの設定パラメータの画面が開きます。
[接続名]が適宜設定し、[ハブ]には今回Vnet Peeringを行う対象の仮想Hub、[サブスクリプション]には接続先の仮想ネットワーク(Vnet)が存在するサブスクリプションを選択し、[リソース グループ]が接続先Vnetの存在するリソースグループを選択、[仮想ネットワーク]は接続先仮想ネットワークを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/1b4a1405-829b-c4ad-f692-48224d16b1fe.png)

他にもルーティングを色々変更するパラメータがありますが、今回は設定せずにそのまま[作成]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/d81e192a-cd3e-f77e-e1e8-cea851c5a143.png)
これでVnet Peering設定は完了です。

ついでにYAMAHA RTX1210に先ほど追加したAzure Virtual WANへのトンネル宛にここでAzure Virtual WANに接続した仮想ネットワークのIPアドレス帯宛のルーティングも追加します。

```
ip route [Vnet Peering先のローカルIPアドレス帯] gateway tunnel [トンネル番号]
```
こうすることで構成図で表すと<font color="Red">赤枠部分の経路が作成された</font>ことになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/05b2f2a1-761a-060a-90be-4914cf4d5a64.png)

はい。
では構成図の最上部にあるWindows VM、過去の[記事](https://qiita.com/hidekko/items/9351f56a512bf193071b)で作成したWindows 11を起動してRTX1210のローカルIPアドレス、192.168.11.1宛にPingを打ってみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/f40a0f54-85d4-bd53-0571-58eeeaeff236.png)


はい。
無事に飛びましたね。
ついでにRTX1210からも確認すると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/fd9d2564-57f2-acf3-5a0d-761a66f7fd36.png)
まぁ当たり前に返ってきますね。
はい。
<font color="Red">Azure、素晴らしいですね！</font>

本日はここまで。