Azure 基礎:使用 powershell 創建虛擬網絡


什么是虛擬網絡

虛擬網絡是您的網絡在 Azure 雲上的表示形式。您可以完全控制虛擬網絡的 IP 地址、DNS 的設置、安全策略和路由表。您還可以更進一步,把虛擬網絡划分為多個子網。然后用它們連接您的虛機或其他的雲服務實例。另外,您還可以通過 Azure 的連通性選項建立虛擬網絡和本地網絡的連接。比如一個經典的本地網絡,它在 Azure 上的表示可能是這個樣子(此圖來自MSDN):

注意,此圖中的 Azure infrastructure 取代了本地網絡中路由器的角色,它使您可以無需任何配置就可以從虛擬網絡服務公網。網絡安全組則取代本地網絡中的防火牆應用於每一個子網。同時物理的負載均衡設備也被 Azure 內部提供的負載均衡功能取代。

虛擬網絡的優勢

隔離

虛擬網絡之間是完全隔離的。這就允許我們為開發、測試和產品環境創建完全相同的網絡環境。比如您可以創建兩個IP地址空間完全相同的虛擬網絡分別用於開發和測試,從而保證測試環境和開發環境的一致性。

訪問公網

默認連接到虛擬網絡的所有虛機和 PaaS 角色的實例都能夠訪問公網。您可以通過網絡安全組(NSGs)進行訪問控制。

在虛擬網絡中訪問虛機

虛擬機和 PaaS 角色的實例可以被連接到同一個虛擬網絡中。即便它們在不同的子網中也可以通過私有的 IP 地址進行互聯,而且不需要配置網關或公有 IP 地址。

名稱解析

Azure 內部提供了解析虛擬網絡中部署的虛機和 PaaS 角色實例名稱的功能。當然,您還可以配置使用您自己的 DNS 服務器。

安全

您可以通過網絡安全組控制虛擬網絡中進出虛機和 PaaS 角色實例的信息。

連通性

虛擬網絡之間可以通過網關或虛擬網絡 peering 技術實現相互連接,也可以通過 VPN 網絡或 Azure ExpressRoute 連接到您的本地數據中心。

創建虛擬網絡

PowerShell 的 Azure 模塊中為我們提供了不同的 API, 早期的 API 叫 ASM(Azure Service Manager)。隨着 Azure 的發展變化,又出現了一套新的 API 叫 ARM(Azure Resource Management)。本文將使用 ARM 版本的 API。明確一下目標,我們將創建如下圖所示的虛擬網絡結構(此圖來自MSDN):

新的虛擬網絡名稱為 LearnVNet,IP 地址空間為 192.168.0.0/16,包括兩個子網:
FrontEnd, 192.168.1.0/24
BackEnd, 192.168.2.0/24

准備工作

首先您需要安裝 Azure PowerShell SDK,這一步您可以參考 MSDN 或者筆者的博文《Azure 基礎:用 PowerShell 自動發布 CloudServices》。然后使用 Login-AzureRmAccount 命令登錄您的訂閱賬號。接下來再創建一個 Resource Group,本次實驗的環境全都放在這個 Resource Group 中:

New-AzureRmResourceGroup -Name LearnRG -Location "East Asia"

這條命令會在東亞的數據中心中創建名稱為 “LearnRG” 的 Resource Group。注意,這條命令執行完成后,Azure 就已經創建了名稱為 LearnRG 的 Resource Group。

好了,現在就可以開始創建虛擬網絡了。

虛擬網絡

在 ResourceGroup LearnRG 中創建虛擬網絡 LearnVNet:

New-AzureRmVirtualNetwork -ResourceGroupName LearnRG -Name LearnVNet -AddressPrefix 192.168.0.0/16 -Location "East Asia"

接下來把剛剛創建的虛擬網絡 LearnVNet 保存到變量 vnet 中:

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName LearnRG -Name LearnVNet

下面創建第一個子網 192.168.1.0/24:

Add-AzureRmVirtualNetworkSubnetConfig -Name FrontEnd -VirtualNetwork $vnet -AddressPrefix 192.168.1.0/24

用同樣的方法創建第二個子網 192.168.2.0/24:

Add-AzureRmVirtualNetworkSubnetConfig -Name BackEnd -VirtualNetwork $vnet -AddressPrefix 192.168.2.0/24

此時雖然我們已經完成了相關信息的創建,但是所有的信息還只是保存在本地,需要通知 Azure 進行實際的創建工作:

Set-AzureRmVirtualNetwork -VirtualNetwork $vnet

命令執行完成后我們就可以到 portal 上查看結果了:

一切順利,虛擬網絡 LearnVNet 和兩個子網已經創建成功啦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM