你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:通过 Azure 门户使用虚拟网络对等互连连接虚拟网络

可以使用虚拟网络对等互连将虚拟网络互相连接。 这些虚拟网络可以位于相同区域或不同区域中(也称为全局虚拟网络对等互连)。 将虚拟网络对等互连后,两个虚拟网络中的资源可以使用 Microsoft 主干网络通过低延迟、高带宽的连接相互通信。

Diagram of Azure resources created in tutorial.

在本教程中,你将了解如何执行以下操作:

  • 创建虚拟网络
  • 使用虚拟网络对等互连连接两个虚拟网络。
  • 将虚拟机 (VM) 部署到每个虚拟网络
  • VM 之间进行通信

先决条件

登录 Azure

登录 Azure 门户

创建虚拟网络和 Azure Bastion 主机

以下过程创建包含资源子网、Azure Bastion 子网和 Bastion 主机的虚拟网络:

  1. 在门户中,搜索并选择“虚拟网络”。

  2. 在“虚拟网络”页面上,选择“+ 创建”。

  3. 创建虚拟网络基本信息选项卡上输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“新建”。
    输入“test-rg”作为名称。
    选择“确定”。
    实例详细信息
    名称 输入“vnet-1”。
    区域 选择“美国东部 2”。

    Screenshot of the Basics tab for creating a virtual network in the Azure portal.

  4. 选择“下一步”,转到“安全性”选项卡。

  5. 在“Azure Bastion”部分,选择“启用 Bastion”

    Bastion 使用浏览器通过安全外壳 (SSH) 或远程桌面协议 (RDP),通过使用其专用 IP 地址连接虚拟网络中的虚拟机。 虚拟机不需要公共 IP 地址、客户端软件或特殊配置。 有关详细信息,请参阅什么是 Azure Bastion?

    注意

    每小时定价从部署 Bastion 的时刻开始计算,无论出站数据的使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。

  6. 在“Azure Bastion”中,输入或选择以下信息:

    设置
    Azure Bastion 主机名 输入“堡垒”。
    Azure Bastion 公共 IP 地址 选择“创建公共 IP 地址”。
    在名称中输入 public-ip-bastion
    选择“确定”。

    Screenshot of options for enabling an Azure Bastion host as part of creating a virtual network in the Azure portal.

  7. 选择“下一步”,转到“IP 地址”选项卡。

  8. 在“子网”的地址空间框中,选择“默认”子网。

  9. 编辑子网中,输入或选择以下信息:

    设置
    子网详细信息
    子网模板 保留默认值“默认”。
    名称 输入“subnet-1”。
    开始地址 保留默认值“10.0.0.0”。
    子网大小 保留默认值“/24 (256 个地址)”。

    Screenshot of configuration details for a subnet.

  10. 选择“保存”。

  11. 在窗口底部选择“查看 + 创建”。 验证通过后,选择“创建”。

重复上述步骤,以使用以下值创建第二个虚拟网络:

注意

第二个虚拟网络可以与第一个虚拟网络位于同一区域,也可以位于其他区域中。 可以跳过第二个虚拟网络的“安全”选项卡和 Bastion 部署。 在网络对等互连之后,可以连接到具有相同 Bastion 部署的两个虚拟机。

设置
名称 vnet-2
地址空间 10.1.0.0/16
资源组 test-rg
子网名称 subnet-1
子网地址范围 10.1.0.0/24

创建虚拟网络对等

使用以下步骤在 vnet1vnet2 之间创建双向网络对等互连。

  1. 在门户顶部的搜索框中,输入“虚拟网络”。 在搜索结果中,选择“虚拟网络”。

  2. 选择“vnet-1”。

  3. 在“设置”中选择“对等互连”。

  4. 选择“+ 添加”。

  5. 在“添加对等方”中,输入或选择以下信息:

    设置
    此虚拟网络
    对等互连链接名称 输入 vnet-1-to-vnet-2
    允许“vnet-1”访问“vnet-2” 保留默认值“已选择”。
    允许“vnet-1”接收来自“vnet-2”的转发流量 选中复选框。
    允许“vnet-1”中的网关将流量转发到“vnet-2” 保留默认值“已清除”。
    允许“vnet-1”使用“vnet-2”远程网关 保留默认值“已清除”。
    远程虚拟网络
    对等互连链接名称 输入 vnet-2-to-vnet-1
    虚拟网络部署模型 保留默认值“资源管理器”。
    订阅 选择订阅。
    虚拟网络 选择“vnet-2”。
    允许“vnet-2”访问“vnet-1” 保留默认值“已选择”。
    允许“vnet-2”接收来自“vnet-1”的转发流量 选中复选框。
    允许“vnet-2”中的网关将流量转发到“vnet-1” 保留默认值“已清除”。
    允许“vnet-2”使用“vnet-1”远程网关 保留默认值“已清除”。

    Screenshot of Add peering in the Azure portal.

  6. 选择添加

创建虚拟机

在每个虚拟网络中创建一个虚拟机,以测试它们之间的通信。

创建测试虚拟机

以下过程会在虚拟网络中创建一个名为 vm-1 的测试虚拟机 (VM)。

  1. 在门户中,搜索并选择“虚拟机”。

  2. 在“虚拟机”中,依次选择“+ 创建”、“Azure 虚拟机”。

  3. 在“创建虚拟机”的“基本信息”选项卡上,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    虚拟机名称 输入“vm-1”。
    区域 选择“美国东部 2”。
    可用性选项 选择“无需基础结构冗余”。
    安全类型 保留默认值标准
    映像 选择“Ubuntu Server 22.04 LTS - x64 Gen2”。
    VM 架构 保留默认值“x64”。
    大小 选择一个大小。
    管理员帐户
    身份验证类型 选择密码
    用户名 输入“azureuser”。
    Password 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择页面顶部的“网络”选项卡。

  5. 在“网络”选项卡中,输入或选择以下信息:

    设置
    网络接口
    虚拟网络 选择“vnet-1”。
    子网 选择“subnet-1 (10.0.0.0/24)”。
    公共 IP 选择
    NIC 网络安全组 选择“高级”。
    配置网络安全组 选择“新建”。
    在“名称”中输入“nsg-1”。
    将其余字段保留默认设置,然后选择“确定”。
  6. 将其余设置保留为默认值,然后选择“查看 + 创建”。

  7. 检查设置,然后选择“创建”。

注意

虚拟网络中具有堡垒主机的虚拟机不需要公共 IP 地址。 Bastion 提供公共 IP,虚拟机使用专用 IP 在网络中进行通信。 可以从堡垒托管的虚拟网络的任何虚拟机中删除公共 IP。 有关详细信息,请参阅 将公共 IP 地址与 Azure VM 取消关联

注意

Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。

发生以下事件之一时,将禁用默认出站访问 IP:

  • 将公共 IP 地址分配给 VM。
  • 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
  • 向虚拟机的子网分配了 Azure 虚拟网络 NAT 网关 资源。

在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。

有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问使用源网络地址转换(SNAT)进行出站连接

重复上述步骤,使用以下值在另一个虚拟网络中创建第二个虚拟机:

设置 Value
虚拟机名称 vm-2
区域 美国东部 2 或与 vnet-2 相同的区域。
虚拟网络 选择“vnet-2”。
子网 选择 subnet-1 (10.1.0.0/24)
公共 IP
网络安全组名称 nsg-2

等待虚拟机创建完成,然后继续执行后续步骤。

连接到虚拟机

使用 ping 测试虚拟机之间的通信。

  1. 在门户中,搜索并选择“虚拟机”。

  2. 在“虚拟机”页上,选择“vm-1”。

  3. 在“vm-1”的“概览”中,选择“连接”。

  4. 在“连接到虚拟机”页中,选择“Bastion”选项卡。

  5. 选择“使用 Bastion”。

  6. 输入在创建虚拟机时指定的用户名和密码,然后选择“连接”。

VM 之间进行通信

  1. 在“vm-1”的 bash 提示符下,输入 ping -c 4 vm-2

    你会收到类似于以下消息的回复:

    azureuser@vm-1:~$ ping -c 4 vm-2
    PING vm-2.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.1.0.4) 56(84) bytes of data.
    64 bytes from vm-2.internal.cloudapp.net (10.1.0.4): icmp_seq=1 ttl=64 time=1.83 ms
    64 bytes from vm-2.internal.cloudapp.net (10.1.0.4): icmp_seq=2 ttl=64 time=0.987 ms
    64 bytes from vm-2.internal.cloudapp.net (10.1.0.4): icmp_seq=3 ttl=64 time=0.864 ms
    64 bytes from vm-2.internal.cloudapp.net (10.1.0.4): icmp_seq=4 ttl=64 time=0.890 ms
    
  2. 关闭与vm-1的 Bastion 连接。

  3. 重复连接到虚拟机中的步骤以连接到 VM2

  4. 在“vm-2”的 bash 提示符下,输入 ping -c 4 vm-1

    你会收到类似于以下消息的回复:

    azureuser@vm-2:~$ ping -c 4 vm-1
    PING vm-1.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.4) 56(84) bytes of data.
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=1 ttl=64 time=0.695 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=2 ttl=64 time=0.896 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=3 ttl=64 time=3.43 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=4 ttl=64 time=0.780 ms
    
  5. 关闭与vm-2的 Bastion 连接。

清理资源

使用创建的资源之后,可以删除资源组及其所有资源:

  1. 在 Azure 门户中,搜索并选择“资源组”。

  2. 在“资源组”页上,选择“test-rg”资源组。

  3. 在“test-rg”页上,选择“删除资源组”。

  4. 在“输入资源组名称以确认删除”中输入“test-rg”,然后选择“删除”

后续步骤

本教程介绍以下操作:

  • 在两个虚拟网络之间创建了虚拟网络对等互连。

  • 使用 ping 测试了两个虚拟机通过虚拟网络对等互连进行通信的情况。

若要详细了解虚拟网络对等互连,请参阅: