次の方法で共有


Azure での既定の送信アクセス

Azure では、明示的に定義された送信接続方法なしで仮想マシン (VM) が仮想ネットワークにデプロイされると、送信パブリック IP アドレスが自動的に割り当てられます。 この IP アドレスにより、リソースからインターネットおよび Microsoft 内の他のパブリック エンドポイントへの送信接続が可能になります。 このアクセスは、既定の送信アクセスと呼ばれます。

仮想マシンの明示的な送信接続の例を次に示します。

  • NAT ゲートウェイに関連付けられているサブネットにデプロイされます。
  • アウトバウンド規則が定義されている標準ロード バランサーのバックエンド プール内にデプロイされている。
  • 基本的なパブリック ロード バランサーのバックエンド プール内にデプロイされている。
  • パブリック IP アドレスが明示的に関連付けられている仮想マシン。

明示的な送信オプションの図。

送信アクセスの既定設定がどのように、またいつ提供されるか

明示的な送信接続方法なしで仮想マシン (VM) がデプロイされている場合、Azure によって既定の送信パブリック IP アドレスが割り当てられます。 この IP は、既定の送信アクセス IP と呼ばれ、Microsoft によって所有されており、予告なしに変更される可能性があります。 運用環境のワークロードにはお勧めしません。

既定の送信アクセスのデシジョン ツリーの図。

メモ

場合によっては、NAT ゲートウェイや NVA/ファイアウォールにトラフィックを送信する UDR などの明示的な送信方法が構成されている場合でも、既定の送信 IP が非プライベート サブネット内の仮想マシンに割り当てられます。 これは、これらの明示的なメソッドが削除されない限り、既定の送信 IP がエグレスに使用されるわけではありません。 既定の送信 IP を完全に削除するには、サブネットをプライベートにし、仮想マシンを停止して割り当てを解除する必要があります。

重要

2026 年 3 月 31 日以降、新しい仮想ネットワークでは既定でプライベート サブネットが使用されます。つまり、インターネット上および Microsoft 内のパブリック エンドポイントに到達するには、明示的な送信方法を有効にする必要があります。 詳細については、公式告知を参照してください。 次のセクションで説明する明示的な形式の接続のいずれかを使用することをお勧めします。 その他の質問については、「FAQ: 既定の動作のプライベート サブネットへの変更」セクションを参照してください。

セキュリティ: 既定のインターネット アクセスは、ゼロ トラストの原則と矛盾しています。
明確さ: 明示的な接続は、暗黙的なアクセスよりも優先されます。
安定性: 既定の送信 IP は顧客所有ではなく、変更される可能性があり、中断の可能性があります。

既定の送信アクセスを使用する場合に機能しない構成の例を次に示します。

  • VM 上の複数の NIC によって、一貫性のない送信 IP が生成される可能性がある
  • Azure 仮想マシン スケール セットをスケーリングすると、送信 IP が変更される可能性があります
  • 送信 IP が仮想マシン スケール セット インスタンス間で一貫性がない、または連続していない

さらに、

  • 既定の送信アクセス IP は、フラグメント化されたパケットをサポートしていません
  • 既定の送信アクセス IP は ICMP ping をサポートしていません

パブリック接続の明示的な方法 (および既定の送信アクセスを無効にする) に切り替えるにはどうすれば良いですか?

プライベート サブネットの概要

  • 非公開でサブネットを作成すると、そのサブネット上の仮想マシンは既定の送信アクセスを使用してパブリック エンドポイントに接続できなくなります。
  • プライベート サブネット上の VM は、明示的な送信接続を使用してインターネット (または Microsoft 内のすべてのパブリック エンドポイント) に引き続きアクセスできます。

    メモ

    特定のサービスは、明示的なエグレス方法がないプライベート サブネット内の仮想マシンでは機能しません (例: Windows ライセンス認証と Windows 更新プログラム)。

プライベート サブネットを構成する方法

  • Azure portal でサブネットを選択し、次のように [プライベート サブネット] を有効にするチェック ボックスをオンにします。

プライベート サブネット オプションを示す Azure portal のスクリーンショット。

  • 次のスクリプトでは、PowerShell を使用してリソース グループと仮想ネットワークの名前を取得し、各サブネットをループしてプライベート サブネットを有効にします。
$resourceGroupName = ""
$vnetName = ""
 
$vnet = Get-AzVirtualNetwork -ResourceGroupName $resourceGroupName -Name $vnetName
 
foreach ($subnet in $vnet.Subnets) {
    if ($subnet.DefaultOutboundAccess -eq $null) {
        $subnet.DefaultOutboundAccess = $false
        Write-Output "Set 'defaultoutboundaccess' to \$false for subnet: $($subnet.Name)"
    } 
    elseif ($subnet.DefaultOutboundAccess -eq $false) {
        # Output message if the value is already $false
        Write-Output "already private for subnet: $($subnet.Name)"
    }
}
Set-AzVirtualNetwork -VirtualNetwork $vnet
az network vnet subnet update --resource-group rgname --name subnetname --vnet-name vnetname --default-outbound false
  • Azure Resource Manager テンプレートを使用して、defaultOutboundAccess パラメータの値を "false" に設定します
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vnetName": {
      "type": "string",
      "defaultValue": "testvm-vnet"
    },
    "subnetName": {
      "type": "string",
      "defaultValue": "default"
    },
    "subnetPrefix": {
      "type": "string",
      "defaultValue": "10.1.0.0/24"
    },
    "vnetAddressPrefix": {
      "type": "string",
      "defaultValue": "10.1.0.0/16"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2023-11-01",
      "name": "[parameters('vnetName')]",
      "___location": "westus2",
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('vnetAddressPrefix')]"
          ]
        },
        "subnets": [
          {
            "name": "[parameters('subnetName')]",
            "properties": {
              "addressPrefix": "[parameters('subnetPrefix')]",
              "defaultoutboundaccess": false
            }
          }
        ]
      }
    }
  ]
}

プライベート サブネットの制限事項

  • Windows などの仮想マシン オペレーティング システムをアクティブ化または更新するには、明示的な送信接続方法が必要です。

  • ユーザー定義ルート (UDR) を使用する構成では、Internetを持つ構成済みのルートプライベート サブネットで中断されます。

    • 一般的な例として、UDR を使用してアップストリーム ネットワーク仮想アプライアンス/ファイアウォールにトラフィックを誘導し、検査をバイパスする特定の Azure サービス タグの例外があります。

      • 次ホップの種類が仮想アプライアンスである宛先 0.0.0.0/0 の既定のルートは、一般的なケースで適用されます。

      • NVA/ファイアウォールをバイパスするために、サービスタグの宛先に対して次ホップの種類Internetが指定された 1 つ以上のルートが構成されます。 これらの宛先への接続元に対して明示的な送信接続方法も構成されていない限り、既定の送信アクセスは使用できないため、これらの宛先への接続の試行は失敗します。

    • この制限は、 VirtualNetworkServiceEndpoint別の次ホップの種類を使用するサービス エンドポイントの使用には適用されません。 「Virtual Network サービス エンドポイント」を参照してください。

  • 仮想マシンは、送信の明示的な方法なしで、プライベート サブネット内の同じリージョン内の Azure Storage アカウントに引き続きアクセスできます。 NSG は、エグレス接続を制御するために推奨されます。

  • プライベート サブネットは、PaaS サービスのホストに使用される委任されたサブネットまたはマネージド サブネットには適用されません。 これらのシナリオでは、送信接続は個々のサービスによって管理されます。

重要

ロード バランサー バックエンド プールが IP アドレスによって構成されている場合、継続的な既知の問題により、既定の送信アクセスが使用されます。 アウトバウンドのニーズが厳しい既定の構成とアプリケーションのセキュリティ保護のためには、ロード バランサーのバックエンド プール内の VM に NAT ゲートウェイを関連付け、トラフィックをセキュリティで保護します。 詳細については、既存の既知の問題に関する記事を参照してください。

明示的な送信メソッドを追加する

  • Virtual machines のサブネットに NAT ゲートウェイを関連付ける。 これは、ほとんどのシナリオで推奨される方法であることに注意してください。
  • アウトバウンド規則で構成された標準ロード バランサーを関連付ける。
  • Standard パブリック IP を仮想マシンのネットワーク インターフェイスのいずれかに関連付けます。
  • ファイアウォールまたはネットワーク仮想アプライアンス (NVA) を仮想ネットワークに追加し、ユーザー定義ルート (UDR) を使用してトラフィックをポイントします。

仮想マシン スケール セットに柔軟なオーケストレーション モードを使用する

FAQ: 既定の送信 IP アラートのクリア

VM に既定の送信 IP があることを示すアラートが表示されるのはなぜですか?

既定の送信 IP が VM/VMSS インスタンスに割り当てられているかどうかを追跡する NIC レベルのパラメーター (defaultOutboundConnectivityEnabled) があります。 これは、この状態にフラグを設定する VM/VMSS 用の Azure portal バナーを生成するために使用されます。 VM Advisor の "既定の送信を無効にする明示的な送信方法を追加する" も、このパラメーターを確認することによって動作します。

このアラートをクリアするにはどうすればよいですか?

  1. フラグ付き VM/VMSS には、送信の明示的な方法を使用する必要があります。 さまざまなオプションについては、上記のセクションを参照してください。
  2. 新しい既定の送信 IP が作成されないように、サブネットをプライベートにする必要があります。
  3. NIC レベルのパラメーターとフラグに変更を反映してクリアするには、フラグを持つサブネット内の該当する仮想マシンをすべて停止し、割り当てを解除する必要があります。 (これは逆の場合にも当てはまります。サブネット レベルのパラメーターを false に設定した後にマシンに既定の送信 IP を指定するには、仮想マシンの停止/割り当て解除が必要です)。

私はすでにアウトバウンドの明示的な方法を使用しているので、なぜこのアラートが表示されますか?

場合によっては、NAT ゲートウェイや NVA/ファイアウォールにトラフィックを送信する UDR などの明示的な送信方法が構成されている場合でも、既定の送信 IP が非プライベート サブネット内の仮想マシンに割り当てられます。 これは、これらの明示的なメソッドが削除されない限り、既定の送信 IP がエグレスに使用されるわけではありません。 既定の送信 IP を完全に削除 (およびアラートを削除) するには、サブネットをプライベートにし、仮想マシンを停止して割り当てを解除する必要があります。

FAQ: プライベート サブネットへの既定の動作変更

プライベート サブネットを既定にすることは何を意味し、どのように実装されますか?

2026 年 3 月 31 日以降にリリースされた API バージョンでは、新しい VNET のサブネットの defaultOutboundAccess プロパティが既定で "false" に設定されます。 この変更により、サブネットは既定でプライベートになり、それらのサブネット内の仮想マシンの既定の送信 IP が生成されません。 この動作は、ARM テンプレート、Azure portal、PowerShell、CLI など、すべての構成方法に適用されます。 以前のバージョンの ARM テンプレート (または古いバージョンを指定できる Terraform などのツール) では、引き続き defaultOutboundAccess が null に設定され、送信アクセスが暗黙的に許可されます。

既存の VNET と仮想マシンはどうなりますか? 既存の VNET で作成された新しい仮想マシンはどうでしょうか。

既存の VNET に対する変更は行われません。 つまり、サブネットがプライベートになるように手動で変更されない限り、既存の仮想マシンとこれらの VNET 内に新しく作成された仮想マシンの両方で、既定の送信 IP アドレスが生成され続けます。

新しい仮想ネットワークのデプロイについて インフラストラクチャは既定の送信 IP に依存しており、現時点ではプライベート サブネットに移動する準備ができていません。

サポートされている任意の方法 (ARM テンプレート、ポータル、CLI、PowerShell) を使用して、サブネットを非プライベートとして構成できます。 これにより、既定の送信 IP に依存し、プライベート サブネットにまだ移行する準備ができていないインフラストラクチャの互換性が確保されます。

次のステップ

Azure の送信接続の詳細については、次を参照してください。