「Azure上にサーバーを立てたが、ネットワーク構成がよくわからない」——オンプレのネットワーク設計経験はあるのに、クラウドの仮想ネットワークで手が止まるインフラエンジニアは少なくありません。
オンプレでは、物理スイッチにVLANを切り、ファイアウォールでセグメントを区切り、ルーターでルーティングテーブルを組んでいました。AzureのVirtual Network(VNet)でも基本的な考え方は同じですが、物理機器が一切登場しない分、設定の入り口や操作の手順が大きく異なります。
この記事では、Azure VNetの基本構造からサブネット設計、NSG(ネットワークセキュリティグループ)によるアクセス制御、VNetピアリングによるネットワーク間接続、料金体系まで、オンプレ経験者が現場で使える知識を体系的に解説します。

なぜAzure VNetなのか?オンプレネットワークとの違い
オンプレのネットワーク構築を思い出してください。スイッチのポートにケーブルを差し、VLANを設定し、L3スイッチやルーターでサブネット間のルーティングを制御する。ファイアウォールのACLで通信制御を行い、構成変更のたびにメンテナンスウィンドウを確保していたはずです。
Azure VNetでは、こうした物理作業がすべてソフトウェアで完結します。主な違いを整理します。
・物理機器の調達・配線が不要: スイッチもルーターもファイアウォールも、Azureポータルから数クリックで作成できる。ラッキングやケーブリングの作業から完全に解放される
・アドレス空間を柔軟に設計できる: CIDRブロックで自由にIPアドレス範囲を定義でき、後から拡張も可能。オンプレでは物理サブネットの変更は大がかりな作業だったが、VNetでは数分で完了する
・通信制御がステートフル: NSGのルールはステートフルに動作するため、戻りの通信を個別に許可する必要がない。オンプレのステートレスACLで苦労していた方には朗報
・VNet間の接続が容易: VNetピアリングを使えば、異なるVNet間をMicrosoftのバックボーンネットワーク経由で直接接続できる。拠点間VPN装置の設置が不要
オンプレのネットワークが「物理機器の上に構成を積み上げる」アプローチだとすれば、Azure VNetは「論理的な設計図をそのままデプロイする」アプローチです。ネットワーク設計の知識はそのまま活きますが、操作方法はまったく異なります。
Azure VNetの基本構造(VNet・サブネット・NIC)
VNetは3つの主要なコンポーネントで構成されています。オンプレのネットワーク構成要素と対比しながら説明します。
1. VNet(仮想ネットワーク)
VNetは、Azure上に作成するプライベートネットワーク空間です。オンプレでいえば「データセンター全体のネットワーク」に相当します。
VNetを作成する際に、CIDRブロックでアドレス空間を定義します。たとえば 10.0.0.0/16 を指定すると、10.0.0.0〜10.0.255.255の65,536個のIPアドレスが使えます。RFC 1918のプライベートアドレス範囲(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)から選ぶのが基本です。
VNetはリージョンに紐づきます。東日本リージョン(japaneast)に作成したVNetは、そのリージョン内のリソースだけが直接参加できます。別リージョンのVNetとはピアリングで接続します。
2. サブネット
サブネットは、VNet内のアドレス空間をさらに分割したネットワークセグメントです。オンプレの「VLAN」に近い概念です。
たとえば 10.0.0.0/16 のVNet内に、以下のようなサブネットを作成できます。
・Webサブネット: 10.0.1.0/24(Webサーバー用、256アドレス)
・APサブネット: 10.0.2.0/24(アプリケーションサーバー用、256アドレス)
・DBサブネット: 10.0.3.0/24(データベースサーバー用、256アドレス)
・GatewaySubnet: 10.0.255.0/27(VPN Gateway用、32アドレス)
注意点として、Azureは各サブネットの先頭4つと末尾1つの計5つのIPアドレスをシステム予約します。たとえば 10.0.1.0/24 の場合、10.0.1.0(ネットワークアドレス)、10.0.1.1(デフォルトゲートウェイ)、10.0.1.2〜10.0.1.3(Azure DNS用)、10.0.1.255(ブロードキャスト)が予約され、実際に使えるのは251個です。オンプレでは先頭と末尾の2つだけが予約だったので、この違いは設計時に押さえておく必要があります。
3. NIC(ネットワークインターフェース)
NICは、VMなどのリソースをサブネットに接続するためのインターフェースです。オンプレの「物理NICにIPアドレスを割り当てる」操作に相当します。
Azure VMは最低1つのNICを持ち、VMのサイズによっては複数のNICを接続できます。各NICにはプライベートIPアドレスが割り当てられ、必要に応じてパブリックIPアドレスも関連付けられます。

VNetとサブネットの作成手順(Azureポータル&Azure CLI)
1. Azureポータルでの作成
Azureポータル(https://portal.azure.com)から作成する手順です。
1. ポータル上部の検索バーで「仮想ネットワーク」と入力し、サービスを選択
2. 「作成」をクリック
3. サブスクリプションとリソースグループを選択
4. VNet名を入力(例: vnet-prod-jpe-001)
5. リージョンは「東日本(Japan East)」を選択
6. 「IPアドレス」タブに移動し、アドレス空間を設定(例: 10.0.0.0/16)
7. 「サブネットの追加」でサブネットを定義(例: snet-web / 10.0.1.0/24)
8. 「セキュリティ」タブでAzure BastionやAzure Firewallの有効化を検討(初期構築では後回しでOK)
9. 「確認および作成」→「作成」でデプロイ開始。通常1分以内で完了する
2. Azure CLIでの作成
スクリプト化や繰り返しの構築にはAzure CLIが効率的です。
# VNetの作成(Azure CLI) az network vnet create --name vnet-prod-jpe-001 --resource-group rg-network-prod --location japaneast --address-prefixes 10.0.0.0/16 # Webサブネットの作成 az network vnet subnet create --name snet-web --vnet-name vnet-prod-jpe-001 --resource-group rg-network-prod --address-prefixes 10.0.1.0/24 # APサブネットの作成 az network vnet subnet create --name snet-app --vnet-name vnet-prod-jpe-001 --resource-group rg-network-prod --address-prefixes 10.0.2.0/24 # DBサブネットの作成 az network vnet subnet create --name snet-db --vnet-name vnet-prod-jpe-001 --resource-group rg-network-prod --address-prefixes 10.0.3.0/24 # サブネット一覧の確認 az network vnet subnet list --vnet-name vnet-prod-jpe-001 --resource-group rg-network-prod --output table
VNet名やサブネット名には、用途・環境・リージョンを含めた命名規則を使うと管理が楽です。Microsoftの推奨命名規則では、VNetは vnet-<用途>-<リージョン>-<連番>、サブネットは snet-<用途> の形式です。
NSG(ネットワークセキュリティグループ)で通信を制御する
NSGは、サブネットやNICに適用するステートフルなファイアウォールルールです。オンプレの「ファイアウォールのACL」に相当しますが、ステートフルに動作する点が大きな違いです。
1. NSGの基本ルール構造
NSGのルールは、以下の要素で構成されます。
・優先度: 100〜4096の数値で指定。小さい数値ほど優先される
・送信元/宛先: IPアドレス、CIDRブロック、サービスタグ、アプリケーションセキュリティグループ(ASG)
・ポート: 単一ポート、範囲(例: 8080-8090)、またはワイルドカード(*)
・プロトコル: TCP、UDP、ICMP、Any
・アクション: Allow(許可)またはDeny(拒否)
オンプレのACLと異なる重要なポイントは、Azureが自動的に付与するデフォルトルールの存在です。たとえば、同一VNet内の通信は優先度65000のAllowルールで許可されています。インターネットへのアウトバウンド通信も優先度65001で許可されています。これらのデフォルトルールは削除できませんが、より低い優先度番号のルールで上書きできます。
2. Webサーバー向けNSGの設定例
3層構成のWebサブネットに適用するNSGをAzure CLIで作成します。
# NSGの作成(Azure CLI) az network nsg create --name nsg-web --resource-group rg-network-prod --location japaneast # HTTP(80)を許可 az network nsg rule create --nsg-name nsg-web --resource-group rg-network-prod --name Allow-HTTP --priority 100 --direction Inbound --access Allow --protocol Tcp --source-address-prefixes '*' --destination-port-ranges 80 # HTTPS(443)を許可 az network nsg rule create --nsg-name nsg-web --resource-group rg-network-prod --name Allow-HTTPS --priority 110 --direction Inbound --access Allow --protocol Tcp --source-address-prefixes '*' --destination-port-ranges 443 # SSH(22)を特定IPからのみ許可 az network nsg rule create --nsg-name nsg-web --resource-group rg-network-prod --name Allow-SSH-Office --priority 200 --direction Inbound --access Allow --protocol Tcp --source-address-prefixes '203.0.113.10/32' --destination-port-ranges 22 # NSGをサブネットに関連付け az network vnet subnet update --name snet-web --vnet-name vnet-prod-jpe-001 --resource-group rg-network-prod --network-security-group nsg-web
NSGはサブネットとNICの両方に適用できます。実務では、サブネット単位でベースラインのルールを適用し、個別のVMに追加のNSG制限が必要な場合のみNIC単位で設定する方法が管理しやすいです。オンプレの「ゾーンベースのファイアウォール+個別ACL」の考え方に近いアプローチです。
【重要】サービスタグを活用する
NSGルールの送信元・宛先には、IPアドレスの代わりに「サービスタグ」を使えます。サービスタグは、AzureサービスのIPアドレス範囲をグループ化したラベルです。
・Internet: インターネットからのすべてのトラフィック
・VirtualNetwork: VNet内および接続されたネットワークからのトラフィック
・AzureLoadBalancer: Azure Load Balancerのヘルスプローブからのトラフィック
・Sql.JapanEast: 東日本リージョンのAzure SQLのIPアドレス範囲
・Storage.JapanEast: 東日本リージョンのAzure StorageのIPアドレス範囲
サービスタグを使えば、AzureサービスのIPアドレスが変更されてもNSGルールを更新する必要がありません。オンプレではIPアドレスの変更通知に振り回されていた方も多いと思いますが、サービスタグで解放されます。
VNetピアリングでネットワークを接続する
VNetピアリングは、2つのVNetをMicrosoftのバックボーンネットワーク経由で接続する機能です。オンプレでいえば「拠点間VPN」や「専用線接続」に相当しますが、設定は圧倒的に簡単です。
1. ピアリングの種類
・リージョナルピアリング: 同一リージョン内のVNet間の接続。追加の送受信料金は発生しない(2026年4月時点)
・グローバルピアリング: 異なるリージョン間のVNet間の接続。データ転送料金が発生する
2. ピアリングの設定(Azure CLI)
本番環境のVNetと開発環境のVNetを接続する例です。
# 本番VNet → 開発VNetへのピアリング作成(Azure CLI) az network vnet peering create --name peer-prod-to-dev --vnet-name vnet-prod-jpe-001 --resource-group rg-network-prod --remote-vnet /subscriptions/{sub-id}/resourceGroups/rg-network-dev/providers/Microsoft.Network/virtualNetworks/vnet-dev-jpe-001 --allow-vnet-access # 開発VNet → 本番VNetへのピアリング作成(双方向の設定が必要) az network vnet peering create --name peer-dev-to-prod --vnet-name vnet-dev-jpe-001 --resource-group rg-network-dev --remote-vnet /subscriptions/{sub-id}/resourceGroups/rg-network-prod/providers/Microsoft.Network/virtualNetworks/vnet-prod-jpe-001 --allow-vnet-access
ピアリングで注意すべき点は2つあります。
1つ目は、ピアリングは双方向の設定が必要なことです。VNet Aから見たピアリングとVNet Bから見たピアリングの両方を作成しないと、通信が成立しません。片方だけ設定して「つながらない」と悩むケースは現場でもよくあります。
2つ目は、アドレス空間の重複が許されないことです。VNet Aが 10.0.0.0/16、VNet Bが 10.0.0.0/16 の場合、ピアリングは作成できません。VNet設計の段階でアドレス空間を重複させないよう計画しておく必要があります。
料金の仕組み(VNet関連のコスト感覚)
VNet自体の作成・利用は無料です。オンプレではスイッチやルーターの機器代がかかっていたことを考えると、これは大きなメリットです。ただし、VNet関連のサービスには課金されるものがあります。
| サービス | 料金(東日本リージョン・2026年4月時点) | 用途 |
|---|---|---|
| VNet本体 | 無料 | 仮想ネットワークの作成・利用 |
| VNetピアリング(同一リージョン) | 送受信それぞれ約$0.01/GB | VNet間のデータ転送 |
| VNetピアリング(リージョン間) | 送受信それぞれ約$0.035〜0.075/GB | 異なるリージョンのVNet間接続 |
| VPN Gateway(Basic) | 約$0.04/時間(約$29/月) | オンプレとのサイト間VPN接続 |
| パブリックIPアドレス(静的) | 約$0.005/時間(約$3.6/月) | インターネット向けの固定IP |
| Azure Bastion(Basic) | 約$0.19/時間(約$139/月) | VMへのセキュアなリモートアクセス |
コスト感覚として最も重要なのは、VPN GatewayとAzure Bastionは時間課金で起動している限り課金される点です。検証目的で作成して停止を忘れると、月末に想定外の請求が届きます。検証が終わったらリソースごと削除するか、本番で必要な場合は事前に月額を見積もっておくことが重要です。
よくあるトラブルと対処法
VNet周りで現場でよく遭遇するトラブルと、その対処法をまとめます。
・VM間の通信ができない: まずNSGのルールを確認します。Azureポータルの「ネットワークウォッチャー」→「NSG診断」機能を使うと、特定のトラフィックがどのルールでブロックされているかを確認できます。サブネット単位のNSGとNIC単位のNSGの両方がある場合、両方のルールを通過する必要がある点に注意してください
・VNetピアリングのステータスが「Initiated」のまま: 片方向のピアリングしか作成していないケースです。もう一方のVNetからも逆方向のピアリングを作成すると、ステータスが「Connected」に変わります
・アドレス空間の不足: サブネットに割り当てるIPアドレスが足りなくなったときは、VNetのアドレス空間にCIDRブロックを追加できます。ただし、既存のサブネットの範囲を変更するにはサブネットの再作成が必要です。初期設計で余裕を持ったアドレス空間(/16など)を確保しておくことが重要です
・オンプレからAzureへの通信が遅い: VPN Gatewayのスループットはゲートウェイのサイズに依存します。Basicプランはテストトラフィックなら十分ですが、本番利用では帯域制限に引っかかることがあります。トラフィック量に応じてVpnGw1〜VpnGw5にスケールアップを検討してください

本記事のまとめ
Azure VNetの基本をオンプレのネットワーク構成と対比しながら整理します。
| やりたいこと | Azureサービス/機能 | オンプレ相当 |
|---|---|---|
| プライベートネットワークを構築する | Azure VNet | データセンターLAN / VPN |
| ネットワークをセグメント分割する | サブネット | VLAN / L3スイッチ |
| 通信を許可・拒否する | NSG | ファイアウォール ACL |
| 別のネットワークと接続する | VNetピアリング | 拠点間VPN / 専用線 |
| VMにIPアドレスを割り当てる | NIC + プライベートIP | 物理NIC + DHCPまたは固定IP |
| インターネット向けの固定IPを取得する | パブリックIPアドレス | グローバルIP(ISP契約) |
VNetの設計は、Azure環境全体の基盤となります。後からアドレス空間を変更するのは手間がかかるため、初期設計の段階で「サブネットの用途分け」「将来のVNetピアリングを見据えたアドレス空間の重複回避」を検討しておくことが重要です。
AWSのネットワークサービスであるAmazon VPCとの比較を検討している方は、VPCの「セキュリティグループ」がAzureの「NSG」に相当し、VPCピアリングとVNetピアリングも基本的な考え方は共通しています。Linuxサーバーのネットワーク設定については、姉妹サイトLinuxMaster.JPで詳しく解説しています。
オンプレのネットワーク設計経験、クラウドでも活かしませんか?
Azure VNetの基本構造がわかったら、次はNSGの実践的なルール設計やハブ&スポークトポロジに進みましょう。
オンプレの経験を活かしながら、現場で使えるクラウドスキルを体系的に身につけたい方へ、メルマガで実践的なクラウド活用ノウハウをお届けしています。


コメント