仮想ネットワークの作成、変更、削除

仮想ネットワークを作成および削除する方法と、既存の仮想ネットワークの DNS サーバーや IP アドレス空間などの設定を変更する方法について説明します。 仮想ネットワークが初めての方は、「Virtual Network の概要」、あるいはチュートリアルを行うことで詳しく学習できます。 仮想ネットワークにはサブネットが含まれます。 サブネットを作成、変更、および削除する方法については、サブネットの管理に関する記事をご覧ください。

前提条件

Azure アカウントとアクティブなサブスクリプションをお持ちでない場合は、無料で作成できます。 この記事の残りを始める前に、次のいずれかのタスクを完了します。

  • ポータル ユーザー:Azure アカウントで Azure Portal にサインインします。

  • PowerShell ユーザー: Azure Cloud Shell でコマンドを実行するか、お使いのコンピューターからローカルで PowerShell を実行します。 Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。 Azure Cloud Shell のブラウザー タブで、 [環境の選択] ドロップダウン リストを見つけ、(まだ選択されていない場合は) [PowerShell] を選択します。

    PowerShell をローカルで実行している場合、Azure PowerShell モジュール バージョン 1.0.0 以降を使用します。 インストールされているバージョンを確認するには、Get-Module -ListAvailable Az.Network を実行します。 インストールまたはアップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。 Connect-AzAccount を実行して Azure にサインインします。

  • Azure CLI ユーザー: Azure Cloud Shell でコマンドを実行するか、お使いのコンピューターからローカルで Azure CLI を実行します。 Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。 Azure Cloud Shell のブラウザー タブで、[環境の選択] ドロップダウン リストを見つけ、(まだ選択されていない場合は) [Bash] を選びます。

    ローカルで Azure CLI を実行する場合は、Azure CLI バージョン 2.0.31 以降を使用してください。 インストールされているバージョンを確認するには、az --version を実行します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。 az login を実行して Azure にサインインします。

Azure へのログインまたは接続に使用するアカウントは、ネットワークの共同作業者ロール、または「アクセス許可」の一覧に記載されている適切なアクションが割り当てられているカスタム ロールに割り当てられている必要があります。

仮想ネットワークを作成する

Azure Portal を使用した仮想ネットワークの作成

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  2. [+ 作成] を選択します。

  3. [仮想ネットワークの作成][基本] タブで、次の設定の値を入力または選択します。

    設定 詳細
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。 同じ仮想ネットワークを複数の Azure サブスクリプションで使用することはできません。 ただし、1 つのサブスクリプションの仮想ネットワークを、仮想ネットワーク ピアリングを使って、他のサブスクリプションの仮想ネットワークに接続することはできます。
    仮想ネットワークに接続する Azure リソースは、仮想ネットワークと同じサブスクリプションに存在する必要があります。
    Resource group 既存のリソース グループを選ぶか、[新規作成] を選んで新しく作成します。 仮想ネットワークに接続する Azure リソースは、仮想ネットワークと同じリソース グループに存在していても別のリソース グループに存在していてもかまいません。
    インスタンスの詳細
    名前 作成する仮想ネットワークの名前を入力します。 この名前は、仮想ネットワークの作成先として選択するリソース グループ内で一意である必要があります。
    仮想ネットワークの作成後は、この名前を変更できません。
    名前付けの推奨事項については、「名前付け規則」を参照してください。 名前付け規則に従うことで、複数の仮想ネットワークを管理しやすくなります。
    リージョン Azure のリージョンを選択します。 1 つの仮想ネットワークは、1 つの Azure リージョンにのみ存在できます。 ただし、仮想ネットワーク ピアリングを使って、あるリージョン内の仮想ネットワークを別のリージョンの仮想ネットワークに接続できます。
    仮想ネットワークに接続する Azure リソースは、仮想ネットワークと同じリージョンに存在する必要があります。
  4. [IP アドレス] タブまたは [Next: Security] (次へ: セキュリティ) >[Next: IP Addresses] (次へ: IP アドレス) > を選択し、次の IP アドレス情報を入力します。

    • IPv4 アドレス空間: 仮想ネットワークのアドレス空間は、CIDR 表記で指定された、1 つ以上の重複しないアドレス範囲で構成されます。 定義するアドレス範囲は、パブリックとプライベート (RFC 1918 に準拠) のどちらでもかまいません。 パブリックとプライベートのどちらのアドレス範囲を定義する場合でも、そのアドレス範囲に到達できるのは、仮想ネットワーク内から、相互接続された仮想ネットワークから、および仮想ネットワークに接続したオンプレミス ネットワークからだけです。

      次のアドレス範囲は追加できません。

      • 224.0.0.0/4 (マルチキャスト)
      • 255.255.255.255/32 (ブロードキャスト)
      • 127.0.0.0/8 (ループバック)
      • 169.254.0.0/16 (リンク ローカル)
      • 168.63.129.16/32 (内部 DNS、DHCP、および Azure Load Balancer の正常性プローブ)

      ポータルでは、仮想ネットワークを作成するときに、少なくとも 1 つの IPv4 アドレス範囲を定義する必要があります。 仮想ネットワークの作成後に、特定の条件下でアドレス空間を変更できます。

      警告

      仮想ネットワークのアドレス範囲が他の仮想ネットワークやオンプレミス ネットワークと重複している場合、その 2 つのネットワークに接続することはできません。 アドレス範囲を定義する前に、将来その仮想ネットワークを他の仮想ネットワークやオンプレミス ネットワークに接続する可能性があるかどうかを検討してください。 Microsoft では、プライベート アドレス空間または組織が所有するパブリック アドレス空間を使用して、仮想ネットワークのアドレス範囲を構成することをお勧めします。

    • IPv6 アドレス空間の追加: Azure Virtual Network の IPv6 アドレス空間を使うと、仮想ネットワーク内とインターネットとのやり取りで IPv6 および IPv4 接続を使って、Azure 内でアプリケーションをホストできます。

    • [サブネット名] : 仮想ネットワーク内で一意となるサブネット名を使用してください。 サブネットの作成後は、サブネット名を変更できません。 ポータルでは、仮想ネットワークを作成する際にサブネットを 1 つ定義するよう求められますが、仮想ネットワークにサブネットを設定することは必須ではありません。 ポータルでは、仮想ネットワークの作成時に 1 つ以上のサブネットを定義できます。 仮想ネットワークを作成した後で、仮想ネットワークにサブネットを追加できます。 仮想ネットワークにサブネットを追加するには、サブネットの管理に関するページを参照してください。

      ヒント

      管理者が複数のサブネットを作成して、サブネット間でトラフィックのフィルター処理や制御を行うことはよくあります。 サブネットを定義する前に、サブネット間のトラフィックのルーティングやフィルター処理の方法について検討してください。 サブネット間のトラフィックをフィルター処理する方法の詳細については、ネットワーク セキュリティ グループに関する記事を参照してください。 Azure ではサブネット間のルーティングが自動的に行われますが、Azure の既定のルートをオーバーライドすることもできます。 Azure の既定のサブネット トラフィック ルーティングの詳細については、ルーティングの概要に関するページを参照してください。

    • [サブネットのアドレス範囲] : この範囲は、仮想ネットワーク用に入力したアドレス空間内にある必要があります。 指定できる最小範囲は、/29 です。これでサブネットに 8 つの IP アドレスを使用できます。 Azure では、サブネットごとに、最初と最後のアドレスがプロトコルに準拠するために予約されています。 そのほか、3 つのアドレスが Azure サービスの使用のために予約されています。 そのため、/29 のサブネット アドレス範囲が設定された仮想ネットワークで使用できる IP アドレスは 3 つのみです。 仮想ネットワークを VPN ゲートウェイに接続する場合は、ゲートウェイ サブネットを作成する必要があります。 詳細については、ゲートウェイ サブネットに指定するアドレス範囲の考慮事項に関する記事を参照してください。 特定の条件下でのみ、サブネットの作成後にアドレス範囲を変更できます。 サブネット アドレス範囲を変更する方法については、サブネットの管理に関するページを参照してください。

      PowerShell を使用して仮想ネットワークを作成する

      New-AzVirtualNetwork を使って仮想ネットワークを作成します。

      ## Create myVNet virtual network. ##
      New-AzVirtualNetwork -ResourceGroupName myResourceGroup -Name myVNet -Location eastus -AddressPrefix 10.0.0.0/16
      

      Azure CLI を使用した仮想ネットワークの作成

      仮想ネットワークを作成するには、az network vnet create を使用します。

      ## Create myVNet virtual network with the default address space: 10.0.0.0/16. ##
      az network vnet create --resource-group myResourceGroup --name myVNet
      

仮想ネットワークと設定の表示

Azure portal を使って仮想ネットワークと設定を表示する

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  2. 仮想ネットワークの一覧から、設定を表示する仮想ネットワークを選択します。

  3. 選択した仮想ネットワークの、次の設定が表示されます。

    • 概要:アドレス空間や DNS サーバーなど、仮想ネットワークに関する情報が表示されます。 次のスクリーンショットは、MyVNet という名前の仮想ネットワークの概要設定を示しています。

      Microsoft Azure Virtual Network の概要ページのスクリーンショット。リソース グループ、サブスクリプション情報、DNS 情報など、必要な情報が含まれる。

      仮想ネットワークを別のサブスクリプション、リージョン、またはリソース グループに移動するには、[リソース グループ][場所]、または [サブスクリプション] の横にある [移動] を選択します。 仮想ネットワーク を移動する方法については、別のリソース グループまたはサブスクリプションへのリソースの移動に関する記事を参照してください。 この記事には、Azure Portal、PowerShell、および Azure CLI を使用してリソースを移動するための前提条件と、移動の方法が記載されています。 仮想ネットワークに接続されているリソースもすべて、仮想ネットワークと共に移動する必要があります。

    • [アドレス空間] : 仮想ネットワークに割り当てられているアドレス空間が一覧表示されます。 アドレス空間へのアドレス範囲の追加と削除の方法については、「アドレス範囲の追加または削除」の手順を参照してください。

    • 接続されているデバイス:仮想ネットワークに接続されているすべてのリソースが一覧表示されます。 新しく作成して仮想ネットワークに接続したリソースが一覧に追加されています。 仮想ネットワークに接続されていたリソースを削除すると、一覧に表示されなくなります。

    • サブネット:仮想ネットワーク内に存在するサブネットの一覧が表示されます。 サブネットを追加または削除する方法については、サブネットの管理に関するページを参照してください。

    • DNS サーバー:仮想ネットワークに接続されているデバイスの名前解決を Azure の内部 DNS サーバーとカスタム DNS サーバーのどちらで提供するかを指定できます。 Azure Portal を使用して仮想ネットワークを作成する場合は、既定で、仮想ネットワーク内の名前解決には Azure の DNS サーバーが使用されます。 DNS サーバーを変更する方法については、この記事の「DNS サーバーの変更」の手順を参照してください。

    • ピアリング: サブスクリプションに既存のピアリングがある場合は、ここに表示されます。 既存のピアリング設定の表示や、ピアリングの作成、変更、削除を行うことができます。 ピアリングの詳細については、「仮想ネットワーク ピアリング」と仮想ネットワーク ピアリングの管理に関する記事を参照してください。

    • プロパティ: 仮想ネットワークのリソース ID や Azure サブスクリプションなど、仮想ネットワークに関する設定が表示されます。

    • ダイアグラム: 仮想ネットワークに接続されているすべてのデバイスを視覚的に表現したものが表示されます。 ダイアグラムには、デバイスに関する重要な情報が含まれます。 このビューでダイアグラム内のデバイスを管理するには、デバイスを選択します。

    • Azure の一般的な設定:Azure の一般的な設定の詳細については、次の情報を参照してください。

    PowerShell を使って仮想ネットワークと設定を表示する

    リソース グループ内のすべての仮想ネットワークを一覧表示するには、Get-AzVirtualNetwork を使います。

    Get-AzVirtualNetwork -ResourceGroupName myResourceGroup | format-table Name, ResourceGroupName, Location 
    

    仮想ネットワークの設定を表示するには、Get-AzVirtualNetwork を使います。

    Get-AzVirtualNetwork -ResourceGroupName myResourceGroup -Name myVNet
    

    Azure CLI を使って仮想ネットワークと設定を表示する

    リソース グループ内のすべての仮想ネットワークを一覧表示するには、az network vnet list を使います。

    az network vnet list --resource-group myResourceGroup
    

    仮想ネットワークの設定を表示するには、az network vnet show を使います。

    az network vnet show --resource-group myResourceGroup --name myVNet
    

アドレス範囲の追加または削除

仮想ネットワークのアドレス範囲を追加および削除することができます。 アドレス範囲は CIDR 表記で指定する必要があり、同じ仮想ネットワーク内で他のアドレス範囲と重複することはできません。 定義するアドレス範囲は、パブリックとプライベート (RFC 1918 に準拠) のどちらでもかまいません。 パブリックとプライベートのどちらのアドレス範囲を定義する場合でも、そのアドレス範囲に到達できるのは、仮想ネットワーク内から、相互接続された仮想ネットワークから、および仮想ネットワークに接続したオンプレミス ネットワークからだけです。

仮想ネットワークのアドレス範囲は、関連付けられているサブネットの範囲がまだ含まれている範囲にまでは縮小できます。 さらに、/16 を /8 に変更するなど、アドレス範囲を拡張することができます。

次のアドレス範囲は追加できません。

  • 224.0.0.0/4 (マルチキャスト)
  • 255.255.255.255/32 (ブロードキャスト)
  • 127.0.0.0/8 (ループバック)
  • 169.254.0.0/16 (リンク ローカル)
  • 168.63.129.16/32 (内部 DNS、DHCP、および Azure Load Balancer の正常性プローブ)

Note

仮想ネットワークが他の仮想ネットワークとピアリングされている場合、またはオンプレミス ネットワークと接続されている場合、ピアリングされた仮想ネットワークまたはオンプレミス ネットワークのアドレス空間と重なる新しいアドレス範囲は指定できません。 詳細については、「ピアリングされた仮想ネットワークのアドレス空間を更新する」を参照してください。

Azure portal を使ってアドレス範囲を追加または削除する

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  2. 仮想ネットワークの一覧から、アドレス範囲を追加または削除する仮想ネットワークを選択します。

  3. [設定] の下の [アドレス空間] を選択します。

  4. 次のいずれかのオプションを実行します。

    • IP アドレス範囲の追加:新しいアドレス範囲を入力します。 アドレス範囲は、この仮想ネットワークに定義されている既存のアドレス範囲と重複することはできません。

    • アドレス範囲の変更: 既存のアドレス範囲を変更します。 アドレス範囲のプレフィックスを変更することで、アドレス範囲を拡大および縮小することができます。 アドレス範囲は、関連付けられているサブネットの範囲がまだ含まれている範囲にまでは縮小することができます。 さらに、仮想ネットワークに定義されている既存のアドレス範囲と重ならない限り、アドレス範囲を拡大することができます。

    • アドレス範囲の削除: 削除するアドレス範囲の右側にある [削除] を選びます。 アドレス範囲にサブネットが存在する場合は、アドレス範囲を削除することはできません。 アドレス範囲を削除するには、まず、まず、アドレス範囲内にあるすべてのサブネット (およびサブネット内のすべてのリソース) を削除する必要があります。

  5. [保存] を選択します。

    PowerShell を使ってアドレス範囲を追加または削除する

    仮想ネットワークのアドレス空間を更新するには、Set-AzVirtualNetwork を使います。

    ## Place the virtual network configuration into a variable. ##
    $virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName myResourceGroup -Name myVNet
    ## Remove the old address range. ##
    $virtualNetwork.AddressSpace.AddressPrefixes.Remove("10.0.0.0/16")
    ## Add the new address range. ##
    $virtualNetwork.AddressSpace.AddressPrefixes.Add("10.1.0.0/16")
    ## Update the virtual network. ##
    Set-AzVirtualNetwork -VirtualNetwork $virtualNetwork
    

    Azure CLI を使ってアドレス範囲を追加または削除する

    仮想ネットワークのアドレス空間を更新するには、az network vnet update を使います。

    ## Update the address space of myVNet virtual network with 10.1.0.0/16 address range (10.1.0.0/16 overrides any previous address ranges set in this virtual network). ## 
    az network vnet update --resource-group myResourceGroup --name myVNet --address-prefixes 10.1.0.0/16
    

DNS サーバーの変更

仮想ネットワークに接続されている VM はすべて、その仮想ネットワークに指定した DNS サーバーに登録されます。 また、指定した DNS サーバーを名前解決に使用します。 VM 内のネットワーク インターフェイス (NIC) ごとに独自の DNS サーバー設定を構成できます。 NIC に独自の DNS サーバー設定を構成すると、仮想ネットワークの DNS サーバー設定がオーバーライドされます。 NIC DNS 設定の詳細については、ネットワーク インターフェイスのタスクと設定に関する記事を参照してください。 Azure Cloud Services での VM とロール インスタンスの名前解決の詳細については、「VM とロール インスタンスの名前解決」を参照してください。 DNS サーバーを追加、変更、削除するには、次のようにします。

Azure portal を使って仮想ネットワークの DNS サーバーを変更する

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  2. 仮想ネットワークの一覧から、DNS サーバーを変更する仮想ネットワークを選択します。

  3. [設定] の下にある [DNS サーバー] を選びます。

  4. 以下のオプションの 1 つを選択します。

    • 既定 (Azure 提供) :すべてのリソースの名前とプライベート IP アドレスが Azure DNS サーバーに自動的に登録されます。 同じ仮想ネットワークに接続されているリソース間で名前を解決することができます。 このオプションを使用して、仮想ネットワーク間で名前を解決することはできません。 仮想ネットワーク間で名前を解決するには、カスタムの DNS サーバーを使用する必要があります。

    • Custom:1 つ以上のサーバーを追加できます。ただし、追加できる数は Azure で仮想ネットワークに設定されている上限までです。 DNS サーバー数の上限の詳細については、Azure の制限に関する記事を参照してください。 次のオプションがあります。

      • アドレスの追加:サーバーを仮想ネットワークの DNS サーバー一覧に追加します。 また、その DNS サーバーを Azure に登録します。 既に DNS サーバーが Azure に登録されている場合は、その DNS サーバーを一覧で選択できます。

      • アドレスの削除: 削除するサーバーの横にある [削除] を選びます。 サーバーを削除しても、この仮想ネットワークの一覧からサーバーが削除されるだけです。 DNS サーバーは、他の仮想ネットワークで使用するために Azure に登録されたままになります。

      • DNS サーバーのアドレスの並べ替え:環境に適した順序で DNS サーバーが一覧表示されていることを確認することが重要です。 DNS サーバーは、一覧に指定した順序で使われます。 ラウンド ロビン設定のようには機能しません。 一覧の先頭にある DNS サーバーに到達できる場合、クライアントはその DNS サーバーが正しく動作しているかどうかに関係なく、その DNS サーバーを使用します。 一覧表示されたすべての DNS サーバーを削除してから、希望する順序で再度追加します。

      • アドレスの変更:一覧で DNS サーバーを強調表示し、新しいアドレスを入力します。

  5. [保存] を選択します。

  6. 新しい DNS サーバー設定が割り当てられるように、仮想ネットワークに接続されている VM を再起動します。 VM では、再起動されるまで、現在の DNS 設定が使用され続けます。

    PowerShell を使って仮想ネットワークの DNS サーバーを変更する

    新しいアドレス空間で仮想ネットワークを更新するには、Set-AzVirtualNetwork を使います。

    ## Place the virtual network configuration into a variable. ##
    $virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName myResourceGroup -Name myVNet
    ## Add the IP address of the DNS server. ##
    $virtualNetwork.DhcpOptions.DnsServers.Add("10.0.0.10")
    ## Update the virtual network. ##
    Set-AzVirtualNetwork -VirtualNetwork $virtualNetwork
    

    Azure CLI を使って仮想ネットワークの DNS サーバーを変更する

    仮想ネットワークのアドレス空間を更新するには、az network vnet update を使います。

    ## Update the virtual network with IP address of the DNS server. ## 
    az network vnet update --resource-group myResourceGroup --name myVNet --dns-servers 10.0.0.10
    

仮想ネットワークの削除

接続されているリソースがない場合にのみ、仮想ネットワークを削除できます。 仮想ネットワーク内のいずれかのサブネットに接続されているリソースがある場合は、最初に、仮想ネットワーク内のすべてのサブネットに接続されているリソースを削除する必要があります。 リソースを削除する方法は、リソースによって異なります。 サブネットに接続されているリソースを削除する方法については、削除するリソースの種類に応じたドキュメントを参照してください。 仮想ネットワークを削除するには、次のようにします。

Azure portal を使って仮想ネットワークを削除する

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  2. 仮想ネットワークの一覧から、削除する仮想ネットワークを選択します。

  3. [設定] の下にある [接続されているデバイス] を選んで、仮想ネットワークに接続されているデバイスがないことを確認します。 接続されているデバイスがある場合は、先にそのデバイスを削除してから仮想ネットワークを削除する必要があります。 接続されているデバイスがない場合は、 [概要] を選択します。

  4. [削除] を選択します。

  5. [はい] を選択して、仮想ネットワークの削除を確認します。

    PowerShell を使用して仮想ネットワークを削除する

    仮想ネットワークを削除するには、Remove-AzVirtualNetwork を使います。

    Remove-AzVirtualNetwork -ResourceGroupName myResourceGroup -Name myVNet
    

    Azure CLI を使って仮想ネットワークを削除する

    仮想ネットワークを削除するには、az network vnet delete を使います。

    az network vnet delete --resource-group myResourceGroup --name myVNet
    

    アクセス許可

    仮想ネットワークに関するタスクを実行するには、使用するアカウントがネットワークの共同作業者ロール、または次の表の適切なアクションが割り当てられたカスタム ロールに、割り当てられている必要があります。

    アクション 名前
    Microsoft.Network/virtualNetworks/read 仮想ネットワークの読み取り
    Microsoft.Network/virtualNetworks/write 仮想ネットワークの作成または更新
    Microsoft.Network/virtualNetworks/delete 仮想ネットワークの削除