Google compute engine 单个Google计算引擎实例上的多个IP地址

Google compute engine 单个Google计算引擎实例上的多个IP地址,google-compute-engine,Google Compute Engine,我正试图让我的GCE实例监听多个IP地址(出于SEO原因——在同一实例上托管多个低流量站点) 最终目标:mydomain.com指向IP1,myotherdomain.es指向IP2,GCE实例将侦听IP1和IP2并相应地提供内容 我添加了一个指向我的主实例的目标实例,并创建了如下转发规则: gcloud compute forwarding-rules create another-ip --port 80 --target-instance MY_TARGET_INSTANCE_URL 它

我正试图让我的GCE实例监听多个IP地址(出于SEO原因——在同一实例上托管多个低流量站点)

最终目标: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上的所有内容之前确保它工作正常。

您可以使用转发规则为一个VM实例获取多个外部IP

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

  • 为您的VM实例创建TargetInstance:

    gcloud compute target-instances create <target-instance-name> --instance <instance-name> --zone=<zone>
    
    gcloud计算目标实例创建--实例--区域=
    
  • 创建指向TargetInstance的ForwardingRule:

    gcloud compute forwarding-rules create <forwarding-rule-name> --target-instance=<target-instance-name> --ip-protocol=TCP --ports=<ports>
    
    gcloud计算转发规则创建--目标实例=--ip协议=TCP--端口=
    

  • 请参阅。

    我还需要为一个计算引擎实例提供两个静态IP,但谷歌的配额不允许这样做

    您可以从中查看您的配额


    另一种可能性是在虚拟机上有多个网络接口

    这需要添加一个新的VPC网络,ip 10.130.0.0/20未在当前基础设施上使用,可以用作附加网络,您需要添加适当的防火墙规则和适当的路由规则(您可以复制默认规则以避免任何未配置)

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

    • 关闭当前机器
    • 分离磁盘和网络(不删除它们!!!)
    • 使用2个或更多网卡创建一台新机器
    • 将旧磁盘和网络连接到新机器
    最后,您需要注意默认网关,典型的网络行为会使所有内容都通过第一个网络接口,第二个网络接口在您更改默认网关或创建正确的路由规则之前将无法访问

    通常有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
    

    或者,文档可能会有所帮助

    是的,这就是我所做的,问题是forwardingRule创建了一个短暂的IP,而我不能将其升级为静态。我不明白这是否是免费试用的限制,一旦我成为付费客户,它将被删除。不,你们肯定可以将它推广到静态。VM实例使用的外部IP和转发规则没有区别。它们是相同类型的资源。此方法将附加IP限制为单个协议TCP或UDP