建立、變更或刪除虛擬網路

了解如何建立和刪除虛擬網路以及變更現有虛擬網路的設定,例如 DNS 伺服器和 IP 位址空間。 如果您不熟悉虛擬網路,則可以在虛擬網路概觀中或透過完成教學課程來深入了解。 虛擬網路包含子網路。 若要了解如何建立、變更和刪除子網路,請參閱管理子網路

必要條件

如果您沒有包含作用中訂用帳戶的 Azure 帳戶,請建立免費帳戶。 開始本文的其餘部分之前,請先完成下列其中一項工作:

  • 入口網站使用者:使用您的 Azure 帳戶登入 Azure 入口網站

  • PowerShell 使用者:在 Azure Cloud Shell 中,或是從您的電腦以本機方式執行 PowerShell 來執行命令。 Azure Cloud Shell 是免費的互動式 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 是免費的互動式 Shell,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。 在 Azure Cloud Shell 瀏覽器索引標籤中,尋找 [選取環境] 下拉式清單,然後選擇 [Bash] (如果尚未選取)。

    如果您是在本機執行 Azure CLI,請使用 Azure CLI 2.0.31 版或更新版本。 執行 az --version 以尋找安裝的版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。 執行 az login 以登入 Azure。

您登入或連線到 Azure 的帳戶必須指派為網路參與者角色,或為已指派權限中所列適當動作的自訂角色

建立虛擬網路

使用 Azure 入口網站建立虛擬網路

  1. 在入口網站頂端的搜尋方塊中,輸入「虛擬網路」。 選取搜尋結果中的 [虛擬網路]

  2. 選取 + 建立

  3. 在 [建立虛擬網路] 的 [基本] 索引標籤中,輸入或選取下列設定值。

    設定 詳細資料
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。 您無法在多個 Azure 訂用帳戶中使用相同的虛擬網路。 不過,您可以使用虛擬網路對等互連,將某個訂用帳戶中的虛擬網路連線至其他訂用帳戶中的虛擬網路。
    您連線到虛擬網路的任何 Azure 資源必須與虛擬網路位於相同的訂用帳戶中。
    資源群組 選取現有的資源群組,或選取 [新建] 以建立新的資源群組。 您連線到虛擬網路的 Azure 資源,可以位於與虛擬網路相同或不同的資源群組中。
    [執行個體詳細資料]
    名稱 輸入您要建立的虛擬網路名稱。 您選取用來建立虛擬網路的資源群組名稱必須是唯一的。
    虛擬網路建立後,就不能再變更其名稱。
    如需命名建議,請參閱命名慣例。 下列命名慣例有協助於輕鬆管理多個虛擬網路。
    區域 選取 Azure 區域 虛擬網路只能位於一個 Azure 區域。 不過,您可以使用虛擬網路對等互連,將某個區域的虛擬網路連線至其他區域中的虛擬網路。
    您連線至虛擬網路的任何 Azure 資源必須與虛擬網路位於相同的區域。
  4. 選取 [IP 位址] 索引標籤或 [下一步:安全性]>、[下一步:IP 位址]>,然後輸入下列 IP 位址資訊:

    • IPv4 位址空間:虛擬網路的位址空間由一或多個以 CIDR 標記法指定的非重疊位址範圍所組成。 您可以定義公用或私人的位址範圍 (RFC 1918)。 不論您定義的是公用或私人的位址範圍,您都只能從虛擬網路、互連的虛擬網路,以及任何已連線到虛擬網路的內部部署網路來連線到位址空間。

      您無法新增下列位址範圍︰

      • 224.0.0.0/4 (多點傳送)
      • 255.255.255.255/32 (廣播)
      • 127.0.0.0/8 (回送)
      • 169.254.0.0/16 (Link-local)
      • 168.63.129.16/32 (內部 DNS、DHCP 和 Azure Load Balancer 健康情況探查)

      入口網站要求您在建立虛擬網路時,至少定義一個 IPv4 位址範圍。 您可以在建立虛擬網路之後,在特定情況下變更位址空間。

      警告

      如果虛擬網路具有與另一個虛擬網路或內部部署網路重疊的位址範圍,就無法連線這兩個網路。 在您定義位址範圍之前,請考慮未來是否想要將該虛擬網路連線到其他虛擬網路或內部部署網路。 Microsoft 建議以您組織擁有的私人位址空間或公用位址空間設定虛擬網路位址範圍。

    • 新增 IPv6 位址空間:Azure 虛擬網路的 IPv6 位址空間可讓您在 Azure 中透過虛擬網路內的 IPv6 和 IPv4 連線,以及從網際網路來回連線來託管應用程式。

    • 子網路名稱:子網路名稱在虛擬網路內必須是唯一的。 子網路建立後,就不能再變更子網路名稱。 當您在建立虛擬網路時,即使虛擬網路不一定要擁有任何子網路,但入口網站仍會要求您定義一個子網路。 當您在入口網站中建立虛擬網路時,您可以定義一或多個子網路。 建立虛擬網路之後,您可以將更多子網路新增至虛擬網路。 若要將子網路新增至虛擬網路,請參閱管理子網路

      提示

      有時候,系統管理員會建立不同的子網路來篩選或控制在子網路之間傳送的流量。 在定義子網路之前,請先考慮您想要如何篩選和路由傳送子網路之間的流量。 若要深入了解如何篩選子網路之間的流量,請參閱網路安全性群組。 Azure 會自動路由傳送子網路之間的流量,但您可以覆寫 Azure 預設路由。 若要深入了解 Azures 預設子網路流量路由,請參閱路由概觀

    • 子網路位址範圍︰此範圍必須位於您針對虛擬網路輸入的位址空間內。 您可以指定的最小範圍是 /29,此範圍可提供八個 IP 位址供子網路使用。 為了符合通訊協定的規定,Azure 會保留每個子網路中的第一個和最後一個位址。 Azure 會多保留三個位址供 Azure 服務使用。 因此,使用 /29 子網路位址範圍的虛擬網路只有三個可用的 IP 位址。 如果您打算將虛擬網路連線至 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 入口網站來檢視虛擬網路和設定

  1. 在入口網站頂端的搜尋方塊中,輸入「虛擬網路」。 選取搜尋結果中的 [虛擬網路]

  2. 在虛擬網路清單中,選取您想要檢視設定的虛擬網路。

  3. 您所選虛擬網路會列出如下設定︰

    • 概觀︰提供虛擬網路的相關資訊,包括位址空間和 DNS 伺服器。 下列螢幕擷取畫面顯示名為 MyVNet 之虛擬網路的概觀設定:

      虛擬網絡 概觀頁面的螢幕快照。其中包含基本資訊,包括資源群組、訂用帳戶資訊和 DNS 資訊。

      您可以選取 [資源群組]、[位置] 或 [訂用帳戶] 旁的 [移動],將虛擬網路移至不同的訂用帳戶、區域或資源群組。 若要了解如何移動虛擬網路,請參閱將資源移到不同的資源群組或訂用帳戶。 該文會列出必要條件,以及如何使用 Azure 入口網站、PowerShell 和 Azure CLI 來移動資源。 所有連線至虛擬網路的資源都必須隨著虛擬網路移動。

    • 位址空間︰這裡會列出指派給虛擬網路的位址空間。 若要了解如何將位址範圍新增至位址空間和從中移除,請完成新增或移除位址範圍中的步驟。

    • 已連線的裝置︰這裡會列出任何與虛擬網路連線的資源。 您建立並連線到虛擬網路的任何新資源都會新增至清單。 如果您刪除已連線到虛擬網路的資源,清單中就不會再顯示該資源。

    • 子網路︰虛擬網路中現存的子網路清單會在此顯示。 若要了解如何新增和移除子網路,請參閱管理子網路

    • DNS 伺服器︰您可以指定由 Azure 的內部 DNS 伺服器或自訂 DNS 伺服器來為連線到虛擬網路的裝置提供名稱解析。 在使用 Azure 入口網站建立虛擬網路時,虛擬網路預設會使用 Azure 的 DNS 伺服器來解析名稱。 若要了解如何修改 DNS 伺服器,請參閱本文變更 DNS 伺服器中的步驟。

    • 對等互連︰如果訂用帳戶中已有對等互連,這裡便會列出。 您可以檢視現有對等互連的設定,也可以建立、變更或刪除對等互連。 若要深入了解對等互連,請參閱虛擬網路對等互連概觀管理虛擬網路對等互連

    • 屬性︰顯示虛擬網路的相關設定,包括虛擬網路的資源識別碼和 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 (Link-local)
  • 168.63.129.16/32 (內部 DNS、DHCP 和 Azure Load Balancer 健康情況探查)

注意

如果虛擬網路與另一個虛擬網路對等互連,或與內部部署網路連線,則新的位址範圍無法與對等互連虛擬網路或內部部署網路的位址空間重疊。 若要深入了解,請參閱更新對等互連虛擬網路的位址空間

使用 Azure 入口網站新增或移除位址範圍

  1. 在入口網站頂端的搜尋方塊中,輸入「虛擬網路」。 選取搜尋結果中的 [虛擬網路]

  2. 從虛擬網路清單中,選取您要新增或移除位址範圍的虛擬網路。

  3. 在 [設定] 下,選取 [位址空間]

  4. 完成下列其中一個選項:

    • 新增位址範圍︰輸入新的位址範圍。 此位址範圍不能與虛擬網路已定義的現有位址範圍重疊。

    • 修改位址範圍:修改現有的位址範圍。 您可以變更位址範圍前置詞以減少或增加位址範圍。 只要虛擬網路仍包含任何相關子網路的範圍,您就可以縮小位址範圍。 此外,只要該位址範圍未與針對虛擬網路定義的現有位址範圍重疊,您就可以擴大位址範圍。

    • 移除位址範圍:在您想要移除的位址範圍右側,選取 [刪除]。 如果位址範圍有現存的子網路,您就無法移除該位址範圍。 若要移除位址範圍,您必須先刪除位址範圍中存在的任何子網路 (以及子網路中的任何資源)。

  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 雲端服務中 VM 和角色執行個體的名稱解析,請參閱 VM 和角色執行個體的名稱解析。 若要新增、變更或移除 DNS 伺服器:

使用 Azure 入口網站變更虛擬網路的 DNS 伺服器

  1. 在入口網站頂端的搜尋方塊中,輸入「虛擬網路」。 選取搜尋結果中的 [虛擬網路]

  2. 從虛擬網路清單中,選取您要變更 DNS 伺服器的虛擬網路。

  3. 在 [設定] 下,選取 [DNS 伺服器]

  4. 選取下列其中一個選項:

    • 預設值 (由 Azure 提供)︰所有資源名稱和私人 IP 位址都會自動向 Azure DNS 伺服器進行註冊。 您可以在連線到相同虛擬網路的任何資源之間解析名稱。 您無法使用此選項來跨虛擬網路解析名稱。 若要跨虛擬網路解析名稱,您必須使用自訂 DNS 伺服器。

    • 自訂︰您可以為虛擬網路新增一或多部伺服器,數量可達 Azure 的限制。 若要深入了解 DNS 伺服器限制,請參閱 Azure 限制。 下列選項可供您選擇:

      • 新增地址︰將伺服器新增至虛擬網路 DNS 伺服器清單。 此選項也會向 Azure 註冊 DNS 伺服器。 如果您已向 Azure 註冊 DNS 伺服器,即可在清單中選取該 DNS 伺服器。

      • 移除位址︰在您想要移除的伺服器旁,選取 [刪除]。 刪除伺服器只會從此虛擬網路清單中移除伺服器。 DNS 伺服器會在 Azure 中保持登錄狀態,以便您其他的虛擬網路使用。

      • 將 DNS 伺服器位址重新排序︰請務必要確認,您為環境所列出的 DNS 伺服器順序是正確的。 DNS 伺服器會依其在清單中指定的順序來使用。 它們不會當作循環配置資源設定運作。 如果清單上的第一部 DNS 伺服器是可以連線的,用戶端就會使用該 DNS 伺服器,而不管該 DNS 伺服器是否有正常運作。 請移除所有列出的 DNS 伺服器,再以您想要的順序重新新增。

      • 變更位址:將清單中的 DNS 伺服器醒目提示,然後輸入新位址。

  5. 選取 [儲存]。

  6. 將連線到虛擬網路的 VM 重新啟動,讓這些 VM 獲派新的 DNS 伺服器設定。 這些 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 入口網站來刪除虛擬網路

  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 刪除虛擬網路