Suggerimenti generali per l'utilizzo di Compute Engine


Questa pagina descrive alcuni suggerimenti che potrebbero esserti utili in caso di problemi con l'utilizzo di Compute Engine.

Per ricevere assistenza per la risoluzione di problemi specifici, consulta una delle seguenti sezioni:

Visualizzazione di diversi formati di risposta

Google Cloud CLI esegue la maggior parte delle azioni rendendo REST Chiamate API. I risultati stampati mostrano solo le informazioni più importanti restituito da un comando specifico. Per visualizzare i diversi formati di 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 JSON, utilizza --format json:

gcloud compute instances list --format json

Visualizzazione dei log di gcloud compute

gcloud CLI crea e archivia i log in un file di log può eseguire query, situato all'indirizzo $HOME/.config/gcloud/logs. Per visualizzare 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 e definitivamente i file di log creati da gcloud CLI, utilizza la proprietà max_log_days, che imposta il numero massimo di giorni per i quali i file di log devono essere conservati prima dell'eliminazione. L'impostazione predefinita è 30 giorni. Se imposti il valore di questa proprietà su 0, diventa dalla garbage collection dei log e non elimina i file di log.

 gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS

Disattiva la registrazione dei file dell'interfaccia a riga di comando gcloud:

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

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

Per modificare il comportamento dell'interfaccia a riga di comando gcloud 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 per le risorse, tieni presente che questi nomi visualizzabili potrebbero essere visibili nelle dashboard di assistenza e operative di Compute Engine. Per questo motivo, consigliamo di utilizzare nomi di risorse che non espongano informazioni sensibili.

Comunicazione con internet

Un'istanza ha accesso diretto a internet solo se si verificano entrambe le seguenti condizioni:

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

Connessioni inattive

Le reti VPC di Google Cloud implementano il monitoraggio delle connessioni di 10 minuti per i protocolli IP che hanno il concetto di connessione (ad esempio TCP). Ciò significa che i pacchetti in entrata associati a un di connessione sono consentite purché almeno un pacchetto venga inviato o ricevuto la connessione negli ultimi 10 minuti. Se non sono stati inviati o ricevuti pacchetti per la connessione per almeno 10 minuti, le voci di monitoraggio della connessione inattiva vengono rimosse. Una volta che le voci di monitoraggio della connessione rimosso, Google Cloud non consente ulteriori pacchetti in entrata fino al è stato inviato almeno un nuovo pacchetto in uscita. Questo monitoraggio delle connessioni si applica a tutte le origini e le destinazioni, sia agli indirizzi IP interni che esterni.

Per evitare connessioni inattive:

  • Imposta il sistema operativo Keep-alive TCP per un intervallo di tempo di meno di 10 minuti. Ciò garantisce che nell'intervallo di tempo viene inviato almeno un pacchetto.

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

I seguenti esempi mostrano come impostare il keep-alive TCP del sistema operativo con un intervallo di valori di un minuto. Consulta la tua applicazione oppure documentazione della libreria software per determinare come configurarla per l'utilizzo 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 rimangano invariate dopo un riavvio, aggiungile al file /etc/sysctl.conf.

Per ulteriori informazioni, consulta la guida di 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 dato DWORD o modifica i valori se le impostazioni esistono già:

KeepAliveInterval: 1000
KeepAliveTime: 60000
TcpMaxDataRetransmissions: 10

Accedere a Compute Engine come utente SSH diverso

Per impostazione predefinita, lo strumento a riga di comando gcloud compute usa la variabile $USER per aggiungi utenti al file /etc/passwd per la connessione alle istanze di macchine virtuali utilizzando SSH. Puoi specificare un utente diverso utilizzando Il flag --ssh-key-file PRIVATE_KEY_FILE durante l'esecuzione di 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 collegare e risolvere i problemi delle istanze tramite la console seriale.

Per saperne di più, leggi Interazione con la console seriale.

Evitare la frammentazione dei pacchetti nelle istanze create da immagini personalizzate

La rete VPC ha un'unità massima di trasmissione (MTU) predefinita di 1460 byte per le immagini Linux e Windows Server. Tuttavia, MTU di rete può essere modificata. Per maggiori dettagli, consulta Panoramica massima dell'unità di trasmissione nel VPC documentazione.

Quando si creano applicazioni client che comunicano con Compute Engine su socket UDP, puoi evitare la frammentazione impostando il valore massimo dei dati del datagramma UDP a 28 byte in meno rispetto all'MTU della rete. Per Ad esempio, se la MTU della rete è di 1460 byte, puoi inviare fino a Dati UDP per pacchetto senza frammentazione. Se l'MTU della rete è 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 datagram UDP (8 byte). Puoi impostare la MTU della rete su un massimo di 8896 byte.