次の方法で共有


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

Azure では、明示的な送信接続が定義されていない仮想ネットワークで作成された仮想マシンには、既定の送信パブリック IP アドレスが割り当てられます。 この IP アドレスにより、リソースからインターネットへの送信接続が可能になります。 このアクセスは、既定の送信アクセスと呼ばれます。

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

  • NAT Gateway に関連付けられているサブネット内に作成されている。

  • アウトバウンド規則が定義されている標準ロード バランサーのバックエンド プール内にデプロイされている。

  • 基本的なパブリック ロード バランサーのバックエンド プール内にデプロイされている。

  • パブリック IP アドレスが明示的に関連付けられている仮想マシン。

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

既定の送信アクセスの提供方法

アクセスに使用されるパブリック IPv4 アドレスは、既定の送信アクセス IP と呼ばれます。 この IP は暗黙的であり、Microsoft に属しています。 この IP アドレスは変更される可能性があるため、実稼働ワークロードでこれに依存することはお勧めしません。

既定の送信アクセスはどのようなときに提供されるか

Azure に仮想マシンをデプロイし、それが明示的な送信接続を持っていなかった場合に、既定の送信アクセス IP が割り当てられます。

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

重要

2025年9月30日、新規デプロイの既定のアウトバウンドアクセスが廃止されます。 詳細については、公式告知を参照してください。 次のセクションで説明する明示的な形式の接続のいずれかを使用することをお勧めします。

  • デフォルトで安全

    • ゼロ トラスト ネットワーク セキュリティ原則を使用して、既定でインターネットへの仮想ネットワークを開くことはお勧めしません。
  • 明示的と暗黙的

    • 仮想ネットワーク内のリソースにアクセスを許可する場合は、暗黙的ではなく明示的な接続方法を使用することをお勧めします。
  • IP アドレスの損失

    • 顧客は、既定の送信アクセス IP を所有していません。 この IP は変更される可能性があり、IP への依存はいずれも今後問題を引き起こす可能性があります。

既定の送信アクセスを使うと機能しない構成の例:

  • 複数の NIC が同じ VM にある場合は、既定の送信 IP がすべての NIC で常に同じにはなりません。
  • 仮想マシン スケール セットをスケールアップまたはスケールダウンすると、個々のインスタンスに割り当てられた既定の送信 IP が変更される可能性があります。
  • 同様に、既定の送信 IP は、仮想マシン スケール セット内の VM インスタンス間で一貫または連続していません。

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

既定の送信アクセスをオフにする方法は複数あります。 以降のセクションでは、使用可能なオプションについて説明します。

プライベート サブネット パラメーターを使用する

  • 非公開でサブネットを作成すると、そのサブネット上の仮想マシンは既定の送信アクセスを使用してパブリック エンドポイントに接続できなくなります。

  • プライベート サブネット上の VM は、明示的な送信接続を使用してインターネットに引き続きアクセスできます。

    メモ

    特定のサービスは、明示的なエグレスのメソッドがないプライベート サブネット内の仮想マシンでは機能しません (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 などの仮想マシン オペレーティング システムをアクティブ化または更新するには、明示的な送信接続方法が必要です。

  • アップストリームのファイアウォール/ネットワーク仮想アプライアンスにトラフィックを送信する既定のルート (0.0.0.0/0) を持つユーザー定義ルート (UDR) を使用する構成では、このルートをバイパスするトラフィック (たとえば、サービスタグ付き宛先) がプライベート サブネットで中断されます。

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

明示的な送信接続の方法を追加する

  • Virtual machines のサブネットに NAT ゲートウェイを関連付ける。

  • アウトバウンド規則で構成された標準ロード バランサーを関連付ける。

  • Standard パブリック IP を仮想マシンのネットワーク インターフェイスのいずれかに関連付ける (複数のネットワーク インターフェイスがある場合、Standard パブリック IP を持つ NIC が 1 つだと、仮想マシンの既定の送信アクセスが禁止されます)。

メモ

既定の送信アクセスが使用されているかどうかを追跡する NIC レベルのパラメーター (defaultOutboundConnectivityEnabled) があります。 明示的な送信接続方法を仮想マシンに追加する場合、パラメーターを更新するには、仮想マシンを再起動する必要があります。 Advisor 「既定の送信を無効にするために明示的な送信メソッドを追加する」は、このパラメータをチェックして動作します。そのため、変更を反映させてアクションを解除するには、仮想マシンの停止/割り当て解除が必要です。

Virtual Machine Scale Sets のフレキシブル オーケストレーション モードを使用する

重要

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

NAT ゲートウェイは、明示的な送信接続を持たせるために推奨される方法です。 ファイアウォールの使用によっても、このアクセスを提供できます。

制約

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

  • 既定の送信アクセス IP では、ICMP ping はサポートされていません。

次のステップ

Azure および Azure NAT Gateway の送信接続の詳細については、以下をご覧ください。