练习 - 使用 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 |
注意
本练习为选做练习。 若要完成本练习,则需要在开始之前创建 Azure 订阅。 如果没有 Azure 帐户或不想暂时创建一个帐户,可以通读说明,以便了解所显示的信息。
注意
需要使用资源组来完成本练习中的步骤。 可以使用已创建的资源组,也可以专门为此练习创建新的资源组。 如果选择创建新的资源组,这样就可以更轻松地清理完成练习时创建的任何资源。 如果没有现有资源组或想要为此练习创建新的资源组,可以按照 使用 Azure 门户和 Azure 资源管理器 中的步骤管理资源组,使用 Azure 门户创建资源组,或者可以使用 Azure CLI 通过 Azure CLI 创建资源组,按照 “管理 Azure 资源组 ”中的步骤作。
注意
在本练习中,请将示例中的 myResourceGroupName 替换为现有资源组的名称或为此练习创建的资源组的名称。
创建虚拟网络
在 Cloud Shell 中运行以下命令,为“销售”系统创建虚拟网络和子网:
az network vnet create \ --resource-group "myResourceGroupName" \ --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 "myResourceGroupName" \ --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 "myResourceGroupName" \ --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 "myResourceGroupName" \ --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 "myResourceGroupName" \ --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 "myResourceGroupName" \ --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 "myResourceGroupName" \ --show-details \ --query '[*].{Name:name, ProvisioningState:provisioningState, PowerState:powerState}' \ --output table"“ProvisioningState”为“成功”,且“PowerState”为“VM 正在运行”表示 VM 部署成功。
在 VM 运行后,即可进行下一步。 按
Ctrl-c停止命令,然后继续练习。