Azure VM:多个公共IP

时间:2013-02-28 10:10:40

标签: azure

任何人都可以确认Azure VM是否允许多个公共IP吗?我们希望在单个VM上托管多个网站,因此希望每个网站都有不同的IP。我知道我们可以托管更多的VM,但这也会大大增加我们的开支。所以,我只想在VM上使用超过1个公共IP。

7 个答案:

答案 0 :(得分:5)

现在看来,您可以为负载均衡的云服务提供多个公共IP:

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

  

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

     

有关详细信息,请访问Load Balancer页面。有   此功能无需额外费用。

答案 1 :(得分:5)

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

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

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

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

将IP地址与云服务相关联:

Add-AzureVirtualIP -VirtualIPName MyIPAddress -ServiceName MyCloudService

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

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/

答案 2 :(得分:1)

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

Windows Azure Web角色和VM的VIP(公共IP)是在Cloud Service级别分配的。将Cloud Service视为逻辑容器 - 它可以包含Web /辅助角色或VM(当前不是两者)。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

您可以在一个虚拟机中使用主机标头并支持多个网站。

答案 5 :(得分:0)

很可能,实际上很容易。

  1. 让你的应用程序在Azure Resource Managed VM上进行监听,让我们说端口3001,3002,3003 ..

  2. 然后创建一个Load Balancer(只搜索它)。

  3. 创建公共IP地址。
  4. 在Load Balancer的前端池中添加
  5. 将您的VM添加到Load Balancer的后端池
  6. 在Load Balancer的入站NAT规则中,单击"添加"
  7. 选择您的前端IP,您的VM的网络IP配置,协议,端口和映射端口(单击"自定义")以设置自定义端口。
  8. 样品: - 你想要你新创建的公共IP" 52.165.147.25"路由到你的vm的端口3001。 - 在端口80 tcp的配置上,然后在映射端口上的端口3001。 - 无需启用"浮动IP(直接服务器返回)"如果你看到它。

    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(只是谷歌)

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

答案 6 :(得分:-2)

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

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

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

以及获得支持太难了。

MZ azure真的很糟糕。 :(