Як дізнатися зовнішню IP-адресу на сервері Google Cloud Platform (GCP)
Ви працюєте над проєктом і вам потрібна зовнішня (загальнодоступна, інтернет) IP-адреса вашої віртуальної машини для певних задач?
Хороша новина: отримати цю інформацію досить просто і швидко.
Можливо, ви вже спробували команду `ifconfig`, але вона, на жаль, показує лише внутрішні IP-адреси.
Хоча GCP і AWS пропонують зручні веб-інтерфейси для перегляду загальнодоступних IP-адрес, іноді потрібно отримати цю інформацію безпосередньо на сервері. Ось кілька команд, які вам допоможуть.
Отримання зовнішньої IP-адреси на віртуальній машині GCP
Я знаю два ефективні способи. Перший — використання утиліти `gcloud`.
gcloud compute addresses list
Ця команда відобразить всі IP-адреси, пов’язані з вашим проєктом. Це зручно для діагностики та швидкого перегляду інформації під час підключення до віртуальної машини.
Приклад результату:
[user@instance-name:~# gcloud compute addresses list
NAME ADDRESS/RANGE TYPE PURPOSE NETWORK REGION SUBNET STATUS
instance-1 xx.xx.xx.xx us-west1 IN_USE
techukraine.net-nexus xx.xx.xx.xx INTERNAL GCE_ENDPOINT us-west1 default IN_USE
techukraine.net xx.xx.xx.xx us-west1 IN_USE
techukraine.net-tools xx.xx.xx.xx us-west1 IN_USE
[user@instance-name:~#
Другий спосіб використовує команду `curl` для отримання даних з метаданих інстансу.
curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip
Важливо: Якщо віртуальна машина має декілька мережевих інтерфейсів, вам необхідно буде змінити індекс `0` на `1`, `2` і так далі, залежно від потрібного інтерфейсу.
Метадані надають багато корисної інформації, і ви можете отримати до них доступ.
[user@instance-name:~# 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
[user@instance-name:~#
Ви бачите, про що я? Це може бути дуже корисно для автоматизації процесів та звітів.
Якщо вам також потрібна внутрішня IP-адреса, скористайтеся цією командою:
curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/network-interfaces/0/ip
Вивчаєте адміністрування GCP? Тоді вам може бути цікавий цей онлайн курс.
Стаття виявилася корисною? Будь ласка, поділіться нею!