仮想ネットワーク サブネットの追加、変更、削除Add, change, or delete a virtual network subnet

仮想ネットワーク サブネットを追加、変更、削除する方法について説明します。Learn how to add, change, or delete a virtual network subnet. 仮想ネットワークにデプロイされているすべての Azure リソースは、仮想ネットワーク内のサブネットにデプロイされます。All Azure resources deployed into a virtual network are deployed into a subnet within a virtual network. 仮想ネットワークが初めての方は、仮想ネットワークの概要に関するページで、あるいはクイックスタートを行うことで詳しく学習できます。If you're new to virtual networks, you can learn more about them in the Virtual network overview or by completing a quickstart. 仮想ネットワークの管理の詳細については、「仮想ネットワークの作成、変更、削除」をご覧ください。To learn more about managing a virtual network, see Create, change, or delete a virtual network.

開始する前にBefore you begin

Azure アカウントをお持ちでない場合は、アクティブなサブスクリプションを使用してそれを設定します。If you don't have one, set up an Azure account with an active subscription. 無料でアカウントを作成できますCreate an account for free. その後、この記事のセクションに記載された手順を始める前に、次のいずれかのタスクを完了してください。Then complete one of these tasks before starting steps in any section of this article:

  • ポータル ユーザー: Azure アカウントで Azure Portal にサインインします。Portal users: Sign in to the Azure portal with your Azure account.

  • PowerShell ユーザー:Azure Cloud Shell でコマンドを実行するか、お使いのコンピューターから PowerShell を実行します。PowerShell users: Either run the commands in the Azure Cloud Shell, or run PowerShell from your computer. Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。It has common Azure tools preinstalled and configured to use with your account. Azure Cloud Shell のブラウザー タブで、 [環境の選択] ドロップダウン リストを見つけ、 [PowerShell] を選択します (まだ選択されていない場合)。In the Azure Cloud Shell browser tab, find the Select environment dropdown list, then choose PowerShell if it isn't already selected.

    PowerShell をローカルで実行している場合は、Azure PowerShell モジュール バージョン 1.0.0 以降を使用してください。If you're running PowerShell locally, use Azure PowerShell module version 1.0.0 or later. インストールされているバージョンを確認するには、Get-Module -ListAvailable Az.Network を実行します。Run Get-Module -ListAvailable Az.Network to find the installed version. アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。If you need to upgrade, see Install Azure PowerShell module. また、Connect-AzAccount を実行して、Azure との接続を作成します。Also run Connect-AzAccount to create a connection with Azure.

  • Azure コマンド ライン インターフェイス (CLI) のユーザー: Azure Cloud Shell でコマンドを実行するか、お使いのコンピューターから CLI を実行します。Azure Command-line interface (CLI) users: Either run the commands in the Azure Cloud Shell, or run the CLI from your computer. Azure CLI をローカルに実行している場合は、Azure CLI バージョン 2.0.31 以降を使用してください。Use Azure CLI version 2.0.31 or later if you're running the Azure CLI locally. インストールされているバージョンを確認するには、az --version を実行します。Run az --version to find the installed version. インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure CLI. また、az login を実行して、Azure との接続を作成します。Also run az login to create a connection with Azure.

Azure へのサインインまたは接続に使用するアカウントは、ネットワークの共同作成者ロール、または「アクセス許可」の一覧に記載されている適切なアクションが割り当てられているカスタム ロールに割り当てられている必要があります。The account you sign in to, or connect to Azure with, must be assigned to the Network contributor role role or to a Custom role that's assigned the appropriate actions listed in Permissions.

サブネットの追加Add a subnet

  1. Azure portal に移動して、仮想ネットワークを表示します。Go to the Azure portal to view your virtual networks. [仮想ネットワーク] を検索して選択します。Search for and select Virtual networks.

  2. サブネットを追加する仮想ネットワークの名前を選択します。Select the name of the virtual network you want to add a subnet to.

  3. [設定] で、 [サブネット] > [サブネット] を選択します。From Settings, select Subnets > Subnet.

  4. [サブネットの追加] ダイアログ ボックスで、次の設定の値を入力します。In the Add subnet dialog box, enter values for the following settings:

    設定Setting 説明Description
    名前Name 仮想ネットワーク内で一意となる名前を使用してください。The name must be unique within the virtual network. 他の Azure サービスとの最大限の互換性を維持するために、名前の最初の文字として英字を使用することをお勧めします。For maximum compatibility with other Azure services, we recommend using a letter as the first character of the name. たとえば、Azure Application Gateway は、数字で始まる名前を持つサブネットにはデプロイされません。For example, Azure Application Gateway won't deploy into a subnet that has a name that starts with a number.
    アドレス範囲Address range

    範囲は仮想ネットワークのアドレス空間内で一意である必要があります。The range must be unique within the address space for the virtual network. この範囲は、仮想ネットワーク内の他のサブネット アドレス範囲と重複することはできません。The range can't overlap with other subnet address ranges within the virtual network. アドレス空間は、Classless Inter-Domain Routing (CIDR) 表記で指定する必要があります。The address space must be specified by using Classless Inter-Domain Routing (CIDR) notation.

    例えば、アドレス空間が 10.0.0.0/16 の仮想ネットワークでは、 10.0.0.0/22 のサブネット アドレス空間を定義できます。For example, in a virtual network with address space 10.0.0.0/16, you might define a subnet address space of 10.0.0.0/22. 指定できる最小範囲は、 /29 です。この場合、サブネットに 8 つの IP アドレスを使用できます。The smallest range you can specify is /29, which provides eight IP addresses for the subnet. Azure では、サブネットごとに、最初と最後のアドレスがプロトコルに準拠するために予約されています。Azure reserves the first and last address in each subnet for protocol conformance. そのほか、3 つのアドレスが Azure サービスの使用のために予約されています。Three additional addresses are reserved for Azure service usage. そのため、 /29 のアドレス範囲が設定されたサブネットを定義すると、そのサブネットで使用できる IP アドレスが 3 つになります。As a result, defining a subnet with a /29 address range results in three usable IP addresses in the subnet.

    仮想ネットワークを VPN ゲートウェイに接続する場合は、ゲートウェイ サブネットを作成する必要があります。If you plan to connect a virtual network to a VPN gateway, you must create a gateway subnet. 詳細については、ゲートウェイ サブネットに指定するアドレス範囲の考慮事項に関する記事を参照してください。Learn more about specific address range considerations for gateway subnets. 特定の条件下でのみ、サブネットの追加後にアドレス範囲を変更できます。You can change the address range after the subnet is added, under specific conditions. サブネット アドレス範囲を変更する方法については、「サブネット設定の変更」をご覧ください。To learn how to change a subnet address range, see Change subnet settings.

    ネットワーク セキュリティ グループNetwork security group サブネットの受信および送信ネットワーク トラフィックをフィルター処理するために、既存のネットワーク セキュリティ グループをサブネットに関連付けることができます。To filter inbound and outbound network traffic for the subnet, you may associate an existing network security group to a subnet. ネットワーク セキュリティ グループは、仮想ネットワークと同じサブスクリプションと場所に存在する必要があります。The network security group must exist in the same subscription and location as the virtual network. ネットワーク セキュリティ グループネットワーク セキュリティ グループを作成する方法に関するページを参照してください。Learn more about network security groups and how to create a network security group.
    ルート テーブルRoute table 他のネットワークへのネットワーク トラフィック ルーティングを制御するために、必要に応じて、既存のルート テーブルをサブネットに関連付けることができます。To control network traffic routing to other networks, you may optionally associate an existing route table to a subnet. ルート テーブルは、仮想ネットワークと同じサブスクリプションと場所に存在する必要があります。The route table must exist in the same subscription and location as the virtual network. Azure のルーティングルート テーブルを作成する方法に関するページを参照してください。Learn more about Azure routing and how to create a route table.
    サービス エンドポイントService endpoints

    サブネットでは、必要に応じて、1 つまたは複数のサービス エンドポイントを有効にすることができます。A subnet may optionally have one or more service endpoints enabled for it. サービスのサービス エンドポイントを有効にするには、サービス エンドポイントを有効にするサービス (複数可) を [サービス] 一覧から選択します。To enable a service endpoint for a service, select the service or services that you want to enable service endpoints for from the Services list. Azure では、エンドポイントの場所が自動的に構成されます。Azure configures the location automatically for an endpoint. Azure では、既定で、仮想ネットワークのリージョンに対してサービス エンドポイントが構成されます。By default, Azure configures the service endpoints for the virtual network's region. リージョン フェールオーバーのシナリオに対応するために、Azure では、Azure Storage に対して Azure のペアになっているリージョンにエンドポイントを自動的に構成します。To support regional failover scenarios, Azure automatically configures endpoints to Azure paired regions for Azure Storage.

    サービス エンドポイントを削除するには、サービス エンドポイントを削除するサービスを選択解除します。To remove a service endpoint, unselect the service you want to remove the service endpoint for. サービス エンドポイント、およびそれらを有効にできるサービスについては、「仮想ネットワーク サービス エンドポイント」を参照してください。To learn more about service endpoints, and the services they can be enabled for, see Virtual network service endpoints. サービスのサービス エンドポイントを有効にしたら、そのサービスで作成されたリソースのサブネットへのネットワーク アクセスも有効にする必要があります。Once you enable a service endpoint for a service, you must also enable network access for the subnet for a resource created with the service. たとえば、Microsoft.Storage のサービス エンドポイントを有効にする場合は、ネットワーク アクセスを許可するすべての Azure ストレージ アカウントへのネットワーク アクセスも有効にする必要があります。For example, if you enable the service endpoint for Microsoft.Storage, you must also enable network access to all Azure Storage accounts you want to grant network access to. サービス エンドポイントが有効になっているサブネットへのネットワーク アクセスを有効にするには、サービス エンドポイントを有効にした個々のサービスのドキュメントを参照してください。To enable network access to subnets that a service endpoint is enabled for, see the documentation for the individual service you enabled the service endpoint for.

    サブネットに対してサービス エンドポイントが有効にされていることを検証するには、サブネット上の任意のネットワーク インターフェイスの有効なルートを表示します。To validate that a service endpoint is enabled for a subnet, view the effective routes for any network interface in the subnet. エンドポイントを構成するときに、そのサービスのアドレス プレフィックスと次ホップの種類 VirtualNetworkServiceEndpoint からなる "既定" のルートが表示されます。When you configure an endpoint, you see a default route with the address prefixes of the service, and a next hop type of VirtualNetworkServiceEndpoint. ルーティングの詳細については、「仮想ネットワーク トラフィックのルーティング」を参照してください。To learn more about routing, see Virtual network traffic routing.

    サブネットの委任Subnet delegation サブネットでは、必要に応じて、1 つまたは複数の委任を有効にすることができます。A subnet may optionally have one or more delegations enabled for it. サブネット委任では、サービスのデプロイ時に一意の ID を利用してサブネットにサービス固有のリソースを作成するための明示的なアクセス許可がサービスに与えられます。Subnet delegation gives explicit permissions to the service to create service-specific resources in the subnet using a unique identifier during service deployment. サービスに委任するには、 [サービス] 一覧から委任先となるサービスを選択します。To delegate for a service, select the service you want to delegate to from the Services list.
  5. 選択した仮想ネットワークにサブネットを追加するには、 [OK] を選択します。To add the subnet to the virtual network that you selected, select OK.

コマンドCommands

ツールTool commandCommand
Azure CLIAzure CLI az network vnet subnet createaz network vnet subnet create
PowerShellPowerShell Add-AzVirtualNetworkSubnetConfigAdd-AzVirtualNetworkSubnetConfig

サブネット設定の変更Change subnet settings

  1. Azure portal に移動して、仮想ネットワークを表示します。Go to the Azure portal to view your virtual networks. [仮想ネットワーク] を検索して選択します。Search for and select Virtual networks.

  2. 変更するサブネットを含む仮想ネットワークの名前を選択します。Select the name of the virtual network containing the subnet you want to change.

  3. [設定] で、 [サブネット] を選択します。From Settings, select Subnets.

  4. サブネットの一覧から、設定を変更するサブネットを選択します。In the list of subnets, select the subnet you want to change settings for.

  5. [サブネット] ページで、次のいずれかの設定を変更します。In the subnet page, change any of the following settings:

    設定Setting 説明Description
    アドレス範囲Address range サブネット内にリソースがデプロイされていない場合は、アドレス範囲を変更できます。If no resources are deployed within the subnet, you can change the address range. サブネット内にリソースが存在する場合は、まず、そのリソースを別のサブネットに移動するか、サブネットから削除する必要があります。If any resources exist in the subnet, you must either move the resources to another subnet, or delete them from the subnet first. リソースを移動または削除する手順は、リソースによって異なります。The steps you take to move or delete a resource vary depending on the resource. サブネット内のリソースを移動または削除する方法については、それらのリソースの種類に応じたドキュメントをご覧ください。To learn how to move or delete resources that are in subnets, read the documentation for each of those resource types. サブネットの追加」の手順 4 の [アドレス範囲] の制約について確認してください。See the constraints for Address range in step 4 of Add a subnet.
    ユーザーUsers 組み込みロールまたは独自のカスタム ロールを使用して、サブネットへのアクセス権を制御できます。You can control access to the subnet by using built-in roles or your own custom roles. サブネットにアクセスするロールとユーザーの割り当ての詳細については、「ロールの割り当てを追加する」をご覧ください。To learn more about assigning roles and users to access the subnet, see Add a role assignment.
    [ネットワーク セキュリティ グループ][ルート テーブル]Network security group and Route table サブネットの追加」の手順 4 を参照してください。See step 4 of Add a subnet.
    サービス エンドポイントService endpoints

    サブネットの追加」の手順 4 のサービス エンドポイントを参照してください。See service endpoints in step 4 of Add a subnet. 既存のサブネットに対してサービス エンドポイントを有効にする場合は、サブネット上のリソース上で重要なタスクが実行されていないことを確認してください。When enabling a service endpoint for an existing subnet, ensure that no critical tasks are running on any resource in the subnet. サービス エンドポイントは、サブネット内のすべてのネットワーク インターフェイスでルートを切り替えます。Service endpoints switch routes on every network interface in the subnet. サービス エンドポイントは、0.0.0.0/0 アドレス プレフィックスと次ホップの種類 Internet からなる既定のルートの使用から、サービスのアドレス プレフィックスと次ホップの種類 VirtualNetworkServiceEndpoint からなる新しいルートの使用まで処理を行います。The service endpoints go from using the default route with the 0.0.0.0/0 address prefix and next hop type of Internet, to using a new route with the address prefixes of the service and a next hop type of VirtualNetworkServiceEndpoint.

    切り替えの間、開いている TCP 接続は終了されることがあります。During the switch, any open TCP connections may be terminated. サービス エンドポイントは、すべてのネットワーク インターフェイスについて、サービスに対するトラフィック フローが新しいルートで更新されるまで有効にされません。The service endpoint isn't enabled until traffic flows to the service for all network interfaces are updated with the new route. ルーティングの詳細については、「仮想ネットワーク トラフィックのルーティング」を参照してください。To learn more about routing, see Virtual network traffic routing.

    サブネットの委任Subnet delegation サブネットの追加」の手順 4 のサービス エンドポイントを参照してください。See service endpoints in step 4 of Add a subnet. サブネット委任は、0 または複数の委任を有効にするように変更できます。Subnet delegation can be modified to zero or multiple delegations enabled for it. あるサービスのあるリソースがサブネットで既にデプロイされている場合、サービスのすべてのリソースが削除されるまで、サブネット委任を追加したり削除したりすることはできません。If a resource for a service is already deployed in the subnet, subnet delegation can't be added or removed until all the resources for the service are removed. 別のサービスに委任するには、 [サービス] 一覧から委任先となるサービスを選択します。To delegate for a different service, select the service you want to delegate to from the Services list.
  6. [保存] を選択します。Select Save.

コマンドCommands

ツールTool commandCommand
Azure CLIAzure CLI az network vnet subnet updateaz network vnet subnet update
PowerShellPowerShell Set-AzVirtualNetworkSubnetConfigSet-AzVirtualNetworkSubnetConfig

サブネットの削除Delete a subnet

サブネット内にリソースがない場合にのみ、サブネットを削除できます。You can delete a subnet only if there are no resources in the subnet. サブネット内にリソースがある場合は、サブネットを削除する前に、そのリソースを削除する必要があります。If resources are in the subnet, you must delete those resources before you can delete the subnet. リソースを削除する方法は、リソースによって異なります。The steps you take to delete a resource vary depending on the resource. サブネット内のリソースを削除する方法については、それらのリソースの種類に応じたドキュメントをご覧ください。To learn how to delete resources that are in subnets, read the documentation for each of those resource types.

  1. Azure portal に移動して、仮想ネットワークを表示します。Go to the Azure portal to view your virtual networks. [仮想ネットワーク] を検索して選択します。Search for and select Virtual networks.

  2. 削除するサブネットを含む仮想ネットワークの名前を選択します。Select the name of the virtual network containing the subnet you want to delete.

  3. [設定] で、 [サブネット] を選択します。From Settings, select Subnets.

  4. サブネットの一覧から、削除するサブネットを選択します。In the list of subnets, select the subnet you want to delete.

  5. [削除] を選択し、確認のダイアログ ボックスで [はい] を選択します。Select Delete, and then select Yes in the confirmation dialog box.

コマンドCommands

ツールTool commandCommand
Azure CLIAzure CLI az network vnet subnet deleteaz network vnet subnet delete
PowerShellPowerShell Remove-AzVirtualNetworkSubnetConfigRemove-AzVirtualNetworkSubnetConfig

アクセス許可Permissions

サブネットでタスクを実行するには、ネットワークの共同作成者ロール、または次の表に記載されている適切なアクションを割り当てられているカスタム ロールにアカウントが割り当てられている必要があります。To do tasks on subnets, your account must be assigned to the Network contributor role or to a Custom role that's assigned the appropriate actions in the following table:

アクションAction 名前Name
Microsoft.Network/virtualNetworks/subnets/readMicrosoft.Network/virtualNetworks/subnets/read 仮想ネットワークのサブネットを読み取るRead a virtual network subnet
Microsoft.Network/virtualNetworks/subnets/writeMicrosoft.Network/virtualNetworks/subnets/write 仮想ネットワークのサブネットを作成または更新するCreate or update a virtual network subnet
Microsoft.Network/virtualNetworks/subnets/deleteMicrosoft.Network/virtualNetworks/subnets/delete 仮想ネットワークのサブネットを削除するDelete a virtual network subnet
Microsoft.Network/virtualNetworks/subnets/join/actionMicrosoft.Network/virtualNetworks/subnets/join/action 仮想ネットワークの接続Join a virtual network
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/actionMicrosoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action サブネットに対してサービス エンドツーエンドを有効にするEnable a service endpoint for a subnet
Microsoft.Network/virtualNetworks/subnets/virtualMachines/readMicrosoft.Network/virtualNetworks/subnets/virtualMachines/read サブネット上の仮想マシンを取得するGet the virtual machines in a subnet

次のステップNext steps