【Azure】仮想ネットワーク(VNet)の概要

仮想ネットワーク(Azure Virtual Network、VNet)は、Azure の中にプライベートなネットワークを作るサービスです。Azure のリソースどうしの通信や、インターネット、オンプレミス環境との通信に使います。この記事では、VNet の基本的な考え方と、VNet 内の経路、VNet どうしをつなぐピアリングの概要を紹介します。

この記事でわかること
  1. VNet、アドレス空間、サブネットの関係と、サブネットで予約されるアドレス
  2. VNet 内の経路(システムルート)と、ユーザー定義ルート(UDR)での上書き
  3. VNet どうしをつなぐ仮想ネットワークピアリングと、VPN ゲートウェイとの違い

仮想ネットワークとは

VNet は、Azure 上の仮想マシン(VM)やその他のサービスなど、さまざまなリソースを相互に接続するクラウド上のネットワークです。VNet は1つのリージョンの中に作り、そのリージョンのリソースどうしの通信に使います。

VNet には、1つまたは複数の IP アドレス空間を割り当てます。アドレス空間にはパブリックアドレスもプライベートアドレス(RFC 1918)も使えますが、通常はプライベートアドレスを使います。アドレス空間は、オンプレミスのネットワークと同じように、より小さなサブネットに分けて使います。

VNet は、出入り口(ゲートウェイ)、いくつかのフロア(アドレス空間)、部屋(サブネット)を廊下や階段でつないだ建物にたとえられます。VNet を作ると、サブネットの中のアドレスが、VM などのリソースに割り当てられます。

建物 = 仮想ネットワーク(VNet)フロア = アドレス空間 10.1.0.0/16部屋 = サブネット10.1.1.0/24部屋 = サブネット10.1.2.0/24廊下フロア = アドレス空間 10.0.0.0/16部屋 = サブネット10.0.1.0/24部屋 = サブネット10.0.2.0/24廊下階段出入り口 = ゲートウェイインターネットや他の建物(VNet)へ
図1 VNet を建物にたとえると

次の図は、10.0.0.0/16 というアドレス空間を、AP 用と DB 用の2つのサブネットに分けた例です。それぞれのサブネットの VM には、サブネットの範囲から IP アドレスが割り当てられています。既定では、同じサブネットの中のリソースも、異なるサブネットのリソースどうしも通信できます。

仮想ネットワーク(アドレス空間 10.0.0.0/16)AP 用サブネット 10.0.1.0/24VM10.0.1.4VM10.0.1.5DB 用サブネット 10.0.2.0/24VM10.0.2.4VM10.0.2.5通信できる既定では、同じサブネット内も異なるサブネット間も通信できる
図2 アドレス空間をサブネットに分けた例
補足

サブネット間の通信は、ネットワークセキュリティグループ(NSG)で許可・拒否を決められます。NSG の既定のルールでは VNet 内の通信を許可しているので、何も設定しなければ通信できます。NSG については次の記事で紹介しています。

サブネットで予約されるアドレス

Azure は、各サブネットで先頭の4つと最後の1つ、合わせて5つの IP アドレスを予約します。x.x.x.0/24 のサブネットでは、次のように使われます。

アドレス用途
x.x.x.0ネットワークアドレス
x.x.x.1サブネットの既定のゲートウェイ
x.x.x.2、x.x.x.3Azure DNS の IP アドレスを VNet のアドレス空間に対応付けるために予約
x.x.x.255ブロードキャストアドレス
サブネット 10.0.1.0/24 のアドレスネットワークアドレス10.0.1.0(予約)既定のゲートウェイ10.0.1.1(予約)Azure DNS用10.0.1.210.0.1.3(予約)VM などのリソースに割り当て10.0.1.4 〜10.0.1.254251 個ブロードキャストアドレス10.0.1.255(予約)各サブネットで、先頭の4つと最後の1つ、合わせて5つのアドレスを Azure が予約する
図3 サブネット 10.0.1.0/24 で予約されるアドレス

そのため、/24 のサブネットでリソースに割り当てられるのは、256 − 5 = 251 個です。サブネットの大きさを決めるときは、この5つを差し引いて考えます。

仮想ネットワーク内部の接続

VNet には、リソースどうしが通信するための経路があらかじめ用意されています(システムルート)。Azure は各サブネットにルートテーブルを自動で作り、サブネット間、ピアリングした VNet、オンプレミス、インターネットへの経路を入れます。このシステムルートは、ユーザー定義ルート(UDR)で上書きできます。UDR を使うと、サブネット間の通信を FW などの仮想アプライアンス経由にするなど、トラフィックの流れを制御できます。

次の図で、既定の状態では、AP 用サブネットの VM と DB 用サブネットの VM は直接通信します。UDR を設定すると、この通信を FW などのネットワーク仮想アプライアンス(NVA)経由にできます。AP 用サブネットの VM が侵害された場合でも、DB 用サブネットの VM のデータへの通信は NVA を通るので、そこで検査や制限ができ、セキュリティを高められます。

仮想ネットワーク 10.0.0.0/16NVA 用サブネット 10.0.3.0/24NVA(FW など)AP 用サブネット10.0.1.0/24VMDB 用サブネット10.0.2.0/24VMUDRNVA 経由システムルート(既定):直接UDR で上書きするとこの経路は使われない
図4 システムルートと UDR
UDR の補足
  • UDR は、ルートテーブルを作って UDR を追加し、そのルートテーブルをサブネットに関連付けて使います。1つのサブネットに関連付けられるルートテーブルは1つです。
  • 経路は、宛先に最も長く一致するプレフィックス(ロンゲストマッチ)で選ばれます。同じプレフィックスの経路が複数あるときは、UDR、BGP ルート、システムルートの順に優先されます。
  • NVA を経由させる場合は、ネクストホップの種類に「仮想アプライアンス」を指定し、NVA のプライベート IP アドレスを指定します。図の例では、AP 用と DB 用の両方のサブネットに UDR を設定すると、行きと帰りの両方が NVA を通ります。

システムルートとユーザー定義ルート(UDR)の詳細は、次のドキュメントを参照してください。

仮想ネットワークピアリング

仮想ネットワークピアリングは、2つの VNet を、1つのネットワークのように通信できるようにつなぐ機能です。ピアリングした VNet の間の通信は、プライベート IP アドレスのまま Microsoft のバックボーンネットワークを通ります。パブリックなインターネットやゲートウェイを通らないので、低遅延・広帯域で通信できます。

種類つなぐもの
仮想ネットワークピアリング同じリージョンの VNet どうし
グローバル仮想ネットワークピアリング異なるリージョンの VNet どうし

次の図は、VNet 間の接続の概要です。

西日本リージョン東日本リージョンVNet AVMVNet BVMVNet CVMVNetピアリンググローバルVNet ピアリングVNet A と VNet C は、B を通しても通信できない(ピアリングは推移しない)
図5 VNet ピアリングとグローバル VNet ピアリング

ピアリングは推移しません。図のように A と B、B と C をピアリングしても、A と C は B を通して通信できません。A と C を通信させたいときは、A と C の間もピアリングするか、B に NVA などを置いて中継させます。また、アドレス空間が重なっている VNet どうしはピアリングできません。ピアリングは、異なるサブスクリプションや異なる Microsoft Entra テナントの VNet との間でも使えます。

VPN ゲートウェイとの違い

VNet どうしは、VPN ゲートウェイ(VNet 間接続)でもつなげます。ピアリングとの主な違いは次のとおりです。

項目VNet ピアリングVPN ゲートウェイ
ゲートウェイ不要それぞれの VNet に VPN ゲートウェイが必要
通信の形プライベート IP アドレスのまま、Microsoft のバックボーンで直接通信パブリック IP アドレスを持つゲートウェイ間の IPsec トンネル
暗号化暗号化の設定は不要IPsec で暗号化
帯域ピアリング自体による帯域の制限はないゲートウェイの SKU によって決まる

Azure 内の VNet どうしをつなぐだけなら、ゲートウェイを用意しなくてよく、帯域や遅延の面でも有利なピアリングがよく使われます。

仮想ネットワークピアリングの詳細は、次のドキュメントを参照してください。

まとめ

項目内容
仮想ネットワーク(VNet)Azure の中のプライベートなネットワーク。1つのリージョンに作る
アドレス空間とサブネットVNet に1つ以上のアドレス空間を割り当て、サブネットに分けて使う。既定ではサブネット間も通信できる
予約アドレス各サブネットで5つ(先頭の4つと最後の1つ)。/24 で使えるのは 251 個
システムルートと UDR既定の経路はシステムルート。UDR で上書きして NVA 経由などにできる
VNet ピアリングVNet どうしを Microsoft のバックボーンで直接つなぐ。リージョンをまたぐものはグローバル VNet ピアリング。推移しない

コメント