Azure 云服务(经典)的连接和网络问题:常见问题 (FAQ)

重要

新客户的云服务(经典版)现已弃用,并将于 2024 年 8 月 31 日对所有客户停用。 新部署应使用基于 Azure 资源管理器的新型部署模型 Azure 云服务(外延支持)

本文包括一些关于 Azure 云服务连接性和网络问题的常见问题解答。 有关大小信息,请参阅云服务 VM 大小页

如果本文未解决 Azure 问题,请访问 Microsoft Q&A 和 Stack Overflow 上的 Azure 论坛。 可以在这些论坛上发布问题。 还可提交 Azure 支持请求。 若要提交支持请求,请在 Azure 支持页上提交。

无法在多 VIP 云服务中保留 IP

首先,请确保已打开想要为其保留 IP 的虚拟机实例。 其次,请确保为过渡和生产部署使用保留的 IP。 请勿在部署升级过程中更改设置。

设置了 NSG 时,如何使用远程桌面?

将规则添加到 NSG,允许端口 338920000 上的流量。 远程桌面使用端口 3389。 云服务实例经过负载均衡,因此无法直接控制要连接到哪个实例。 RemoteForwarderRemoteAccess 代理管理远程桌面协议 (RDP) 流量,允许客户端发送 RDP cookie 和指定要连接到的单个实例。 RemoteForwarderRemoteAccess 代理要求打开端口 20000(如果你具有 NSG,此端口可能已被阻止)。

是否可以 ping 云服务?

否,不能通过使用正常 "ping"/ICMP 协议 ping 云服务。 通过 Azure 负载均衡器不允许使用 ICMP 协议。

若要测试连接性,我们建议执行端口 ping 操作。 当 Ping.exe 使用 ICMP 时,其他工具(如 PSPing、Nmap 和 telnet)允许你测试到特定 TCP 端口的连接性。

有关详细信息,请参阅使用端口 ping 而不是 ICMP 来测试 Azure VM 连接性

如何防止接收来自未知 IP 地址的数千次点击,这些 IP 地址是否会对云服务造成某种形式的恶意攻击?

Azure 实现多层网络安全性,以保护其平台服务免受分布式拒绝服务 (DDoS) 攻击。 Azure DDoS 防御系统是 Azure 持续监视过程的一部分,通过渗透测试不断改进。 该 DDoS 防御系统的设计不仅可以抵御外部的攻击,还可以承受其他 Azure 租户的攻击。 有关详细信息,请参阅 Azure 网络安全

还可以创建一个启动任务来选择性地阻止某些特定 IP 地址。 有关详细信息,请参阅阻止特定 IP 地址

当尝试 RDP 到我的云服务实例时,我收到消息:“此用户帐户已过期。”

当绕过 RDP 设置中配置的到期日期时,你可能会收到“此用户帐户已过期”的错误消息。 你可以按照以下步骤从门户更改到期日期:

  1. 登录到 Azure 门户,导航到云服务并选择“远程桌面” 选项卡。

  2. 选择“生产” 或“暂存” 部署槽位。

  3. 更改“到期日期”字段中的日期,然后保存配置。

你现在应能够 RDP 到你的计算机了。

为什么 Azure 负载均衡器不平均地均衡流量?

有关内部负载均衡器工作原理的信息,请参阅 Azure 负载均衡器新分发模式

使用的分发算法是将流量映射到可用服务器的 5 元组(源 IP、源端口、目标 IP、目标端口和协议类型)哈希。 它仅在传输会话内部提供粘性。 同一 TCP 或 UDP 会话中的数据包将被定向到经过负载均衡的终结点后面的同一数据中心 IP (DIP) 实例。 客户端从同一源 IP 关闭并重新打开连接或发起新会话时,源端口会更改,并导致流量定向到其他 DIP 终结点。

如何将发往云服务的默认 URL 的传入流量重定向到自定义 URL?

可以使用 IIS 的 URL 重写模块将传入到云服务的默认 URL(例如 *.chinacloudapp.cn)的流量重定向到某个自定义名称/URL。 由于默认情况下,URL 重写模块在 Web 角色上已启用,并且其规则是在应用程序的 web.config 中配置的,因此无论重新启动/重置映像,URL 重写模块都始终在 VM 上可用。有关详细信息,请参阅:

如何阻止/禁用发往云服务的默认 URL 的传入流量?

可以阻止发往云服务的默认 URL/名称(例如 *.chinacloudapp.cn)的传入流量。 在云服务定义 (*.csdef) 文件中的站点绑定配置下将主机标头设置为自定义 DNS 名称(例如 www.MyCloudService.com)。

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="AzureCloudServicesDemo" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
    <WebRole name="MyWebRole" vmsize="Small">
        <Sites>
            <Site name="Web">
            <Bindings>
                <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="www.MyCloudService.com" />
            </Bindings>
            </Site>
        </Sites>
        <Endpoints>
            <InputEndpoint name="Endpoint1" protocol="http" port="80" />
        </Endpoints>
        <ConfigurationSettings>
            <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
        </ConfigurationSettings>
    </WebRole>
</ServiceDefinition>

因为通过 csdef 文件强制实施了此主机标头绑定,所以,只能通过自定义名称“www.MyCloudService.com”访问该服务,而发往“*.chinacloudapp.cn”域的所有传入请求都将失败。 如果在服务中使用了自定义 SLB 探测或内部负载均衡器,则阻止服务的默认 URL/名称可能会干扰探测行为。

如何确保云服务面向公众的 IP 地址永不改变?

若要确保云服务面向公众的 IP 地址(也称 VIP)永不改变,以便它通常可由少数特定的客户端批准,我们建议你设置一个与之关联的保留 IP。 否则,如果删除了部署,则会从订阅解除分配由 Azure 提供的虚拟 IP。 为使 VIP 交换操作成功,需要为生产槽和暂存槽设置单独的保留 IP。 如果缺少这些 IP,交换操作会失败。 请根据以下文章来保留 IP 地址并将其与云服务进行关联:

只要有多个实例用于你的角色,将 RIP 与云服务进行关联就应该不会导致任何停机时间。 另外,还可以将 Azure 数据中心的 IP 范围添加到允许列表。 可以在 Microsoft 下载中心找到所有 Azure IP 范围。

此文件包含 Azure 数据中心使用的 IP 地址范围(包括计算、SQL 和存储范围)。 每周都将发布更新的文件,反映当前已部署的范围和任何即将对 IP 范围进行的更改。 数据中心至少在一周后才会使用文件中显示的新范围。 请每周下载新的 xml 文件,并在网站上执行必要的更改以正确地标识 Azure 中运行的服务。 Azure ExpressRoute 用户可能会注意到,此文件用于在每个月第一周更新 Azure 空间的 BGP 播发。

如何将 Azure 资源管理器虚拟网络与云服务一起使用?

不能将云服务置于 Azure 资源管理器虚拟网络中。 可以通过对等互连将 Azure 资源管理器虚拟网络与经典部署虚拟网络连接起来。 有关详细信息,请参阅虚拟网络对等互连

如何获取云服务使用的公共 IP 列表?

可以使用以下 PS 脚本来获取订阅下的云服务公共 IP 列表

$services = Get-AzureService  | Group-Object -Property ServiceName

foreach ($service in $services)
{
    "Cloud Service '$($service.Name)'"

    $deployment = Get-AzureDeployment -ServiceName $service.Name
    "VIP - " +  $deployment.VirtualIPs[0].Address
    "================================="
}