自由気ままに書いちゃおう

好きなことをつらつらと・・・

Azure ルートテーブルについて

過去の記事で、Azureのプライベート/パブリックサブネットについて記載し、
その中で少しだけルートテーブルについて記載しておりますが、
今回はルートテーブルについて深堀り致します。

↓過去の記事↓

www.guri2o1667.work

 

 

■公式サイト

Azure 仮想ネットワーク トラフィックのルーティング | Microsoft Docs

ルートベースの VPN Gateway を作成する: ポータル - Azure VPN Gateway | Microsoft Docs

Azure 仮想ネットワークのルーティングテーブルの確認方法 - メモログ

サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会

 

■システムルートについて


AWSに慣れている人・・・気を付けてください。
私はAzureのシステムルートという概念にたどり着くまで、
Azureのルーティング設定ってどうなっているのか全くわかりませんでした。

Azureではシステムルートと呼ばれるデフォルトのルートテーブルが存在します
大事なのでもう一度!!!
「デフォルトでルートテーブルが構成されている」ですよ!!!
AWSでは、デフォルトのルートテーブルとして同一VPC内での通信のみが実施できるように構成されておりましたが、
Azureのシステムルートはサブネットごとに自動的に、
以下のものが設定されてしまいます。

f:id:guri2o1667:20200526221426p:plain


特筆すべき点は、
No2の「デフォルトで仮想ネットワーク以外を宛先に指定した場合には、
インターネットにルーティングされる
という点です!

ちなみに、インターネットにルーティングされた場合、
NSGの送信セキュリティ規則でインターネットへの通信は全て許可(優先度65001)されておりますので、
問題なくインターネットへルーティングされることになります。
※参考までに、NSGの送信セキュリティ規則のデフォルト値です。

f:id:guri2o1667:20200526223704p:plain

 

■システムルートの削除/更新について


さきほどまではシステムルートの内容についてでした。
今度は、システムルートの削除/更新についてです。

まず前提として、システムルートは修正することも削除することもできません!

システムルート以外のルーティング設定を行うためには、
カスタムルート(UDRやBGPプロトコル)を使用する必要があります。

■カスタムルート(UDR:ユーザ定義ルート)について

UDRを作成することでシステムルートを上書きできます。
ざっくりいうと、スタティックルートです!

少し話がそれますが、
サブネットには0個以上のルートテーブルを関連付けることができます。
重要なのは「0個以上」ってところです。
1個以上じゃないですよ!
サブネットにはルートテーブルを必ず関連付ける必要はないってことです!
ただし、システムルートはもれなく付いてくることを忘れずに。。。
Azureのサブネットの設定でルートテーブルの設定が確認できますが
下図の赤枠の通り、「なし」と記載されていれば、
システムルートのみが関連付いているってことです!

f:id:guri2o1667:20200526224945p:plain

■カスタムルート(UDR:ユーザ定義ルート)で指定できるネクストホップについて

以下5項目をカスタムルートのネクストホップとして定義することができます。

f:id:guri2o1667:20200526225918p:plain

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


 特定のアドレスプレフィックス宛の通信を仮想ネットワークゲートウェイに
 ルーティングします。
 

 仮想ネットワークゲートウェイは種類が「VPN」のものに限ります。
 種類が「ExpressRoute」の場合には、ExpressRouteではルーティングテーブルでBGPの使用が必須となっているため、UDRを指定することできません。

【仮想ネットワーク】


 仮想ネットワーク内の既定のルーティング(=システムルート)を上書きする場合に、
 指定します。

【インターネット】


 インターネットに明示的にルーティングする場合に指定します。

【仮想アプライアンス】


 詳細は割愛しますが、F/WやWAFなどのネットワーク製品の仮想アプライアンスを
 指定したルーティングとしたい場合に、本項目を指定します。

【なし】

 指定した宛先のトラフィックを強制的にDrop(破棄)します。

 

■ネクストホップの種類について

いくつか紹介してきましたが、纏めると以下の通りです。
※他にもありますが、割愛しております。

f:id:guri2o1667:20200526231521p:plain

 

■カスタムルート(BGP:ボーダーゲートウェイプロトコル)について

UDRは「スタティックルート」と記載しましたが、
BGPは「動的ルーティングテーブル」です。
ここでいう動的とは、
"オンプレミス側のエッジルータとBGPを利用したルーティングテーブルの交換"
を意味します。

BGPの説明に入る前に、この後の理解を促すために、少し情報を整理したいと思います。

まず、Azureとオンプレミスを接続する際に用意しなくちゃいけないのが、
ゲートウェイサブネット」と呼ばれるものです。
ゲートウェイサブネットの実体は、2台以上の仮想ルータが配置されたサブネットのことです。
※ゲートウェイサブネットが作成される際に、仮想ルータは自動的に作成されます。

Azure VPN Gateway について | Microsoft Docs


サブネットなので、仮想ネットワーク内に作成されます。
さて、"仮想ネットワークゲートウェイ"と"ゲートウェイサブネット"って何が違うのかってなるのですが、意味は同じです。
呼び方が人によって違うぐらいのイメージでひとまず理解してもらえればと。

では、本題ですが、
仮想ネットワークゲートウェイについて記載しようとすると上記MSサイトのように情報量が膨大になるため、
必要最低限のことのみ記載致します。

仮想ネットワークゲートウェイには種類があり、
「VPN」「ExpressRoute」がその種類に該当します。
そのため、
・VPNゲートウェイ
・ExpressRouteゲートウェイ
と呼ばれることがあります。
VPNゲートウェイの場合には、ルーティングにBGPを選択することもできますし、スタティックルートを使用することもできます。
ExpressRouteゲートウェイの場合には、BGPのみです。

以上です。