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!