C'è un modo per sapere da una shell della riga di comando se sono attualmente su un computer di Google Compute Engine o da qualche altra parte (macchina di sviluppo)?Come sapere se una macchina è un'istanza di Google Compute Engine
risposta
Per il metadata docs:
Si può facilmente rilevare se le applicazioni o gli script sono in esecuzione all'interno di un'istanza Compute Engine utilizzando il server metadati. Quando si effettua una richiesta al server, qualsiasi risposta dal server di metadati conterrà l'intestazione
Metadata-Flavor: Google
. È possibile cercare questa intestazione per rilevare in modo affidabile se si sta eseguendo in Compute Engine.Ad esempio, la seguente richiesta di ricciolo restituisce un'intestazione
Metadata-Flavor: Google
, che indica che la richiesta viene eseguita da un'istanza di Compute Engine.[email protected]:~$ curl metadata.google.internal -i HTTP/1.1 200 OK Metadata-Flavor: Google Content-Type: application/text Date: Thu, 10 Apr 2014 19:24:27 GMT Server: Metadata Server for VM Content-Length: 22 X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN 0.1/ computeMetadata/
È anche possibile use the dmidecode
utility to probe the virtual hardware se non si vuole fare una chiamata di rete:
[email protected]:~$ sudo dmidecode -s bios-vendor | grep Google
Google
È anche possibile fare una ricerca DNS per il server di metadati, in realtà invece di chiamarla.
Per esempio, facendo dig +short metadata.google.internal
all'interno un'istanza di calcolo di Google sarebbe uscita una cosa del genere:
[[email protected]]# dig +short metadata.google.internal
169.254.169.254
Se, tuttavia, si fa lo stesso comando (dig +short metadata.google.internal
) all'interno di un server standard, al di fuori di Google Cloud , potresti ottenere una risposta vuota.
Quindi per controllare, tutto quello che dovete fare (in bash
per esempio) è:
GMETADATA_ADDR=`dig +short metadata.google.internal`
if [[ "${GMETADATA_ADDR}" == "" ]]; then
echo "I am NOT in a Google VM!"
else
echo "I AM INSIDE a Google VM! Whoohoo!"
fi
- 1. Come modificare un tipo di macchina su Google Compute Engine?
- 2. Google Compute Engine - Clone Instance
- 3. Cant VNC in Google Compute Engine
- 4. google compute engine tool gcloud è eccezionalmente lento
- 5. Amazon EC2 Compute Unit e GCEU (Google Compute Engine Unit)
- 6. Soluzione di consegna e-mail di Google Compute Engine (GCE)?
- 7. Come disattivare il servizio Compute Engine
- 8. Utilizzo di memcache in Google Compute Engine con PHP
- 9. Condividere un disco persistente tra Google Compute Engine VM
- 10. quali sono le differenze tra Google compute engine e Google container engine?
- 11. OAuth: avvio di un'istanza di Google Compute da Google App Engine
- 12. Come eseguire R su Google Compute Engine senza errori di segmentazione
- 13. Come ottenere le chiavi ssh per una nuova istanza di Google Compute Engine?
- 14. Il disco della VM di Google Compute Engine è molto lento
- 15. Google App Engine comunica con Compute Engine tramite la rete interna
- 16. Come sapere se PropertyInfo è una raccolta
- 17. Come posso sapere se è stata caricata Google Visualization
- 18. Google Compute Engine come alternativa ai servizi Web Amazon (EC2, ELB, ecc.)
- 19. Come faccio a sapere se una tabella è una matrice?
- 20. Come sapere se l'app di Facebook è su una pagina?
- 21. Grails su Google-App-Engine - È morto?
- 22. Strumenti per l'impostazione e l'esecuzione di un lavoro di rete su Google Compute Engine?
- 23. Come capire se una macchina è equivalente alla macchina di Turing
- 24. Azione richiesta: 7 giorni a sinistra per recuperare risorse Google Compute Engine nella fatturazione progetti disabili
- 25. Google App Engine APNS
- 26. vogliono sapere se abbastanza memoria libera su una macchina Linux per implementare una nuova applicazione
- 27. PHP Come sapere se una variabile è un riferimento?
- 28. Come sapere se NSAssert è disabilitato nelle versioni di rilascio?
- 29. Jena - Come sapere se una risorsa specifica è nel modello?
- 30. come sapere se una proprietà esiste ed è falsa