我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答Igor Pagliai(微软) 
 
2014 9
28
日上午 5:57 


11 月 3
年欧洲 TechEd
大会新宣布的内容)。

重要提示:这篇文章中我提供的信息具有时间敏感性,因为这些信息未来可能会发生更改。我会尽量让这些内容保持最新状态,但是您还是应该阅读
Azure 官方文档源,对相关信息进行进一步确认。

过去三年内,我在 Azure IaaS方面做了比较深入的工作。在与合作伙伴共事的过程中,我被问到很多有关 Azure网络的问题,更具体地说,是有关虚拟网络
(VNET)和 VM
的问题。要提供恰当的答案并不总是那么容易,有时候文档内容不清楚或者会漏掉细节,而有的时候您可以自己去发现,但需要足够多的知识。因为我在这些问题中发现了一些重复出现的内容,所以我决定在这篇博客文章中写下我的个人常见问题解答列表。事先声明:虽然我来自微软,对 Azure有深入了解,但是我不会向您披露任何保留或机密信息。您在此处读到的内容可以由您自己再直接使用Azure时发现,或者可以直接使用官方和公开文档检索到。如果您有其他比较好的问题且答案会非常重要或者不容易检索到,请尽管在这篇文章下方添加评论。此外,关于
Azure 网络应该具备的新功能,如果您有相关建议或反馈,请使用以下链接提交您的想法或者为已有想法投票:

反馈论坛:网络(DNS、Traffic Manager、VPN、VNET)

http://feedback.azure.com/forums/217313-networking-dns-traffic-manager-vpn-vnet/category/77469-virtual-networks-vnet

像往常一样,您也可以在 Twitter上关注我:@igorpag。谢谢。

Azure是否为 VM
网络带宽提供 SLA?

我对几乎所有 VM型号都进行了 VM
带宽测试,发现整个过程中结果都非常一致。因为官方数字尚未披露,所以我不会共享我的测试结果。您可能在 Internet上找到了一些有关各种 VM SKU最高网络带宽的旧表格和信息,但不要相信这些表格和信息,因为它们已经过期,而且
Azure基础结构在此过程中已经有了发展。您仍可以使用这些信息做一个大概了解,但是您将需要等待官方发布相关的 SLA。

Azure是否为 VM
到 VM
的网络延迟提供 SLA?

在我的测试和项目中,Azure网络的延迟性能都表现优异。至少据我所知,没有任何云供应商可以通过正式的 SLA为两台不同
VM 之间的最高网络延迟做保证。您自己可以很轻松地做个测试,深入了解平均延迟,但是在测试标准方面您需要非常小心。首先,您需要在一天中的多个时段进行测试,包括峰值时段和非峰值时段;在一周中的多个日子进行测试,包括周末和工作日;最后,您应该计算平均值,按延迟从小到大排序后关心前 95%的数据,以消除峰值和偶发奇怪值。此外,不要假设所有
Azure 数据中心的延迟都一样。如果您要自己进行测试,我推荐您使用 SYSINTERNAL套件中的 PSPING工具,可从此处下载:http://technet.microsoft.com/zh-cn/sysinternals/bb896649.aspx。这款工具的优点在于,它不使用
ICMP,这样就没有跨越防火墙和负载平衡器的问题,您可以决定使用哪个 TCP端口。非常重要的是,您不但可以测试延迟,还可以测试带宽。有关使用该工具进行 Azure延迟测试的详细信息,您可以阅读我之前的一篇博客文章:

Azure网络延迟和 SQL Server优化

http://blogs.msdn.com/b/igorpag/archive/2013/12/15/azure-network-latency-test-and-sql-server-optimization.aspx

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

另一个需要考虑的复杂性因素是两台 VM在 Azure
数据中心中的位置:两台 VM
是在同一个 Azure
群集中还是在不同的群集中?如果在不同的群集中,延迟应该会因为有额外的跃点而稍微增加。再说一次,这没有官方文档。更有趣的是,您没办法知道 VM在哪个 Azure
群集中,除非您向 Microsoft支持提出申请进行询问。但是将 VM并置于同一个 Azure群集中却有快捷方法,具体内容请参阅下一部分。

Azure数据中心到数据中心的流量是否会经过公共 Internet?

张幻灯片:

MicrosoftAzure网络技术介绍及新增功能

http://channel9.msdn.com/Events/TechEd/Europe/2014/CDP-B227

此外,如果使用 ExpressRoute连接 VNET,流量也不会经过公共
Internet,而是使用私有租赁线路。

是否可以将 Azure公共 IP
地址加入白名单?

可以,所有 Azure公共 IP
范围都公布在以下链接中。如果因为安全原因,您想在内部部署网络中将这些 IP加入白名单,您可以按区域而不是按服务,选择性地执行该操作。

Microsoft Azure数据中心 IP
范围

http://www.microsoft.com/zh-cn/default.aspx

如果您依赖特定的 Azure资源,例如 Azure SQLDB实例或 Blob
存储帐户,请注意您看到的、用于解析具体 DNS名称的分配 IP
可能会在没有通知的情况下发生更改。 重要提示:对于
Azure 使用的 Internet IP,请勿依赖任何地理定位服务,因为这些服务可能会报告错误信息,有关详细信息,请参阅以下博客文章:

Microsoft Azure在美国区域使用非美国 IPv4地址空间

http://azure.microsoft.com/blog/2014/06/11/windows-azures-use-of-non-us-ipv4-address-space-in-us-regions

如果您创建了自己的云服务,想要使用逆向 DNS对该服务进行验证,您可以通过为云服务 VIP启用
PTR 记录注册(由 Azure
提供)以实现该目的,具体说明请参阅以下链接:

宣布:适用于 Azure云服务的反向 DNS

http://azure.microsoft.com/blog/2014/07/21/announcing-reverse-dns-for-azure-cloud-services

请注意,与云服务关联的虚拟 IP (VIP)在某些情况下可能会发生改变,如果想要百分之百确保不发生这种情况,您需要启用“预留
IP”功能,具体说明请参阅以下博客文章:

云服务和虚拟机的预留 IP地址



HYPERLINK"http://blogs.msdn.com/b/azchina/archive/2014/07/04/reserved-ip-addresses.aspx"http://blogs.msdn.com/b/azchina/archive/2014/07/04/reserved-ip-addresses.aspx

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

是否可以将 VM放在同一个群集中,以缩短网络延迟?

可以,这是可以实现的,但是因为最近引入了“区域虚拟网络”,所以流程发生了改变,具体说明请参阅以下博客文章:

区域虚拟网络

http://blogs.msdn.com/b/azchina/archive/2014/07/04/regional-virtual-networks.aspx

您基本上不需要创建与虚拟网络 (VNET)绑定的关联组 (AG),只要在创建
VM时指定 AG
即可。您即使使用了“区域虚拟网络”,也可以实现在同一个 Azure群集中进行并置。请注意,所有新的
VNET在默认情况下都是“区域虚拟网络”,您将无法继续在 Azure门户中创建“本地虚拟网络”。此外,已经存在的
VNET将自动迁移到“区域虚拟网络”中,无需用户干预。现在我还不清楚未来 AG机制是否会被抛弃,但现在
AG机制仍然可以按照我刚才为您说明的方式使用。

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

我无法确认的是“关联组”的发展方向:在我看来,但这只是个人观点,随着“区域网络”的出现,如果
Microsoft 通过某种方式在“区域网络”内保证了一种统一的延迟边界,关联组的存在将没有意义。

Azure VM中的“*.internal.cloudapp.net”DNS后缀是什么?

如果您构建 Azure VM并将其加入到 Azure虚拟网络中,在您尝试使用
VM主机名称(清楚地说就是旧版 Netbios名称)对这台 VM
执行 ping
操作时,您会看到以下画面:

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

从这张图片中您可以看到,FQDN中有两个奇怪的部分:“cloudapp.net”没有什么奇怪的,但是“internal”和“a3”是什么?您可以很容易地猜到“internal”是
Azure 内部 DNS (iDNS)用于托管 VM
记录并解析至内部 VM IP (DIP)的默认 DNS
子区域。而“a3”有点复杂:简单地说,它描述了 VM在特定
Azure 数据中心中所处的网络区域。这些区域没有相关的官方文档或者列表,所以不要细究,但是请注意,它不但在 Azure数据中心之间会发生变化,在同一个数据中心内也会发生变化。

连接不同云服务中的 VM会不会产生延迟开销?

答案是不会,或者至少是可以忽略。不久前,我和多个合作伙伴合作,将应用程序 VM放置到了一个云服务中,然后将后端 VM (SQL Server)放置到了另一个云服务中。如果您想要使用
SQL Server AlwaysOn可用性组 (AG)
机制,这是一种典型情况。虽然应用程序 VM将通过 Azure
负载平衡器 (SLB)
与后端 VM
连接,但是网络延迟开销非常小,因为 Azure中有一种有趣的网络优化功能。在两台 VM初次进行 TCP
连接握手时,Azure
会识别出该通信是两个内部资源之间的通信,并允许直接进行通信,这与同一个云服务内使用 DIP进行网络连接的情况相同。您可以在我下面这篇博客文章中查阅我获得的详细测量数据:

Azure网络延迟和 SQL Server优化

http://blogs.msdn.com/b/igorpag/archive/2013/12/15/azure-network-latency-test-and-sql-server-optimization.aspx

Ping和 Tracert
工具在 Azure
虚拟网络内部是否有用?

有用,这两种工具可以在 VNET内完美工作,甚至可以通过 VPN连接,在内部部署网络对
VNET使用。如果您尝试跨越 Azure负载平衡器 (SLB),这两个工具将不起作用。

Azure负载平衡器 (SLB)是否会使用轮询策略分发传入连接?

这是对 SLB工作方式的常见误解。实际上,Azure SLB是第 4
元组(
IP、源端口、目标 IP、目标端口、协议类型
)计算用于将流量映射到 VIP
后的可用服务器的哈希函数。选择哈希函数是为了让分发到服务器的连接随机化,而不是完美地轮询。此外,至少到目前为止,还不支持会话关联。

Microsoft Azure负载平衡服务

http://blogs.msdn.com/b/azchina/archive/2014/05/26/microsoft-azure-load-balancing-services.aspx

月,Azure
引入了一种称为源 IP
关联(也称为会话关联或客户端 IP
关联)的新分发模式。Azure
负载平衡器可以配置为使用 2
元组(源
IP、目标 IP、协议)将流量映射到可用服务器上。使用源 IP关联,同一客户端计算机上发起的连接都会转到同一个
DIP端点。

Azure负载平衡器新分发模式

http://azure.microsoft.com/blog/2014/10/30/azure-load-balancer-new-distribution-mode

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

Azure负载平衡器 (SLB)是否支持 SSL
终止?

AzureSLB 现在还不支持 SSL终止,您必须在每台
VM或每个 Web/Worker Role实例中处理 HTTPS加密和解密的终止过程。这是
Azure网络团队正在考虑改进的一个方面。

允许在负载平衡器上进行 SSL终止

http://feedback.azure.com/forums/217313-networking-dns-traffic-manager-vpn-vnet/suggestions/4573108-allow-ssl-termination-at-the-load-balancer

我是否可以不使用 Azure SLB,而使用自己的负载平衡器?

可以,使用 Azure SLB不是强制性的,Azure有一种称为“基本级”的特定虚拟机,与标准
SKU 相比,基本级虚拟机的价格低 27%:

基本级虚拟机

http://blogs.msdn.com/b/azchina/archive/2014/07/02/basic-tier-virtual-machines.aspx

虽然“基本级”不提供自动伸缩功能,但是通过“可用性集”,您可以获得
99,95% 的可用性。此外,请注意,不是所有型号的CPU和 RAM 都有基本级:

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

为 VM选择“基本”级后,您就可以安装自己的负载平衡器软件了。

我是否可以暴露 VM的整个端口范围?

可以,Azure有一个称为“实例级公共 IP地址”的特殊功能,可以为
VM提供“公共实例 IP”(PIP),并在默认情况下打开整个端口范围,无需创建任何端点。使用正常的
VIP个端点/端口,如果您要打开大量端口,这个功能可以满足您的要求。

实例级公共 IP地址

http://msdn.microsoft.com/zh-cn/library/azure/dn690118.aspx

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

加入了 VNET的 VM
可以支持多少连接?

对于 Windows Server,VM可以支持大约 50
万条 TCP
连接,但是您需要小心,在达到这个阈值前可能会出现其他潜在限制:如果您通过 Azure负载平衡器端点将 VM暴露给
Internet流量,您可能会受到 SLB容量或 DDOS
安全机制的限制。实际上,在 SLB
或端点限制方面并没有相关的公共文档,连接数量和网络带宽方面也没有,所以您需要自己进行性能测试,确保一切正常运行。

我是否可以有多个 VNET网关?

现在一个 VNET只能有一个网络网关:如果您配置多个隧道,这些隧道会共享相同的最大网络带宽。

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

从上表中您可以看到,根据网关 SKU的类型(默认或高性能)和连接类型(S2S VPN或
Express Route),您可以创建的最大隧道数量是有限制的。

Azure是否提供 DDOS
网络保护?

提供,Azure基础结构设计为在网络受到源于 Internet或内部其他租户
VM 的 DDOS
攻击时提供保护。有关详细信息,请参阅以下白皮书:

http://download.microsoft.com/download/4/3/9/43902EC9-410E-4875-8800-0788BE146A3D/Windows%20Azure%20Network%20Security%20Whitepaper%20-%20FINAL.docx

请注意以下要点:

  • Windows Azure DDoS 防护系统的设计目的不仅包括抵御外部攻击,还包括抵御内部攻击。
  • Windows Azure 会监控并检测内部发起的 DDoS 攻击,并将发起攻击的 VM 从网络中移除。
  • Windows Azure 的 DDoS 保护也可以为应用程序提供帮助。但是,单个应用程序仍然可能会成为攻击目标。所以,客户应主动监控 Windows Azure 应用程序。

我是否可以在 Azure虚拟网络内部使用 IPv6?

经确认,对 IPv6的支持仍在开发过程中,您可以参阅以下链接:

在整个 Azure平台支持 IPv6

http://feedback.azure.com/forums/217313-networking-dns-traffic-manager-vpn-vnet/suggestions/4992369-support-ipv6-throughout-the-azure-platform

Azure 常见问题中的其他评论 http://azure.microsoft.com/zh-cn/pricing/faq

过去几年,Microsoft在帮助客户从 IPv4平稳过渡到
IPv6 方面起到了重要作用。迄今为止,Microsoft已在其许多产品和解决方案(如
Windows 8和 Windows Server2012 R2)中建立了 IPv6支持。Microsoft致力于通过
IPv6 扩展 Internet
的全球性功能并实现各种有用且激动人心的方案,包括点对点应用程序和移动应用程序。在 Azure环境中启用 IPv6
的基础工作正在进行中。但是,我们目前无法公开 IPv6支持正式发布的日期。

Azure虚拟网络内是否支持 UDP广播和多播?

在 VNET内,甚至是跨 Azure SLB都不允许这种通信类型。

在虚拟网络内支持多播

http://feedback.azure.com/forums/217313-networking-dns-traffic-manager-vpn-vnet/suggestions/3741233-support-multicast-within-virtual-networks

VM上是否可以有多个 NIC?

可以,2014 年 10 月的欧洲 TechEd 大会上已经宣布了这项功能。请注意,添加更多的 NIC 不会为您增加更多带宽,所有 NIC 都会共享 VM 级别获得的限值。现在最多可以有 4 个额外的 NIC 且不需花费任何额外的成本,具体数量会因为 VM 型号的不同而发生变化:

  • 大型 (A3) 和 A6:2 个
  • 超大型 (A4) 和 A7:4 个
  • A9:2 个
  • D3:2 个
  • D4:4 个
  • D13:4 个

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

请注意,这其中存在一些限制,请确保阅读以下博客文章中“关于多个 NIC的功能的常见问题解答和限制”部分:

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

http://azure.microsoft.com/blog/2014/10/30/multiple-vm-nics-and-network-virtual-appliances-in-azure

值得一提的是,现在还可以在整个 VM生命周期中保持 NIC的以太网 (MAC)
地址不变。

我是否可以在虚拟网络内避免使用 DHCP?

可以,当您将一台 VM加入 Azure
虚拟网络时,默认情况下这台 VM
将使用由 Azure
内部 DHCP 自动分配的内部 IP (DIP),先在您定义的地址范围内生效,最终在您指定的子网中生效。这个
IP 将拥有无限长的租赁时间,但在

特定情况下可能会发生改变,例如您通过取消配置停止 VM时(默认行为)。如果要混合使用 DHCP动态分配的 IP
和静态分配的 IP,建议使用不同的子网,避免可能发生的地址冲突。有关详细信息,请参阅以下博客文章:

虚拟机的静态内部 IP地址

http://blogs.msdn.com/b/azchina/archive/2014/06/05/static-internal-ip-address-for-virtual-machines.aspx

是否可以针对我的 Azure VM运行网络渗透测试?

可以,您可以这样做,但是强烈建议在运行测试前遵循以下所述的具体流程,否则 Azure监控和防御系统会被触发并将您的连接、IP和/或
VM加入黑名单。您需要从 http://download.microsoft.com/download/C/A/1/CA1E438E-CE2F-4659-B1C9-CB14917136B3/Penetration%20Test%20Questionnaire.docx 下载一份表单,填写必要的信息,然后向
Azure 客户支持开立支持表单并指定“Support Type: Billing”(支持类型:计费)、“Problem
type: Legal andCompliance”(问题类型:法律和合规)以及“Category: Request for penetration testing”(类别:渗透测试请求):

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

Azure VPN保证的带宽是多少?

Azure VPN 没有最小保证带宽,唯一提供的 SLA与高可用性有关 (99,90%),您可以从以下链接下载相关文档。如果您在
Internet到 100MB/秒的多个最大带宽值:这通常也是我个人测试中得到的值,我想再强调一遍,没有最小保证带宽。上限可能由支持
VPN软件 Azure
侧的 VM
型号(小型)决定,我听到有传言说未来会改进,但还没有官方消息。

Microsoft Azure云服务、虚拟机和虚拟网络 SLA

http://www.microsoft.com/zh-cn/default.aspx

VHD I/O 是否会计入 VM网络带宽上限?

不会。与 IaaS VM VHD访问相关的 I/O
将计入存储 IOPS
限值,但不计入网络限值。这似乎是一个复杂的问题,但因为持久的 VM存储是联网到存储服务的,所以有些客户和合作伙伴会经常问这个问题。有关 Azure存储的伸缩目标的官方数字,请参阅以下链接:

Azure存储的可伸缩性和性能目标



HYPERLINK"http://msdn.microsoft.com/library/azure/dn249410.aspx"
http://msdn.microsoft.com/library/azure/dn249410.aspx

如果您使用一些特殊功能,例如 SQL Server 2014 Azure Blob存储集成或 Azure File(在
SMB上),这些特殊功能在计入目标服务可伸缩性和性能限值的同时,也会计入 VM网络带宽限值。

更新:有关 SQL Server 2014和 Azure Blob存储集成的新白皮书

http://blogs.msdn.com/b/igorpag/archive/2014/06/22/update-new-white-paper-on-sql-server-2014-and-azure-blob-storage-integration.aspx

MicrosoftAzure File服务简介

http://blogs.msdn.com/b/azchina/archive/2015/01/13/introducing-microsoft-azure-file-service.aspx

我是否可以为我的应用程序流量使用 A8/A9VM Infiniband NIC?

这要看情况。我已经被多次问到这样的问题,例如,是否可以为 SQLServer
AlwaysOn 可用性组复制流量使用Infiniband NIC,因为Infiniband NIC可以提供高带宽、低延迟连接以及
RDMA支持。在这种情况下,答案是不可以。这种 NIC不提供一般的 TCP/IP连接,所以所有应用程序将无法在“Network
Direct
”接口和 MS-MPI协议上通信。

Windows Azure的新高性能功能

http://blogs.technet.com/b/windowshpc/archive/2014/01/30/new-high-performance-capabilities-for-windows-azure.aspx

我是否可以在 Azure中创建 DMZ?

年 10
月的欧洲 TechEd
大会上引入了“网络安全组”(NSG)之后,现在已经可以实施全功能的 DMZ,严格隔离同一个
VNET中的子网之间的流量。

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

网络安全组可以应用于子网(虚拟网络内),也可以应用于单个虚拟机,从而启用两层保护。网络安全组内的规则可以独立于虚拟机进行修改和更新,从而允许在虚拟机生命周期以外管理访问控制列表。

Azure ILB是否可以用于增强网络安全?

可以,但需要澄清安全帮助是什么,因为关于这个功能的工作方式有一些困惑。这个功能本质上可以帮助增强安全,因为它可以让您在使用 Azure SLB时定义一个(或多个)不暴露给 Internet的负载平衡端点,进而增强安全。但是,这个功能不是一种分隔机制,因为即使使用
ACL,如果不使用 ILB,VNET中的资源还是不会被隔离,所有 VM都可以通过开放、全面的连接功能与其他所有
VM连接。基于相同的原因,ILB不能用于实现 DMZ。

我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

如果您想要构建真正的 DMZ配置,建议阅读这篇博客文章前面的“我是否可以在
Azure中创建 DMZ?”
 部分。

是否可以在虚拟网络中添加 Azure PaaS服务?

可以。Microsoft最近开始为 VNET
增加添加平台 PaaS
服务的功能:添加平台 PaaS
服务后,您可以在 IaaS VM
和 PaaS
服务之间获得双向访问权限。现在您可以为 Azure VNET添加网站和 HDInsight HBASE群集,未来有望增加更多服务:

Azure网站虚拟网络集成

http://azure.microsoft.com/blog/2014/09/15/azure-websites-virtual-network-integration

在Azure虚拟网络中配置 HBase群集

http://azure.microsoft.com/zh-cn/documentation/articles/hdinsight-hbase-provision-vnet/

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

本文翻译自:http://blogs.msdn.com/b/igorpag/archive/2014/09/28/my-personal-azure-faq-on-azure-networking-slas-bandwidth-latency-performance-slb-dns-dmz-vnet-ipv6-and-much-more.aspx


上一篇:【转】MySQL的Replace into 与Insert into on duplicate key update真正的不同之处


下一篇:Redis同步操作失败的原因