Hur hittar man extern IP för Google Cloud VM?

Du hittar externa IP-adresser inom GCP Server.

Arbetar du med ett projekt där du behöver hämta den externa (Internet/Public) IP-adressen för respektive VM-instans för applikationen?

Goda nyheter – du kan snabbt få dem.

Jag är säker på att du skulle ha försökt köra ifconfig-kommandot. Och du kan märka att resultaten endast innehåller intern IP.

GCP och AWS, båda har ett vänligt webbgränssnitt där du kan se den offentliga IP-adressen, men om du behöver få dem på en server direkt, kommer följande kommandon att hjälpa dig.

Hämta extern IP på GCP VM

Det finns två möjliga sätt jag är medveten om. Den första använder ett gcloud-kommando.

gcloud compute addresses list

Kommandot ovan visar dig alla dina projekt-IP:er. Användbar för felsökning eller ha en snabb granskning medan du är inloggad på VM.

Ex:

[email protected]:~# gcloud compute addresses list
NAME                  ADDRESS/RANGE   TYPE      PURPOSE       NETWORK  REGION    SUBNET   STATUS
instance-1           xx.xx.xx.xx                                   us-west1           IN_USE
adminvista.com-nexus  xx.xx.xx.xx      INTERNAL  GCE_ENDPOINT           us-west1  default  IN_USE
adminvista.com               xx.xx.xx.xx                                     us-west1           IN_USE
adminvista.com-tools          xx.xx.xx.xx                                   us-west1           IN_USE
[email protected]:~#

och den andra är genom att använda curl-kommandot för att metadata.

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

Obs: om du har flera nätverksgränssnitt måste du ändra 0 efter nätverksgränssnitt till 1 eller 2 i enlighet med detta.

Metadata är kraftfullt; du kan hämta många mätvärden.

[email protected]:~# 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
[email protected]:~#

Du förstår, vad jag menar?

Detta kan vara praktiskt för rapportering och automatisering.

Om du också behöver få intern IP, använd kommandot nedan.

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

Lär du dig GCP-administration? Kolla in detta fantastiska onlinekurs.

Gillade du att läsa artikeln? Vad sägs om att dela med världen?