Gcloud не может получить ресурс: указанный IP-адрес не выделен для проекта или не принадлежит указанной области
Я пытаюсь перенести виртуальную машину на GCP из одного проекта в другой. Мне это удавалось до момента, когда дело дошло до передачи статического IP-адреса.
Я отсоединил его от старой виртуальной машины, а затем удалил / отпустил. Я перешел к новому проекту и попытался создать новый экземпляр с помощью команды:
gcloud compute instances create <name> --address x.x.x.x
И получил ошибку:
ERROR: (gcloud.compute.addresses.create) Could not fetch resource:
- Invalid value for field 'resource.address': 'x.x.x.x'. Specified
IP address is not allocated to the project or does n
ot belong to the specified scope.
Вместо этого я подумал, что, возможно, мне нужно сначала зарезервировать IP-адрес, и попробовал:
gcloud compute addresses create <name> --addresses
x.x.x.x --region us-east1
И от этого, по сути, получилось то же самое -
ERROR: (gcloud.compute.addresses.create) Could not fetch
resource:- Invalid value for field 'resource.address': 'x.x.x.x'.
Specified IP address is not allocated to the project or does n
ot belong to the specified scope.
Я очень внимательно слежу за их документами:- https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address
Если бы он уже был заявлен при их автоматической генерации IP другим экземпляром, я бы подумал, что сообщение об ошибке будет отличаться от этого. Я также использовал другую команду gcloud, чтобы просмотреть все мои зарезервированные IP-адреса и убедиться, что они не активны в старом проекте.
2 ответа
Вы можете выбрать только тот IP-адрес, который уже был зарезервирован и назначен вашему проекту. Вы не можете просто выбрать любой IP-адрес. Вам нужно будет зарезервировать новый IP-адрес и обновить записи ресурсов DNS на своих DNS-серверах.
В вашей команде gcloud обязательно укажите
--subnet
, то есть:
gcloud --project=project-id compute addresses create \
"address-name" \
--region=us-central1 \
--subnet=default \
--addresses=X.X.X.X
Затем вы можете указать любой
X.X.X.X
который соответствует подсети по умолчанию.