Azure 中的多个 VM NIC 和网络虚拟设备

YU-SHUN WANG  Azure 网络高级项目经理

在 2014 年欧洲 TechEd 大会上,我们宣布了在Azure VM 中为多个网络接口 (NIC) 提供支持,并与多家重要厂商合作,在 Azure 中引入了网络虚拟设备,其中最引人注目的是 Citrix Netscaler 和 Riverbed 设备。 很多网络虚拟设备都要求使用多个 NIC。现在您可以在 Azure VM 中创建多个 NIC。借助多个 NIC,您可以更好地管理网络流量。您也可以将前端 NIC 和后端 NIC 之间的流量隔离开来,或者将数据层通信与管理层通信分开。以下是含有 3个 NIC 的 VM 示例:

 

如何创建含有多个 NIC 的VM

以下说明将帮助您创建一个含有 3 个 NIC 的 VM:默认 NIC 和两个额外的NIC。配置步骤中使用包含 3 个子网的虚拟网络:Frontend(10.1.0.0/24)、Midtier (10.1.1.0/24) 和 Backend(10.1.2.0/24),虚拟网络名称为“ThreeTier-VNet”,如下所示:

 

以下配置 cmdlet 使用最新的 Azure PowerShell 版本。请按此处的说明下载和配置 Azure PowerShell。

1. 从 Azure VM 映像库中选择一个VM 映像:

$image = Get-AzureVMImage -ImageName"a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201408.01-en.us-127GB.vhd"

2. 创建 Azure VM 配置和默认管理员登录:

$vm = New-AzureVMConfig -Name"MultiNicVM" -InstanceSize"ExtraLarge" -Image $image.ImageName –AvailabilitySetName “MyAVSet”
Add-AzureProvisioningConfig –VM $vm -Windows -AdminUserName “<YourAdminUID>” -Password “<YourAdminPassword>”

3. 指定默认 NIC 的子网和IP 地址。请注意,SubnetNames 参数必须是虚拟网络中某个子网的名称。本例中,我们使用 Frontend 子网。

Set-AzureSubnet -SubnetNames"Frontend" -VM $vm
Set-AzureStaticVNetIP -IPAddress"10.1.0.10" -VM $vm

4. 为 VM 配置添加额外的 NIC。与第 3步类似,SubnetName 和StaticVNetIPAddress 必须与虚拟网络的子网定义相对应。接口名称对于 VM 必须是唯一的,但并不代表 VM 中 NIC 的名称。

Add-AzureNetworkInterfaceConfig -Name"NIC1" -SubnetName"Midtier" -StaticVNetIPAddress"10.1.1.11" -VM $vm
Add-AzureNetworkInterfaceConfig -Name"NIC2" -SubnetName"Backend" -StaticVNetIPAddress"10.1.2.22" -VM $vm

5. 执行完上述步骤后,即已准备好创建 VM。下面您将需要在虚拟网络中创建一个包含以上所用子网名称和 IP 地址的 VM。

New-AzureVM -ServiceName"MultiNIC-CS" –VNetName “ThreeTier-VNet” –VM $vm

关于多个 NIC 的功能的常见问题解答和限制:

当前版本的多个 NIC 功能具有以下要求和限制:

1. 该功能是已经正式发布还是处于预览阶段?

·   已经正式发布

2. 哪些区域将提供多个 NIC 功能?如果不是所有区域都提供该功能,其余区域的情况如何?

·   客户现在可以使用多个NIC 创建 VM。该功能将首先在北欧地区提供,未来几周内将逐步扩展到所有Azure 区域。有关发布更新,请参阅此处

3. 多个 NIC 功能的定价如何?

·   没有额外费用,虽然NIC 的数量是与 VM SKU 相关联的。

4. 我是否可以在 Linux、FreeBSD和其他非 Windows OS 映像中使用多个NIC 功能?

·   除基本 SKU 之外,其他任何 Azure VM 都支持多个 NIC。

5. 我可以创建多少个 NIC?

·   大型 (A3) 和 A6:2 个

·   超大型 (A4) 和 A7:4 个

·   A9:2 个

·   D3:2 个

·   D4:4 个

·   D13:4 个

6. 该功能是否存在客户必须要知道的限制?

·   多个 NIC 的功能仅在 Azure VM(IaaS、标准 SKU)上受支持;VM 必须位于Azure 虚拟网络中。

·   当前版本不支持在VM 创建后添加或删除 NIC。

·   Azure VM 中的 NIC 无法转发流量,也不能作为第 3 层 (IP) 网关使用。

·   面向 Internet 的 VIP 仅在“默认”NIC 上受支持,并且只有一个 VIP 会映射到默认 NIC 的 IP。额外的 NIC 无法在负载平衡集中使用。

·   VM 中 NIC 的顺序是随机的,但是 IP 地址和对应的 MAC 将保持不变。

·   您无法将网络安全组或强制隧道应用到非默认NIC。我们已在规划增加此项支持。

Azure中的虚拟设备 – Citrix和 Riverbed

我们正在与多家网络设备供应商一起努力,将他们的虚拟机设备加入到 Azure 中。在 TechEd 大会上,我们进行了有关Citrix Netscaler 和 Riverbed Steelhead 的演示。我们将不断改进该平台,为更多第三方虚拟设备提供支持。除了多个 NIC 之外,我们还成功实现了 NIC 的以太网 (MAC) 地址在 VM 整个生命周期中保持不变。这样就可以为那些依赖于 MAC 地址进行许可颁发的设备提供帮助。

以下是有关这次欧洲 TechEd 大会演示的更多详细信息。

1.   我们演示了一个可以在 Azure 中正常工作的 Citrix Netscaler 原型,该演示中使用了 2 个 NIC 并且 MAC 保持不变。

2.   我们还和 Riverbed 一起创建了一个使用内部部署SteelHead 的演示,此外,我们还创建了在 Azure 中使用 SteelHead 进行WAN 优化的演示,说明如何将 WAN 优化与 Azure Site Recovery 和 ExpressRoute 相结合。

Riverbed 现已可用。我们将在Azure 认证计划中增加网络合作伙伴的数量,敬请关注。

让 Azure 网络平台为虚拟设备做好准备只是开始,在 Azure 平台改进和虚拟设备合作方面,我们依然任重道远!

如果你有任何疑问, 欢迎访问MSDN社区,由专家来为您解答Windows Azure各种技术问题,或者拨打世纪互联客户服务热线400-089-0365/010-84563652咨询各类服务信息。

本文翻译自:https://azure.microsoft.com/blog/2014/10/30/multiple-vm-nics-and-network-virtual-appliances-in-azure/