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