Вы размещаете внешние IP-адреса на сервере GCP.

Вы работаете над проектом, в котором вам нужно получить внешний (Internet / Public) IP соответствующего экземпляра виртуальной машины для приложения?

Хорошие новости – вы можете быстро получить его.

Я уверен, что вы попытались бы запустить команду ifconfig. и вы можете заметить, что результаты содержат только внутренний IP.

У GCP и AWS есть дружественный веб-интерфейс, в котором вы можете увидеть общедоступные IP-адреса, но если вам нужно получить их непосредственно на сервере, вам помогут следующие команды.

Получение внешнего IP на виртуальной машине GCP

Есть два возможных способа, которые я знаю. Первый использует команду gcloud.

gcloud compute addresses list

Приведенная выше команда покажет вам все ваши IP-адреса проекта.

Полезно для устранения неполадок или быстрого просмотра, когда вы вошли в систему на виртуальной машине.

Пример:

root@itisgood:~# gcloud compute addresses list
NAME                  ADDRESS/RANGE   TYPE      PURPOSE       NETWORK  REGION    SUBNET   STATUS
instance-1           xx.xx.xx.xx                                   us-west1           IN_USE
geekflare-nexus  xx.xx.xx.xx      INTERNAL  GCE_ENDPOINT           us-west1  default  IN_USE
geekflare               xx.xx.xx.xx                                     us-west1           IN_USE
geekflare-tools          xx.xx.xx.xx                                   us-west1           IN_USE
root@itisgood:~#

и второй – с помощью команды curl для метаданных.

curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip

Примечание: если у вас несколько сетевых интерфейсов, вам нужно изменить 0 после сетевых интерфейсов на 1 или 2 соответственно.

Метаданные мощные; Вы можете получить много метрик.

root@itisgood:~# curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/
attributes/
cpu-platform
description
disks/
guest-attributes/
hostname
id
image
licenses/
machine-type
maintenance-event
name
network-interfaces/
preempted
remaining-cpu-time
scheduling/
service-accounts/
tags
virtual-clock/
zone

Понимаете, о чем я?

Это может быть удобно для отчетности и автоматизации.

Если вам также нужно получить внутренний IP, используйте команду ниже.

curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/network-interfaces/0/ip

 

Поделитесь статьей:

Добавить комментарий