谁能确认 Azure VM 是否允许多个公共 IP?我们希望在单个 VM 上托管多个网站,因此希望每个网站有不同的 IP。我知道我们可以托管更多的虚拟机,但这也会大大增加我们的费用。所以,我只想在 VM 上拥有 1 个以上的公共 IP。
7 回答
您可以为云服务添加多个 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/
看来您现在可以为负载平衡的云服务拥有多个公共 IP:
http://azure.microsoft.com/en-gb/updates/multiple-vips-per-cloud-service/
现在,您可以将多个负载平衡的公共 IP 地址分配给一组虚拟机,从而实现高可用性和高规模方案。您可以在云服务中托管多个安全网站,或允许多个 SQL Server AlwaysOn 可用性组侦听器访问同一组虚拟机。
有关更多信息,请访问负载均衡器页面。此功能不收取额外费用。
您需要不同的云服务(Web 角色或虚拟机)才能拥有不同的 IP 地址。是的,这会增加总成本。
Windows Azure Web 角色和 VM 的 VIP(公共 IP)在云服务级别分配。将云服务视为一个逻辑容器——它可以包含 Web/工作者角色或虚拟机(目前不能同时包含两者)。
除了先前关于云服务的答案之外,现在可以在 Azure VM 上拥有多个 IP 地址。 https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-multiple-ip-addresses-portal
非常可能,实际上非常容易。
让您的应用在您的 Azure 资源托管 VM 上侦听,例如端口 3001、3002、3003..
然后创建一个负载均衡器(只需搜索它)。
- 创建公共 IP 地址。
- 将其添加到负载均衡器的前端池中
- 将您的 VM 添加到负载均衡器的后端池
- 在负载均衡器的入站 NAT 规则中,单击“添加”
- 选择您的前端 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 限制,这不是一个可行的选择。
每个部署只能有一个公共 IP 地址。因此,如果您在单个部署中有 3 个虚拟机,它们将共享 IP 地址。然后,您可以选择跨实例对流量进行负载平衡,或将流量定向到特定端口号的特定 VM(或云服务中的角色)。
您可以在单个 VM 中使用主机标头并支持多个网站。
我们也有类似的问题。我们希望将多个 SSL 证书应用于虚拟机托管的多个站点。
但这似乎根本不可能。等待 MS 发布此功能。
相比之下,Godaddy 和其他托管服务提供商也会免费提供 2-3 个 IP 地址,如果您需要更多,您可以轻松请求额外的 IP 地址。
以及获得支持太难了。
MZ azure 真的很烂。:(