Suggerimenti generali per l'utilizzo di Compute Engine

In questa pagina vengono descritti suggerimenti utili in caso di problemi nell'utilizzo di Compute Engine.

Per assistenza nella risoluzione di problemi specifici, consulta una delle sezioni seguenti:

Visualizzare diversi formati di risposta

Google Cloud CLI esegue la maggior parte delle azioni effettuando chiamate API REST. I risultati in modo abbastanza stampato mostrano solo le informazioni più importanti restituite da un comando specifico. Per vedere i diversi formati della risposta, utilizza il flag --format che mostra la risposta in diversi formati di output, tra cui json, yaml e text. Ad esempio, per visualizzare un elenco di istanze in JSON, utilizza --format json:

gcloud compute instances list --format json

Visualizzazione dei log di computing di gcloud

Gcloud CLI crea e archivia i log in un file di log su cui puoi eseguire query, che si trova in $HOME/.config/gcloud/logs. Per vedere il file di log più recente su un sistema operativo basato su Linux, esegui:

$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)

Il file di log include informazioni su tutte le richieste e le risposte effettuate utilizzando lo strumento gcloud CLI.

Per eliminare automaticamente definitivamente i file di log creati da gcloud CLI, utilizza la proprietà max_log_days, che imposta il numero massimo di giorni per conservare i file di log prima dell'eliminazione. L'impostazione predefinita è 30 giorni. Se imposti questo valore di proprietà su 0, viene disattivata la garbage collection di log e non vengono eliminati i file di log.

 gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS

Disabilita il logging dei file gcloud CLI:

Il file $HOME/.config/gcloud/logs occupa spazio nel file system locale. La quantità di log generati potrebbe sovraccaricare la quantità di spazio nel file system locale, causando problemi quali:

  • L'utilizzo dello spazio ha raggiunto il 100% nell'istanza.
  • Impossibile eseguire i comandi di logging gcloud CLI perché non c'è più spazio per creare un nuovo file nel file system locale.

Per modificare il comportamento gcloud CLI e disattivare il logging dei file, utilizza la proprietà disable_file_logging:

 gcloud config set core/disable_file_logging True

Selezione dei nomi delle risorse

Quando selezioni i nomi delle risorse, tieni presente che questi nomi semplici potrebbero essere visibili sulle dashboard di assistenza e operative in Compute Engine. Per questo motivo, è consigliabile che i nomi delle risorse non mostrino informazioni sensibili.

Comunicare con internet

Un'istanza ha accesso diretto a internet solo se entrambe le seguenti condizioni sono vere:

Le istanze possono anche accedere a internet indirettamente, connettendosi tramite Cloud NAT o un proxy basato su istanze. Per ulteriori considerazioni, inclusa la configurazione delle regole firewall, consulta Requisiti di accesso a internet.

Connessioni inattive

Le reti VPC di Google Cloud implementano il monitoraggio della connessione di 10 minuti per i protocolli IP che hanno un concetto di connessione (ad esempio TCP). Ciò significa che i pacchetti in entrata associati a una connessione stabilita sono consentiti purché sia stato inviato o ricevuto almeno un pacchetto per la connessione negli ultimi 10 minuti. Se nessun pacchetto per la connessione è stato inviato o ricevuto per almeno 10 minuti, le voci di monitoraggio della connessione inattiva vengono rimosse. Una volta rimosse le voci di monitoraggio della connessione, Google Cloud non consente l'invio di pacchetti in entrata aggiuntivi fino a quando non viene inviato almeno un nuovo pacchetto in uscita. Questo monitoraggio delle connessioni si applica a tutte le origini e le destinazioni: indirizzi IP interni ed esterni .

Per evitare connessioni inattive:

  • Imposta i parametri TCP keep-alive del sistema operativo su un intervallo di tempo inferiore a 10 minuti. Ciò garantisce che nell'intervallo di tempo venga inviato almeno un pacchetto.

  • Assicurati che le applicazioni che aprono connessioni TCP lo facciano con l'opzione SO_KEEPALIVE abilitata.

I seguenti esempi mostrano come impostare i parametri keep-alive TCP del sistema operativo con un valore dell'intervallo di un minuto. Consulta la documentazione dell'applicazione o della libreria del software per determinare come configurarla per l'utilizzo di SO_KEEPALIVE.

Linux


Esegui questo comando:

$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
Per assicurarti che le impostazioni continuino a essere applicate dopo il riavvio, aggiungile al file /etc/sysctl.conf.

Per ulteriori informazioni, consulta la pagina Linux TCP Keepalive.

macOS


Esegui questo comando:

$ sudo sysctl -w net.inet.tcp.always_keepalive=1 net.inet.tcp.keepidle=60000 net.inet.tcp.keepinit=60000 net.inet.tcp.keepintvl=60000

Windows


Nel percorso del Registro di sistema HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\, aggiungi le seguenti impostazioni, utilizzando il tipo di dati DWORD, oppure modifica i valori se le impostazioni esistono già:

KeepAliveInterval: 1000
KeepAliveTime: 60000
TcpMaxDataRetransmissions: 10

Accesso a Compute Engine come utente SSH diverso

Per impostazione predefinita, lo strumento a riga di comando gcloud compute utilizza la variabile $USER per aggiungere utenti al file /etc/passwd al fine di connettersi alle istanze di macchine virtuali tramite SSH. Puoi specificare un utente diverso utilizzando il flag --ssh-key-file PRIVATE_KEY_FILE quando esegui il comando gcloud compute ssh. Ad esempio:

gcloud compute ssh example-instance --ssh-key-file my-private-key-file

Per ulteriori informazioni, consulta la documentazione di riferimento di gcloud.

Interazione con la console seriale

Puoi abilitare l'accesso interattivo alla console seriale di un'istanza, in modo da poter connettere le istanze e risolvere i relativi problemi tramite la console seriale.

Per scoprire di più, consulta Interazione con la console seriale.

Evitare la frammentazione dei pacchetti nelle istanze create a partire da immagini personalizzate

La rete VPC ha un'unità massima di trasmissione (MTU) predefinita di 1460 byte per le immagini Linux e le immagini Windows Server. Tuttavia, la MTU della rete può essere modificata. Per i dettagli, consulta la panoramica sulle unità di trasmissione massime nella documentazione su VPC.

Quando crei applicazioni client che comunicano con le istanze di Compute Engine tramite socket UDP, puoi evitare la frammentazione impostando la dimensione massima dei dati del datagramma UDP su 28 byte in meno rispetto alla MTU di rete. Ad esempio, se la MTU della rete è di 1460 byte, è possibile inviare fino a 1432 byte di dati UDP per pacchetto senza frammentazione. Se la MTU della rete è di 1500 byte, puoi inviare fino a 1472 byte di dati UDP senza frammentazione. I 28 byte vengono utilizzati per un'intestazione di pacchetto IPv4 (20 byte) e un'intestazione datagramma UDP (8 byte). Puoi impostare la MTU della rete su un massimo di 8896 byte.