练习 - 使用 Azure CLI 命令准备虚拟网络以进行对等互连
假设你的公司已准备好实现虚拟网络对等互连。 你希望连接部署在不同虚拟网络中的系统。 要对此计划进行测试,请首先创建虚拟网络,以支持公司已在 Azure 中运行的服务。 需要三个虚拟网络:
- “销售”虚拟网络部署在欧洲北部。 销售系统使用此虚拟网络处理在客户参与后添加的数据。 销售团队想要访问营销数据。
- “营销”虚拟网络部署在欧洲北部。 营销系统使用此虚拟网络。 营销团队的成员定期与销售团队沟通。 要将他们的数据与销售团队共享,则需要下载这些数据,因为销售系统和营销系统之间没有连接。
- “研究”虚拟网络部署在欧洲西部。 研究系统使用此虚拟网络。 研究团队的成员与营销团队有逻辑工作关系,但他们不希望销售团队直接访问其数据。
你将创建以下资源:
虚拟网络 | 区域 | 虚拟网络地址空间 | 子网 | 子网地址空间 |
---|---|---|---|---|
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 中运行以下命令,为“销售”系统创建虚拟网络和子网:
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
运行以下命令,为“营销”系统创建虚拟网络和子网:
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
运行以下命令,为“研究”系统创建虚拟网络和子网:
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”的“应用”子网中创建 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”的“应用”子网中创建另一个 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
停止命令,然后继续练习。