Auf dieser Seite erhalten Sie Tipps zu Problemen mit Compute Engine.
Hilfe zur Behebung bestimmter Probleme finden Sie in einem der folgenden Abschnitte:
- Schritte zur Behebung allgemeiner Probleme mit Instanzen, z. B. wenn die Instanz nicht gestartet wird, finden Sie unter Allgemeine Fehlerbehebung.
- Schritte zur Behebung von Problemen mit Windows-Instanzen finden Sie unter Fehlerbehebung bei Windows-Instanzen.
Verschiedene Antwortformate ansehen
Die meisten Aktionen der Google Cloud CLI werden mit REST API-Aufrufen ausgeführt. Die Ergebnisse in Schöndruck zeigen nur die wichtigsten der von einem bestimmten Befehl zurückgegebenen Informationen. Um die verschiedenen Antwortformate zu sehen, verwenden Sie das Flag --format
, das die Antwort in verschiedenen Ausgabeformaten anzeigt, einschließlich json
, yaml
und text
. Wenn Sie beispielsweise eine Liste der Instanzen im JSON-Format sehen möchten, verwenden Sie --format json
:
gcloud compute instances list --format json
Logs von gcloud compute ansehen
Die gcloud CLI erstellt und speichert Logs in einer Logdatei unter $HOME/.config/gcloud/logs
, die Sie abfragen können. Um sich die neueste Log-Datei unter Linux anzusehen, führen Sie Folgendes aus:
$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)
Die Logdatei enthält Informationen über alle Anfragen und Antworten, die mit dem gcloud CLI
-Tool erfolgt sind.
Wenn Sie die von der gcloud CLI erstellten Logdateien automatisch dauerhaft löschen möchten, verwenden Sie das Attribut max_log_days
. Damit wird die maximale Aufbewahrungsdauer von Logdateien vor dem Löschen festgelegt.
Die Standardeinstellung ist 30 Tage. Wenn Sie diesen Attributwert auf „0“ festlegen, wird die automatische Speicherbereinigung für Logs deaktiviert und Logdateien werden nicht gelöscht.
gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS
Deaktivieren Sie das Datei-Logging der gcloud CLI:
Die Datei $HOME/.config/gcloud/logs
belegt Speicherplatz im lokalen Dateisystem.
Die Menge der generierten Logs kann den Speicherplatz im lokalen Dateisystem überlasten, was zu folgenden Problemen führen kann:
- Die Speicherauslastung erreicht die Instanz zu 100 %.
- Die Ausführung von gcloud CLI-Logging-Befehlen schlägt fehl, da kein Speicherplatz mehr vorhanden ist, um eine neue Datei im lokalen Dateisystem zu erstellen.
Wenn Sie das Verhalten der gcloud CLI ändern und das Datei-Logging deaktivieren möchten, verwenden Sie das Attribut disable_file_logging
:
gcloud config set core/disable_file_logging True
Ressourcennamen wählen
Beachten Sie bei der Wahl von Namen für Ihre Ressourcen, dass diese Anzeigenamen auf den Support- und Betriebsdashboards innerhalb von Compute Engine sichtbar sein können. Es empfiehlt sich deshalb, Ressourcennamen zu wählen, die keine vertraulichen Informationen enthalten.
Kommunikation mit dem Internet
Eine Instanz kann nur dann direkten Internetzugriff haben, wenn die beiden folgenden Bedingungen erfüllt sind:
- Die Instanz hat eine externe IP-Adresse.
- Das VPC-Netzwerk der Instanz verwendet eine Standardroute, deren nächster Hop das Standard-Internetgateway ist.
Instanzen können auch indirekt über Cloud NAT oder einen instanzbasierten Proxy auf das Internet zugreifen. Weitere Informationen, u. a. zur Konfiguration von Firewallregeln, finden Sie unter Anforderungen für den Internetzugriff.
Inaktive Verbindungen
Google Cloud-VPC-Netzwerke implementieren ein 10-minütiges Verbindungs-Tracking für IP-Protokolle mit einem Verbindungskonzept (z. B. TCP). Das bedeutet, dass eingehende Pakete, die mit einer festgelegten Verbindung verknüpft sind, zugelassen werden, solange innerhalb der letzten 10 Minuten mindestens ein Paket für die Verbindung gesendet oder empfangen wurde. Wenn mindestens 10 Minuten lang keine Pakete für die Verbindung gesendet oder empfangen wurden, werden die Tracking-Einträge der inaktiven Verbindung entfernt. Nachdem die Tracking-Einträge der Verbindung entfernt wurden, lässt Google Cloud keine weiteren eingehenden Pakete zu, bis mindestens ein neues ausgehendes Paket gesendet wurde. Dieses Verbindungs-Tracking gilt für alle Quellen und Ziele, sowohl für interne als auch für externe IP-Adressen.
So verhindern Sie inaktive Verbindungen:
Legen Sie für die TCP-Keep-Alive-Parameter des Betriebssystems einen Zeitraum von weniger als 10 Minuten fest. Dadurch wird innerhalb des Zeitraums mindestens ein Paket gesendet.
Bei Anwendungen, die TCP-Verbindungen öffnen, muss die Option
SO_KEEPALIVE
aktiviert sein.
In den folgenden Beispielen wird gezeigt, wie Sie die TCP-Keep-Alive-Parameter des Betriebssystems mit einem Intervallwert von einer Minute festlegen. Informationen zur Konfiguration der Anwendung für die Verwendung von SO_KEEPALIVE
finden Sie in der Dokumentation der Anwendung oder Softwarebibliothek.
Linux
Führen Sie dazu diesen Befehl aus:
$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
/etc/sysctl.conf
hinzu, damit sie nach einem Neustart weiterhin gelten.
Weitere Informationen finden Sie unter Linux TCP Keepalive HOWTO.
macOS
Führen Sie dazu diesen Befehl aus:
$ 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
Fügen Sie unter dem Registrierungspfad HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
die folgenden Einstellungen hinzu und verwenden Sie dafür den Datentyp DWORD oder bearbeiten Sie die Werte, wenn die Einstellungen bereits vorhanden sind:
KeepAliveInterval: 1000 KeepAliveTime: 60000 TcpMaxDataRetransmissions: 10
Als ein anderer SSH-Nutzer auf Compute Engine zugreifen
Das gcloud compute
-Befehlszeilentool verwendet standardmäßig die Variable $USER
, um der Datei /etc/passwd
per SSH Nutzer für Verbindungen zu VM-Instanzen hinzuzufügen. Mit dem Flag --ssh-key-file PRIVATE_KEY_FILE
kann bei Ausführung des Befehls gcloud compute ssh
ein anderer Nutzer angegeben werden. Beispiele:
gcloud compute ssh example-instance --ssh-key-file my-private-key-file
Weitere Informationen finden Sie in der gcloud
-Referenzdokumentation.
Mit der seriellen Konsole interagieren
Sie können interaktiven Zugriff auf die serielle Konsole einer Instanz aktivieren, um über die serielle Konsole Verbindungen zu Instanzen herzustellen und Fehler zu beheben.
Unter Interaktion mit der seriellen Konsole finden Sie nähere Informationen hierzu.
Datenpaketfragmentierung bei Instanzen auf der Grundlage von benutzerdefinierten Images vermeiden
In VPC-Netzwerken beträgt die standardmäßige maximale Übertragungseinheit (MTU) für Linux-Images und Windows Server-Images 1460
Byte. Die MTU des Netzwerks kann jedoch geändert werden. Weitere Informationen finden Sie in der VPC-Dokumentation in der Übersicht über die maximale Übertragungseinheit.
Beim Erstellen von Clientanwendungen, die mit Compute Engine-Instanzen über UDP-Sockets kommunizieren, können Sie Fragmentierungen vermeiden, wenn Sie die maximale Größe der UDP-Datagram-Daten auf 28 Byte unter der Netzwerk-MTU festlegen. Wenn die MTU des Netzwerks beispielsweise 1.460 Byte beträgt, können Sie bis zu 1.432 Byte an UDP-Daten pro Paket ohne Fragmentierung senden. Wenn die MTU des Netzwerks 1.500 Byte beträgt, können Sie bis zu 1.472 Byte UDP-Daten ohne Fragmentierung senden. Die 28 Byte werden für einen IPv4-Paketheader (20 Byte) und für einen UDP-Datagram-Header (8 Byte) verwendet. Sie können die MTU des Netzwerks auf maximal 8.896 Byte festlegen.