单个Google Compute Engine实例上的多个IP地址

时间:2016-10-10 16:55:25

标签: google-compute-engine

我正在尝试让我的GCE实例侦听多个IP地址(出于搜索引擎优化的原因 - 在同一个实例上托管多个低流量网站)。

最终目标:mydomain.com指向IP1,myotherdomain.es指向IP2,GCE实例将侦听IP1和IP2并相应地提供内容。

我添加了一个指向我的主实例的目标实例,并设法创建了这样的转发规则:

gcloud compute forwarding-rules create another-ip --port 80 --target-instance MY_TARGET_INSTANCE_URL

它实际上创建了一个短暂的IP地址;我试图将它推广到静态但我超过了我的配额(我目前正在进行为期2个月的免费试用)。

这是正确的吗?我可以创建任意数量的静态IP,并在试用期结束后将它们指向我唯一的实例吗?我也找不到关于定价的任何信息:我知道分配给活动实例的IP是免费的,但是其他的呢?

由于这是我正在管理的网站的必要配置,我希望确保它在承诺在GCE上移动所有内容之前有效。

3 个答案:

答案 0 :(得分:6)

您可以通过转发规则为一个VM实例获取多个外部IP。

  1. 默认情况下,VM将被分配一个短暂的外部IP,您可以将其提升为静态外部IP,在停止和重新启动后将保持不变。
  2. 必须将额外的外部IP附加到指向VM的转发规则。您也可以使用(或推广)静态IP。
  3. 您可能想要使用的命令:

    1. 为您的VM实例创建一个TargetInstance:

      gcloud compute target-instances create <target-instance-name> --instance <instance-name> --zone=<zone>
      
    2. 创建一个指向TargetInstance的ForwardingRule:

      gcloud compute forwarding-rules create <forwarding-rule-name> --target-instance=<target-instance-name> --ip-protocol=TCP --ports=<ports>
      
    3. 请参阅Protocol Forwarding

答案 1 :(得分:1)

我还需要2个静态ips用于一个计算引擎实例,但谷歌的配额不允许这样做。

您可以在https://console.cloud.google.com/iam-admin/quotas

中查看配额

enter image description here

答案 2 :(得分:0)

另一种可能性是在VM上具有多个网络接口

这需要添加一个新的VPC网络,ip 10.130.0.0/20不能在当前基础结构上使用,并且可以用作其他网络,您将添加适当的防火墙规则和适当的路由规则(可以复制默认设置,以避免任何配置错误)

请注意,您不能将网络接口添加到现有计算机,而需要

  • 关闭当前计算机
  • 分离磁盘和网络(不删除它们!!!)
  • 使用两张或更多网卡创建新计算机
  • 将旧磁盘和网络连接到新计算机上

最后,您需要注意默认网关,经典的网络行为将使所有内容都通过第一个网络接口,直到更改默认网关或创建适当的路由规则,第二个接口才可访问第二个接口。

通常您有eth0和eth1,此示例使eth1可用于绑定到eth1的服务

ip addr add 10.130.0.2/32 broadcast 10.130.0.2 dev eth1
ip link set eth1 up
ip route add 10.130.0.1 src 10.130.0.2 dev eth1
ip route add 10.130.0.1 src 10.130.0.2 dev eth1 table 100
ip route add default via 10.130.0.1 dev eth1 metric 10
ip route add default via 10.130.0.1 dev eth1 table 100
ip rule add from 10.130.0.2/32 table 100
ip rule add to 10.130.0.2/32 table 100
curl --interface eth1 ifconfig.co
curl --interface eth0 ifconfig.co
ping -I eth1 8.8.8.8

Here is文档,或者this guide可能会有帮助。

相关问题