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

By rik

Här kan du lokalisera de publika IP-adresserna för dina virtuella maskiner inom GCP Server.

Arbetar du med ett projekt där du behöver identifiera den externa (offentliga) IP-adressen för varje enskild VM-instans som används av din applikation?

Då har jag goda nyheter – det är möjligt att få tag på den informationen snabbt och enkelt.

Jag gissar att du kanske redan har försökt med kommandot `ifconfig`. Du kommer dock märka att resultaten endast visar interna IP-adresser.

Både GCP och AWS erbjuder användarvänliga webbgränssnitt där du kan se den offentliga IP-adressen. Men om du behöver hämta dessa direkt från servern, kan du använda följande kommandon.

Hur man hämtar en extern IP-adress i GCP VM

Det finns åtminstone två metoder för att göra detta. Den första metoden involverar användandet av ett `gcloud`-kommando.

gcloud compute addresses list

Ovanstående kommando kommer att visa alla IP-adresser som är kopplade till ditt projekt. Det kan vara användbart för felsökning eller för en snabb översikt när du är inloggad på en VM.

Till exempel:

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

Den andra metoden använder kommandot `curl` för att hämta information från metadatatjänsten.

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

Notera: Om du har flera nätverksgränssnitt behöver du ändra siffran `0` efter `network-interfaces` till `1` eller `2` beroende på vilket gränssnitt du vill undersöka.

Metadatatjänsten är kraftfull och ger tillgång till många olika 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]:~#
 

Ser du poängen?

Detta kan vara praktiskt vid rapportering och automatisering.

Om du även behöver hämta den interna IP-adressen, använd kommandot nedan:

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

Är du intresserad av att lära dig GCP-administration? Kolla in denna fantastiska onlinekurs.

Hoppas du gillade artikeln! Dela den gärna med andra!