練習 - 使用 Azure CLI 命令準備虛擬網路以進行對等互連
假設您的公司現在已準備好實作虛擬網路對等互連。 您想要連線部署在不同虛擬網路中的系統。 若要對此計劃進行測試,首先要先建立虛擬網路,以支援公司已在 Azure 中執行的服務。 您需要三個虛擬網路:
- Sales 虛擬網路部署在北歐。 Sales 系統使用此虛擬網路來處理與客戶互動後所新增的資料。 Sales 小組想要存取 Marketing 資料。
- Marketing 虛擬網路部署在北歐。 Marketing 系統使用此虛擬網路。 Marketing 小組的成員會定期與 Sales 小組交談。 若要與 Sales 小組共用其資料,由於 Sales 與 Marketing 並未互相連線,因此他們必須下載資料。
- Research 虛擬網路部署在西歐。 Research 系統使用此虛擬網路。 Research 小組的成員與 Marketing 有著合理的工作關係,但他們不希望 Sales 小組直接存取其資料。
您將建立下列資源:
虛擬網路 | 區域 | 虛擬網路位址空間 | 子網路 | 子網路位址空間 |
---|---|---|---|---|
SalesVNet | 北歐 | 10.1.0.0/16 | 應用程式 | 10.1.1.0/24 |
MarketingVNet | 北歐 | 10.2.0.0/16 | 應用程式 | 10.2.1.0/24 |
ResearchVNet | 西歐 | 10.3.0.0/16 | 資料 | 10.3.1.0/24 |
建立虛擬網路
在 Cloud Shell 中,執行下列命令為 Sales 系統建立虛擬網路和子網路:
az network vnet create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name SalesVNet \ --address-prefixes 10.1.0.0/16 \ --subnet-name Apps \ --subnet-prefixes 10.1.1.0/24 \ --location northeurope
執行下列命令為 Marketing 系統建立虛擬網路和子網路:
az network vnet create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name MarketingVNet \ --address-prefixes 10.2.0.0/16 \ --subnet-name Apps \ --subnet-prefixes 10.2.1.0/24 \ --location northeurope
執行下列命令為 Research 系統建立虛擬網路和子網路:
az network vnet create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name ResearchVNet \ --address-prefixes 10.3.0.0/16 \ --subnet-name Data \ --subnet-prefixes 10.3.1.0/24 \ --location westeurope
確認虛擬網路設定
讓我們快速瀏覽一下您所建立的內容。
在 Cloud Shell 中執行下列命令,以檢視您已建立的虛擬網路:
az network vnet list --query "[?contains(provisioningState, 'Succeeded')]" --output table
您的輸出看起來應該會如同此範例:
Location Name EnableDdosProtection ProvisioningState ResourceGuid ResourceGroup ----------- ------------- ---------------------- ------------------- ------------------------------------ ------------------------------------------ westeurope ResearchVNet False Succeeded 9fe09fe0-d6cd-4043-aba8-b5e850a91251 learn-cb081b92-bc67-49cf-a965-1aeb40a2e25c northeurope SalesVNet False Succeeded 8f030706-cce4-4a7b-8da2-a9f738887ffd learn-cb081b92-bc67-49cf-a965-1aeb40a2e25c northeurope MarketingVNet False Succeeded ffbf8430-b0eb-4c3d-aa94-3b3156b90bed learn-cb081b92-bc67-49cf-a965-1aeb40a2e25c
在每個虛擬網路中建立虛擬機器
現在,您會在每個虛擬網路中部署一些建立 Ubuntu 虛擬機器 (VM)。 這些 VM 會模擬每個虛擬網路中的服務。 在本課程模組的最後一個單元中,您會使用這些 VM 來測試虛擬網路之間的連線。
在 Cloud Shell 中,執行下列命令,將 取代
<password>
為符合 Linux VM 需求的密碼,以在 SalesVNet 的 Apps 子網路中建立 Ubuntu 虛擬機器 (VM)。 記下此密碼以供稍後使用。az vm create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --no-wait \ --name SalesVM \ --location northeurope \ --vnet-name SalesVNet \ --subnet Apps \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>
注意
此命令中的
--no-wait
參數可讓您在 VM 建置期間,繼續在 Cloud Shell 中工作。執行下列命令,將 取代
<password>
為符合 Linux VM 需求的密碼,以在 MarketingVNet 的 Apps 子網路中建立另一個 Ubuntu VM。 記下此密碼以供稍後使用。 VM 可能需要一或兩分鐘的時間才能建立。az vm create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --no-wait \ --name MarketingVM \ --location northeurope \ --vnet-name MarketingVNet \ --subnet Apps \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>
執行下列命令,將 取代
<password>
為符合 Linux VM 需求的密碼,以在 ResearchVNet 的資料 子網路中建立 Ubuntu VM。 記下此密碼以供稍後使用。az vm create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --no-wait \ --name ResearchVM \ --location westeurope \ --vnet-name ResearchVNet \ --subnet Data \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>
VM 可能需要幾分鐘的時間才會到達執行中狀態。
若要確認 VM 是否正在執行,請執行下列命令。 Linux
watch
命令設定為每五秒重新整理一次。watch -d -n 5 "az vm list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --show-details \ --query '[*].{Name:name, ProvisioningState:provisioningState, PowerState:powerState}' \ --output table"
ProvisioningState 為 [已成功] 和 PowerState 為 [VM 執行中] 表示 VM 部署成功。
當您的 VM 正在執行時,您可以繼續。 按
Ctrl-c
停止命令,然後繼續進行練習。