クラウド2つ目を勉強しているエンジニアがよく感じるつまずきです。VNetとVPC、サブネットとサブネット——言葉は似ていても、背後にある設計思想には明確な差があります。この差を曖昧にしたまま構築を進めると、NATゲートウェイの置き場所や経路制御の段階で必ず壁にぶつかります。
この記事では、Azure VNet Subnetの仕組みをAWS Subnetとの比較を軸に解説します。RHEL 9系/Ubuntu 22.04 LTSの端末からazコマンドを実行できる環境を想定しています。アドレス空間の設計から、パブリックサブネット概念の有無、NAT Gateway配置の違い、UDR(ユーザー定義ルート)による経路制御まで、順を追って解説します。
この記事のポイント
・Azure VNet SubnetはすべてデフォルトでプライベートIPのみ
・NATゲートウェイはサブネットに直接アタッチ。中間サブネット不要
・経路制御はAWSがルートテーブル、AzureはUDRでシステムルートを上書き
・VNetは複数のアドレス空間を後から追加可能でCIDR設計が柔軟
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
AzureのVNetとAWSのVPCはどこが違うのか
AWSのVPCもAzureのVNetも、クラウド内に作る仮想的なプライベートネットワークです。どちらもCIDR表記でIPアドレス範囲を指定し、サブネットに分割して使います。しかし設計の細部には明確な違いがあります。最大の違いは「パブリックサブネット/プライベートサブネット」という区別がAzureには存在しない点です。AWSではサブネットのルートテーブルにInternet Gateway(IGW)へのルートを加えることでパブリックサブネットを実現しますが、AzureのサブネットはすべてデフォルトでプライベートIPのみです。インターネットへの公開はNIC(ネットワークインターフェース)へのパブリックIPアタッチや、NAT Gatewayを介したアウトバウンド接続で制御します。
| 概念 | AWS VPC | Azure VNet |
|---|---|---|
| ネットワーク単位 | VPC(Virtual Private Cloud) | VNet(Virtual Network) |
| アドレス範囲 | プライマリCIDR 1本(/16 ~ /28)+ セカンダリ追加可 | アドレス空間(複数定義可)(/8 ~ /29) |
| サブネット分類 | パブリック / プライベートの区別あり | 区別なし(すべてプライベートIPのみ) |
| インターネット接続 | Internet Gateway(IGW)+ ルートテーブル | パブリックIP / NAT Gateway / LB |
| 経路制御 | ルートテーブル(明示的 / 暗黙的) | システムルート + UDR(ユーザー定義ルート) |
VNetのアドレス空間とサブネット設計の基本
1. アドレス空間(Address Space)の定義
AWSのVPCはCIDRブロックを原則1本で定義します(/16 ~ /28の範囲。セカンダリCIDRの追加は可能ですが制約があります)。一方、AzureのVNetは「アドレス空間」という概念を持ち、1つのVNetに複数のCIDRブロックを同時に定義できます。たとえば10.0.0.0/16 と 192.168.0.0/24 を同一VNetに共存させることも可能です。後からアドレス空間を追加できるため、VNet設計を変更するときの柔軟性がAWSより高いといえます。azコマンドでVNetとサブネットを作成する例(出力例は環境により異なります):
# リソースグループの作成 az group create --name myRG --location japaneast # VNetの作成(アドレス空間: 10.0.0.0/16) az network vnet create \ --resource-group myRG \ --name myVNet \ --address-prefix 10.0.0.0/16 \ --location japaneast # サブネットの作成 az network vnet subnet create \ --resource-group myRG \ --vnet-name myVNet \ --name mySubnet \ --address-prefix 10.0.1.0/24
2. サブネット内の予約アドレス
AWSとAzureはどちらのサブネットでも先頭4つと末尾1つ、合計5つのIPアドレスがシステムに予約されています。/24サブネット(256アドレス)では 256 - 5 = 251アドレスが使用可能です。Azure固有の予約内訳は以下の通りです(10.0.1.0/24の場合):
10.0.1.0 ネットワークアドレス 10.0.1.1 デフォルトゲートウェイ(Azureが使用) 10.0.1.2 Azure DNSにマッピング(Azureが使用) 10.0.1.3 Azureが将来の予約として確保 10.0.1.255 ブロードキャストアドレス
AWSとAzureのサブネット設計の違い
1. AWSの「パブリックサブネット」の正体
AWSのパブリックサブネットは「サブネット自体の属性」ではありません。ルートテーブルに0.0.0.0/0 → Internet Gateway(igw-xxx) のルートが存在するサブネットを「パブリック」と呼んでいるだけです。サブネット作成時点では区別がなく、ルートテーブルの変更によってパブリックにもプライベートにもなります。パブリックIPの自動割り当て設定(Enable auto-assign public IPv4 address)もサブネット側の属性として存在し、有効化しておくと起動したVMインスタンスに自動でパブリックIPが付与されます。
2. Azureにはパブリックサブネットがないことの意味
AzureのVNetサブネットには「パブリック/プライベート」の区別がなく、すべてのサブネットがプライベートIPのみを持つ設計です。インターネットからVMにアクセスするには、VMのNICに「パブリックIPリソース」を直接アタッチします。インターネットからの受信アクセスは「NICのパブリックIP + NSG(Network Security Group)のインバウンドルール」で制御します。NSGで許可するポートを精査するにはLinuxのポート確認コマンドが役立ちます。ss・lsofを使ったポート確認の全コマンドはこちらを参考にしてください。
3. NATゲートウェイのアーキテクチャの違い
プライベートIPのみを持つVMからインターネットにアウトバウンド接続を行う場合、AWSとAzureではNAT Gatewayの構成が大きく異なります。| 比較軸 | AWS NAT Gateway | Azure NAT Gateway |
|---|---|---|
| 配置場所 | パブリックサブネット内に配置 | サブネットに直接アタッチ |
| 前提条件 | Internet Gatewayが必要 | パブリックIPまたはIPプレフィックス |
| ルートの変更 | プライベートSubnetのルートテーブルに追加 | アタッチされたSubnetに自動適用 |
| 中間サブネット | NAT用パブリックサブネットが必要 | 不要 |
経路設計の違い|ルートテーブルとUDR
1. AWSのルートテーブル
AWSのVPCには作成と同時に「メインルートテーブル(暗黙的)」が存在します。サブネットに明示的なルートテーブルをアタッチしない場合、メインルートテーブルが使われます。宛先として最長プレフィックスが優先されるのはAWSもAzureも共通の仕様です。2. AzureのUDR(ユーザー定義ルート)
AzureのVNetにはデフォルトの「システムルート」が自動的に存在し、VNet内の通信はシステムルートによって最初から可能です。これはAWSのメインルートテーブルに10.0.0.0/16 → local が自動設定されている状態に近い概念です。システムルートを上書きしたい場合は、UDR(ユーザー定義ルート)を作成してサブネットにアタッチします。
# ルートテーブルの作成 az network route-table create \ --resource-group myRG \ --name myRouteTable \ --location japaneast # カスタムルートの追加(オンプレへのルートを仮想アプライアンス経由に) az network route-table route create \ --resource-group myRG \ --route-table-name myRouteTable \ --name toOnprem \ --address-prefix 192.168.0.0/24 \ --next-hop-type VirtualAppliance \ --next-hop-ip-address 10.0.2.4 # サブネットへのルートテーブルのアタッチ az network vnet subnet update \ --resource-group myRG \ --vnet-name myVNet \ --name mySubnet \ --route-table myRouteTable
--next-hop-type にはVirtualNetwork、Internet、None、VirtualAppliance、VnetLocal、ExpressRouteGatewayなど複数の選択肢があります。AWSのルートエントリの「Target」に相当します。3. VNetピアリングとアドレス空間の重複
AWSのVPCピアリングもAzureのVNetピアリングも、デフォルトではトランジティブルーティング(A↔B↔CのようにBを経由してA-C間通信)はサポートされていません。AWSではTransit Gateway、AzureではVirtual WANまたはAzure Firewallを中継点として使います。VNetピアリング設定時にアドレス空間が重複していると作成が拒否されます。AzureのVNetは複数のアドレス空間を持てるため、意図せず重複が入っていないかを事前に確認しておく必要があります。IPv6デュアルスタックの設定も組み合わせる場合はIPv6 設定の参考も合わせて参照してください。
トラブルシュートとよくある間違い
「パブリックサブネットをどう作るか」という問いが間違い
AWSから移行したエンジニアが最もよく迷うのが「Azureにどうやってパブリックサブネットをつくるか」という問いかけ自体が誤りである点です。Azureにはパブリックサブネットという概念がなく、インターネットへの公開はNICへのパブリックIPアタッチとNSGルールで実現します。「サブネット=パブリック」という構造から「VM/NICにパブリックIPを持たせる」という構造に発想を切り替えることが重要です。NSGのアウトバウンドルールによるNAT Gatewayブロック
NAT GatewayをサブネットにアタッチしたのにVMからアウトバウンド通信が出ない場合、NSGのアウトバウンドルールを確認します。AzureのデフォルトアウトバウンドルールにはAllowInternetOutBound(優先度65001)が存在しますが、それより優先度(数値が小さい)の高い DenyAll カスタムルールが追加されていると通信がブロックされます。VNetアドレス空間の重複によるピアリング失敗
VNetピアリング設定時に「アドレス空間が重複している」と拒否されることがあります。AzureのVNetは複数のアドレス空間を定義できるため、不要なアドレス空間が残っていないか確認します。# VNetのアドレス空間を確認 az network vnet show \ --resource-group myRG \ --name myVNet \ --query "addressSpace.addressPrefixes" # 出力例(環境により異なります) [ "10.0.0.0/16" ]
まとめ
Azure VNet SubnetとAWS Subnetの主な違いをまとめます。| 比較ポイント | AWS Subnet | Azure VNet Subnet |
|---|---|---|
| パブリック/プライベート区別 | ルートテーブルのIGWルートで決まる | 区別なし。すべてプライベートIPのみ |
| インターネット公開 | IGW + パブリックIP + ルートテーブル | NICへのパブリックIPアタッチ + NSG |
| アウトバウンドNAT | NAT GatewayをパブリックSubnetに配置 | NAT GatewayをSubnetに直接アタッチ |
| デフォルト経路 | メインルートテーブル(暗黙的) | システムルート(自動) |
| カスタム経路 | ルートテーブルを作成してSubnetに関連付け | UDRを作成してSubnetにアタッチ |
| アドレス予約数 | 5(先頭4 + 末尾1) | 5(先頭4 + 末尾1) |
| 複数アドレス空間 | セカンダリCIDR追加(制約あり) | 複数アドレス空間を後から自由に追加可 |
AzureのVNet設計・サブネット分割・UDRによる経路制御まで、手を動かして理解できるハンズオン研修を用意しています。
>> Azureサーバー構築ハンズオン研修の詳細はこちら
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 前のページへ:awsとazureの違いはサブネット設計にあり|azure NAT構成で検証
- この記事の属するカテゴリ:Azureへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます