Jak znaleźć zewnętrzny adres IP maszyny wirtualnej Google Cloud?

W jaki sposób ustalić zewnętrzne adresy IP w środowisku GCP?

Potrzebujesz w swoim projekcie uzyskać publiczny adres IP, przypisany do konkretnej instancji maszyny wirtualnej?

Mam dla Ciebie dobrą wiadomość – jest to prostsze, niż myślisz.

Prawdopodobnie pierwszym Twoim odruchem byłoby użycie polecenia `ifconfig`. Szybko jednak zauważysz, że wyświetla ono jedynie wewnętrzne adresy IP.

Platformy takie jak GCP czy AWS udostępniają interfejs sieciowy, gdzie publiczny adres IP jest widoczny. Jednak, gdy potrzebujesz pobrać go bezpośrednio na serwerze, pomocne okażą się poniższe metody.

Pobieranie publicznego adresu IP na maszynie wirtualnej GCP

Znam dwie skuteczne metody. Pierwsza z nich wykorzystuje polecenie `gcloud`.

gcloud compute addresses list

To polecenie wyświetli listę wszystkich adresów IP przypisanych do Twojego projektu. Może to być przydatne podczas diagnostyki lub szybkiego przeglądu, gdy jesteś zalogowany do maszyny wirtualnej.

Przykładowy wynik:

user@your-vm:~$ gcloud compute addresses list
NAME                  ADDRESS/RANGE   TYPE      PURPOSE       NETWORK  REGION    SUBNET   STATUS
instance-1           xx.xx.xx.xx                                   us-west1           IN_USE
newsblog.pl-nexus  xx.xx.xx.xx      INTERNAL  GCE_ENDPOINT           us-west1  default  IN_USE
newsblog.pl               xx.xx.xx.xx                                     us-west1           IN_USE
newsblog.pl-tools          xx.xx.xx.xx                                   us-west1           IN_USE
user@your-vm:~$

Druga metoda opiera się na użyciu `curl` w celu uzyskania dostępu do metadanych instancji.

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

Ważna uwaga: jeśli Twoja maszyna ma więcej niż jeden interfejs sieciowy, musisz odpowiednio zmodyfikować numer `0` po `network-interfaces`, na przykład na `1` lub `2`.

Metadane oferują szerokie możliwości. Możesz za ich pomocą pobrać wiele cennych informacji.

user@your-vm:~$ 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@your-vm:~$

Rozumiesz już potencjał tych danych?

Informacje te mogą być niezwykle przydatne w raportowaniu oraz procesach automatyzacji.

Jeśli chcesz również uzyskać wewnętrzny adres IP, możesz wykorzystać poniższe polecenie.

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

Zajmujesz się administracją GCP? Polecam ten interesujący kurs online.

Spodobał Ci się ten artykuł? Podziel się nim ze znajomymi!


newsblog.pl