仮想ネットワーク(Azure Virtual Network、VNet)は、Azure の中にプライベートなネットワークを作るサービスです。Azure のリソースどうしの通信や、インターネット、オンプレミス環境との通信に使います。この記事では、VNet の基本的な考え方と、VNet 内の経路、VNet どうしをつなぐピアリングの概要を紹介します。
- VNet、アドレス空間、サブネットの関係と、サブネットで予約されるアドレス
- VNet 内の経路(システムルート)と、ユーザー定義ルート(UDR)での上書き
- VNet どうしをつなぐ仮想ネットワークピアリングと、VPN ゲートウェイとの違い
仮想ネットワークとは
VNet は、Azure 上の仮想マシン(VM)やその他のサービスなど、さまざまなリソースを相互に接続するクラウド上のネットワークです。VNet は1つのリージョンの中に作り、そのリージョンのリソースどうしの通信に使います。
VNet には、1つまたは複数の IP アドレス空間を割り当てます。アドレス空間にはパブリックアドレスもプライベートアドレス(RFC 1918)も使えますが、通常はプライベートアドレスを使います。アドレス空間は、オンプレミスのネットワークと同じように、より小さなサブネットに分けて使います。
VNet は、出入り口(ゲートウェイ)、いくつかのフロア(アドレス空間)、部屋(サブネット)を廊下や階段でつないだ建物にたとえられます。VNet を作ると、サブネットの中のアドレスが、VM などのリソースに割り当てられます。
次の図は、10.0.0.0/16 というアドレス空間を、AP 用と DB 用の2つのサブネットに分けた例です。それぞれのサブネットの VM には、サブネットの範囲から IP アドレスが割り当てられています。既定では、同じサブネットの中のリソースも、異なるサブネットのリソースどうしも通信できます。
サブネット間の通信は、ネットワークセキュリティグループ(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.3 | Azure DNS の IP アドレスを VNet のアドレス空間に対応付けるために予約 |
| x.x.x.255 | ブロードキャストアドレス |
そのため、/24 のサブネットでリソースに割り当てられるのは、256 − 5 = 251 個です。サブネットの大きさを決めるときは、この5つを差し引いて考えます。
仮想ネットワーク内部の接続
VNet には、リソースどうしが通信するための経路があらかじめ用意されています(システムルート)。Azure は各サブネットにルートテーブルを自動で作り、サブネット間、ピアリングした VNet、オンプレミス、インターネットへの経路を入れます。このシステムルートは、ユーザー定義ルート(UDR)で上書きできます。UDR を使うと、サブネット間の通信を FW などの仮想アプライアンス経由にするなど、トラフィックの流れを制御できます。
次の図で、既定の状態では、AP 用サブネットの VM と DB 用サブネットの VM は直接通信します。UDR を設定すると、この通信を FW などのネットワーク仮想アプライアンス(NVA)経由にできます。AP 用サブネットの VM が侵害された場合でも、DB 用サブネットの VM のデータへの通信は NVA を通るので、そこで検査や制限ができ、セキュリティを高められます。
- UDR は、ルートテーブルを作って UDR を追加し、そのルートテーブルをサブネットに関連付けて使います。1つのサブネットに関連付けられるルートテーブルは1つです。
- 経路は、宛先に最も長く一致するプレフィックス(ロンゲストマッチ)で選ばれます。同じプレフィックスの経路が複数あるときは、UDR、BGP ルート、システムルートの順に優先されます。
- NVA を経由させる場合は、ネクストホップの種類に「仮想アプライアンス」を指定し、NVA のプライベート IP アドレスを指定します。図の例では、AP 用と DB 用の両方のサブネットに UDR を設定すると、行きと帰りの両方が NVA を通ります。
システムルートとユーザー定義ルート(UDR)の詳細は、次のドキュメントを参照してください。
仮想ネットワークピアリング
仮想ネットワークピアリングは、2つの VNet を、1つのネットワークのように通信できるようにつなぐ機能です。ピアリングした VNet の間の通信は、プライベート IP アドレスのまま Microsoft のバックボーンネットワークを通ります。パブリックなインターネットやゲートウェイを通らないので、低遅延・広帯域で通信できます。
| 種類 | つなぐもの |
|---|---|
| 仮想ネットワークピアリング | 同じリージョンの VNet どうし |
| グローバル仮想ネットワークピアリング | 異なるリージョンの 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 ピアリング。推移しない |
コメント