Google-Cloud-Platform
Google計算引擎:浮動IP?
我有兩台帶有臨時外部 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