练习 - 使用 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 替换为现有资源组的名称或为此练习创建的资源组的名称。

创建虚拟网络

  1. 在 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
    
  2. 运行以下命令,为“营销”系统创建虚拟网络和子网:

    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
    
  3. 运行以下命令,为“研究”系统创建虚拟网络和子网:

    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
    

确认虚拟网络配置

快速浏览一下已创建的内容。

  1. 在 Cloud Shell 中运行以下命令,查看已创建的虚拟网络:

    az network vnet list --query "[?contains(provisioningState, 'Succeeded')]" --output table
    
  2. 输出应类似于此输出:

    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 来测试虚拟网络之间的连接。

  1. 在 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 中的工作。

  2. 运行下面的命令,将 <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>
    
  3. 运行下面的命令,将 <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 可能需要几分钟才能进入运行状态。

  4. 运行以下命令,确认 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 部署成功。

  5. 在 VM 运行后,即可进行下一步。 按 Ctrl-c 停止命令,然后继续练习。