Azure ルートテーブルで Azure 仮想ネットワークのルーティングを制御する

Azure

こんにちは。

今回は、Azure 仮想ネットワークを使って、ルーティングで遊んでみたいと思います。

 

めざすもの

ひとまず、こんな構成を作ってみるっていうテーマにしてみました。

複数の VNET に対して、全部つながるゾーンと一部のVNETにしか接続できないゾーンです。

 

 

実現方法

手っ取り早い方法として、以下を構成する方法があります。

 

Virtual Network Gateway を使って、S2S接続で接続します。

ただ、10.140.1.0/24 のサブネットは、VNET110 のみの接続にしたいので、経路設定を Static に設定するという方法です。

 

Virtual Network Gateway の設定

Virtual Network Gateway は、普通に各Virtual Gateway Network 同志を接続します。

 

VNET140 の 10.140.0.0/24 のサブネットで経路情報を見るとこんな感じになります。

VNET 110~130 に対しては、Virtual Network Gateway 経由でルーティングされることがわかりますね。

※ 経路情報に見方については、以下の記事をご覧ください。

https://memobog.azurewebsites.net/2018/10/31/effective_routes/

 

Route Table の設定の仕方

つづいて、10.140.1.0/24 のサブネットから、VNET120、130 への接続を行わない設定です。

Route Table は、10.140.1.0/24のサブネットに設定し、以下の設定をします。

 

Route を設定を以下のようにします。

NEXT HOP で Virtual Network Gateway を指定してあげて、VNET110 のアドレスを設定しています。

 

10.140.1.0/24 のサブネットでゲートウェイ情報を確認すると以下のようになります。

VNET120(10.120.0.0/16) と VNET130(10.130.0.0/16)へのルーティングがいないので、このアドレスへの接続があった場合は、Default Route の0.0.0.0/0 に飛ばされて、行先なしとなるわけです。

 

 

VNET Peering でできないの?

Virtual Network Gateway を使用した場合、以下のサービスコストがかかります。

  • Virtual Network Gateway のサービスコスト
  • Virtual Network Gateway で使用する Public IP のサービスコスト(act-actだと2つ)

うん。意外と高い。

 

なので、VNET Peering でできないのかな~??って思いますよね。

答えは、VNET140のVNETを2つにわければ、つなぎたいところだけつなげばいいから簡単ですよね。

 

ちなみに先ほどの Virtual Network Gateway をVNET Peering に置き換えて構成するとすると、こんな感じになります。

10.120.0.0/16 と 10.130.0.0/16 のルーティングが残っちゃっていますね。

 

ですので、ルートテーブルをこんな感じで変更してあげます。

Next HOP を None に設定するとルーティングをしなくできます。

 

経路情報を確認するとこんな感じ

 

ちょっとわかりにくいので、Ping を実行した結果。

Ping が VNET120とVNET130には飛んでないですね。

svadmin@vnetedgevm01:~$ ping 10.110.0.4
PING 10.110.0.4 (10.110.0.4) 56(84) bytes of data.
64 bytes from 10.110.0.4: icmp_seq=1 ttl=64 time=1.34 ms
64 bytes from 10.110.0.4: icmp_seq=2 ttl=64 time=0.473 ms
^C
--- 10.110.0.4 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.473/0.910/1.348/0.438 ms
svadmin@vnetedgevm01:~$
svadmin@vnetedgevm01:~$ ping 10.120.0.4
PING 10.120.0.4 (10.120.0.4) 56(84) bytes of data.
^C
svadmin@vnetedgevm01:~$
svadmin@vnetedgevm01:~$ ping 10.130.0.4
PING 10.130.0.4 (10.130.0.4) 56(84) bytes of data.
^C
--- 10.130.0.4 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3078ms

まとめ

仮想ネットワーク間のルーティングを考えるときに、

  • Virtual Network Gateway を使用する方法
  • VNET Peering を使用する方法

の2つの方法があります。

 

Virtual Network Gateway と、VNET Peering については、以下の記事でも基本的なことを書いてますのでよかったら参考にしてください。

https://memobog.azurewebsites.net/2018/10/30/azure-vnet-201810/

コメント

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