Google-Cloud-Platform

Google計算引擎:浮動IP?

  • September 16, 2021

我有兩台帶有臨時外部 ips 的伺服器。

伺服器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

將我的評論發佈為其他查看此執行緒的使用者的答案:

GCE 中對虛擬 IP/浮動 IP 的支持目前不可用。功能請求已創建。您可以參考此連結訂閱更新。目前的解決方法是使用 GCE 負載均衡器

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

引用自:https://serverfault.com/questions/832471