У меня два сервера с временными внешними IP-адресами.
ServerA ServerB
и у меня один статический внешний IP-адрес (ABCD), который в настоящее время подключен к ServerA.
ServerA - мой основной балансировщик нагрузки, а ServerB - мой вторичный. Как я могу использовать плавающий IP-адрес в Google Cloud.
Нужно ли мне использовать 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
Публикация моего комментария в качестве ответа для других пользователей, просматривающих эту ветку:
Поддержка виртуального IP / плавающего IP-адреса в GCE в настоящее время недоступна. Запрос функции уже создан. Вы можете обратиться к этой ссылке , чтобы подписаться на обновления. На данный момент можно использовать балансировщик нагрузки GCE
.Google недавно изменил и разрешил использование плавающих IP-адресов, и это описано.
Решение сводится к двум строкам кода ниже в конце между -----и -----, без учета создания резервной сети ip-, где вы будете запускать свои экземпляры
#!/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