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 des gcloud
-Befehlszeilentools erfolgen über REST API-Aufrufe. Die klar gegliedert ausgegebenen Ergebnisse 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
Das gcloud
-Tool erstellt und speichert Logs in einer Logdatei ($HOME/.config/gcloud/logs
), die Sie abfragen können. Um sich die neueste Logdatei 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 compute
-Tool erfolgt sind.
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 zwischen Instanzen und dem Internet
Eine Instanz kann nur dann direkt auf das Internet zugreifen, wenn sie über eine externe IP-Adresse verfügt.
Mit externer IP-Adresse kann eine Instanz immer Verbindungen zum Internet herstellen.
Sie kann auch Verbindungen annehmen, sofern eine Firewallregel konfiguriert ist, die den Zugriff erlaubt. Sie können eine benutzerdefinierte Firewallregel für das default
-VPC-Netzwerk hinzufügen oder ein neues Netzwerk hinzufügen, für das Sie benutzerdefinierte Firewalls festlegen. Darüber hinaus kann innerhalb der VCP-Netzwerkumgebung ein Netzwerkproxy eingerichtet werden, der ohne externe IP-Adresse Proxyzugriff von einer Instanz bereitstellt.
Inaktive Verbindungen werden maximal zehn Minuten lang verfolgt. Danach unterliegt der Traffic den Firewallregeln, einschließlich der implizierten Regel zum Ablehnen von eingehendem Traffic. Wenn die Instanz langlebige Verbindungen zu bzw. von einem externen Host initiiert oder annimmt, sollten Sie die TCP-Keep-Alive-Einstellungen in Ihren Compute Engine-Instanzen auf höchstens 599 Sekunden einstellen, damit Verbindungen vor dem Zeitlimit aktualisiert werden. In den folgenden Beispielen werden die Keep-Alives auf eine Minute (60 Sekunden) gesetzt. Anwendungen, die auf Linux-Systemen ausgeführt werden, müssen die Socket-Option SO_KEEPALIVE für TCP-Verbindungen explizit setzen, um TCP-Keep-Alive zu aktivieren (weitere Informationen finden Sie in der Anleitung zu Linux TCP Keepalive).
Compute Engine-Instanz oder Linux-Client
Führen Sie den folgenden Befehl aus:
$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
Fügen Sie die Einstellungen in der Datei /etc/sysctl.conf
hinzu, damit sie nach einem Neustart weiterhin gelten.
Mac OSX-Client
Führen Sie den folgenden 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-Client
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. Beispiel:
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 unter Maximale Übertragungseinheit (MTU).
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.