Google Compute Engine:浮动 IP?

Google Compute Engine:浮动 IP?

我有两台带有临时外部 IP 的服务器。

服务器A 服务器B

我有一个静态外部 IP 地址(ABCD),当前连接到 ServerA。

ServerA 是我的主负载均衡器,ServerB 是我的辅助负载均衡器。如何在 Google Cloud 上使用浮动 IP。

我需要使用 gcloud 吗?这是一个好的解决方案吗?

故障转移命令示例:

gcloud config set project project-name
gcloud compute instances delete-access-config ServerA --access-config-name 'External NAT
gcloud compute instances delete-access-config ServerB --access-config-name 'External NAT'
gcloud compute instances add-access-config ServerB --address A.B.C.D

答案1

发布我的评论作为对其他正在查看此主题的用户的回答:

GCE 目前不支持虚拟 IP/浮动 IP。功能请求已创建。您可以参考此关联订阅更新。目前的解决方法是使用 GCE 负载均衡器

答案2

Google 最近进行了更改并允许使用浮动 IP,如下所述。

解决方案归结为下面 ----- 和 ----- 之间的两行代码,不考虑创建您将在其中启动实例的 ip-fallover 网络

#!/bin/bash
export CLOUDSDK_PYTHON=/opt/rh/python27/root/usr/bin/python2.7
export PATH=/opt/rh/python27/root/usr/bin:$PATH
export token=$(gcloud auth print-identity-token)
export instance_name=$(curl -H "Authorization: Bearer $token" -s -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/name")
export instance_zone=$(curl -H "Authorization: Bearer $token" -s -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/zone" | awk -F '/' '{ print $NF }')

export vip=10.11.12.13/32 
ip ad del $vip dev eth0

gcloud compute routes delete floating --quiet

gcloud compute routes create floating  --destination-range $vip --network ip-failover --priority 500 --next-hop-instance-zone $instance_zone --next-hop-instance $instance_name --quiet
ip ad ad $vip dev eth0

要更完整地了解需要做什么,请查看下面链接的选项4。
https://cloud.google.com/solutions/best-practices-floating-ip-addresses

相关内容