Allgemeine Tipps zur Verwendung von Compute Engine

Auf dieser Seite erhalten Sie Tipps zu Problemen mit Compute Engine.

Hilfe zur Behebung bestimmter Probleme finden Sie in einem der folgenden Abschnitte:

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 nachverfolgt. 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 auf die serielle Konsole einer Instanz interaktiven Zugriff aktivieren, um über die serielle Konsole Verbindungen zu Instanzen herzustellen und Fehler zu beheben.

Weitere Informationen finden Sie unter Mit der seriellen Konsole interagieren.

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.