如何以编程方式更改 Azure 云服务或 VM 的 IP 地址?

Posted

技术标签:

【中文标题】如何以编程方式更改 Azure 云服务或 VM 的 IP 地址?【英文标题】:How can I programmatically change the IP address of an Azure Cloud Service or VM? 【发布时间】:2013-08-20 06:51:35 【问题描述】:

背景。我有一项正在抓取合作伙伴网站的服务。他们的网站通过 IP 地址阻止“类似机器人”的行为。他们自己不控制他们的服务器,所以他们希望我经常(例如每分钟)更改我的爬虫的 IP 地址。爬虫当前作为 Azure 云服务运行。

所以我的问题是。您将如何以编程方式更改 Azure 服务器的 IP 地址?

我可以使用代理...但该站点在 SSL 上运行,所以我不确定这是一个选项。

我可以使用 *** 连接...但我不确定是否可以通过编程方式从云服务/VM 中拨打 ***?我正在使用 C#/.NET。

最后。我尝试进行 VIP 交换,它实际上在几秒钟内给了我一个新 IP。但不幸的是,这仅在从 Staging 切换到 Production 时才有效。如果没有暂存运行,则在尝试从生产切换到暂存时出现错误。为什么会被屏蔽?

【问题讨论】:

【参考方案1】:

您无法以编程方式更改部署的 IP 地址,除了关闭部署(释放 IP 地址)然后重新启动它(您可以以编程方式或通过 PowerShell 进行) .另请注意,如果您在同一部署中有多个虚拟机,则每个 VM 将共享相同的公共 IP 地址。

请注意,使用虚拟机(与 web/worker 角色云服务相比),如果您有一个虚拟机,您可以停止虚拟机,然后重新启动它,您将获得新的 IP 地址(好吧,实际上,不能保证您会获得不同的 IP 地址,因此更准确地说,您将被分配一个 IP 地址),同时保留 VM 的状态。然而,关闭和启动不是即时操作,它不会为您提供每分钟的 IP 地址(并​​且您的虚拟机最终会一直离线关闭或启动),所以它不会满足你的要求。

【讨论】:

以上是关于如何以编程方式更改 Azure 云服务或 VM 的 IP 地址?的主要内容,如果未能解决你的问题,请参考以下文章

云服务入门简介

云服务入门简介

如何获取在同一云服务中部署的兼容 vm 大小列表?

如何在CSP的Partner Center API上以编程方式创建Azure订阅?

如何在 azure 上以编程方式托管 wcf 服务

如何使用 blob 服务以编程方式删除 Azure 存储中未提交的块?