3

谁能确认 Azure VM 是否允许多个公共 IP?我们希望在单个 VM 上托管多个网站,因此希望每个网站有不同的 IP。我知道我们可以托管更多的虚拟机,但这也会大大增加我们的费用。所以,我只想在 VM 上拥有 1 个以上的公共 IP。

4

7 回答 7

6

您可以为云服务添加多个 IP 地址。由于虚拟机位于云服务“内部”,这在某种程度上为您提供了虚拟机的多个公共 IP 地址。该过程记录在 [1] 中。其他地址目前的费用约为每月 3 美元。

以下是将新的保留 IP 地址添加到云服务的步骤。

首先创建一个新的保留 IP 地址:

New-AzureReservedIP –ReservedIPName "MyIPAddress"  –Location "West Europe"

将 IP 地址与云服务关联:

Add-AzureVirtualIP -VirtualIPName MyIPAddress -ServiceName MyCloudService

创建将 IP 地址映射到虚拟机的端点。如果您有多个虚拟机并需要负载平衡器,请为每个虚拟机重复此操作。为了运行多个网站,您可以将每个网站放到不同的端口(本地端口)。端点侦听公共端口上的连接并将它们转发到虚拟机的本地端口。

Get-AzureVM -ServiceName MyCloudService -Name myserver `
| Add-AzureEndpoint -Name QuvastoMail -Protocol tcp `
      -LocalPort 8002 -PublicPort 80 -VirtualIPName MyIPAddress `
| Update-AzureVM

[1] http://azure.microsoft.com/en-us/documentation/articles/load-balancer-multivip/

于 2015-05-24T18:08:10.100 回答
5

看来您现在可以为负载平衡的云服务拥有多个公共 IP:

http://azure.microsoft.com/en-gb/updates/multiple-vips-per-cloud-service/

现在,您可以将多个负载平衡的公共 IP 地址分配给一组虚拟机,从而实现高可用性和高规模方案。您可以在云服务中托管多个安全网站,或允许多个 SQL Server AlwaysOn 可用性组侦听器访问同一组虚拟机。

有关更多信息,请访问负载均衡器页面。此功能不收取额外费用。

于 2015-05-05T01:56:50.190 回答
1

您需要不同的云服务(Web 角色或虚拟机)才能拥有不同的 IP 地址。是的,这会增加总成本。

Windows Azure Web 角色和 VM 的 VIP(公共 IP)在云服务级别分配。将云服务视为一个逻辑容器——它可以包含 Web/工作者角色或虚拟机(目前不能同时包含两者)。

于 2013-03-08T21:31:04.797 回答
1

除了先前关于云服务的答案之外,现在可以在 Azure VM 上拥有多个 IP 地址。 https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-multiple-ip-addresses-portal

于 2017-05-08T21:42:50.567 回答
1

非常可能,实际上非常容易。

  1. 让您的应用在您的 Azure 资源托管 VM 上侦听,例如端口 3001、3002、3003..

  2. 然后创建一个负载均衡器(只需搜索它)。

  3. 创建公共 IP 地址。
  4. 将其添加到负载均衡器的前端池中
  5. 将您的 VM 添加到负载均衡器的后端池
  6. 在负载均衡器的入站 NAT 规则中,单击“添加”
  7. 选择您的前端 IP、您的 VM 的网络 IP 配置、协议、端口和映射端口(单击“自定义”)以设置自定义端口。

示例:-您希望新创建的公共 ip “52.165.147.25”路由到您的 vm 的端口 3001。-在配置上将是端口 80 tcp,然后是映射端口上的端口 3001。- 无需启用“Floating IP (direct server return)”以防万一。

PS:在 linux VM 上,您可能必须“优化您的网络内核参数”..

在这里查看(滚动到底部):http ://docs.fluentd.org/v0.12/articles/before-install

sudo nano /etc/sysctl.conf

添加这些条目:

net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240    65535

注意空格,至关重要。

保存。

sudo sysctl -p

完毕。

编辑:

在上述步骤中,您可能还需要处理 CORS(只需 google 即可)

另外,我忘记提到的另一种选择是将网卡/网络接口添加到您的虚拟机中。由于 azure max-nic-per-vm 限制,这不是一个可行的选择。

于 2017-03-13T22:46:06.640 回答
0

每个部署只能有一个公共 IP 地址。因此,如果您在单个部署中有 3 个虚拟机,它们将共享 IP 地址。然后,您可以选择跨实例对流量进行负载平衡,或将流量定向到特定端口号的特定 VM(或云服务中的角色)。

您可以在单个 VM 中使用主机标头并支持多个网站。

于 2013-02-28T12:21:51.463 回答
-2

我们也有类似的问题。我们希望将多个 SSL 证书应用于虚拟机托管的多个站点。

但这似乎根本不可能。等待 MS 发布此功能。

相比之下,Godaddy 和其他托管服务提供商也会免费提供 2-3 个 IP 地址,如果您需要更多,您可以轻松请求额外的 IP 地址。

以及获得支持太难了。

MZ azure 真的很烂。:(

于 2014-04-29T06:07:48.797 回答