Conseils d'ordre général sur l'utilisation de Compute Engine

Cette page présente les conseils qui peuvent vous être utiles si vous rencontrez des problèmes lors de l'utilisation de Compute Engine.

Si vous avez besoin d'aide pour résoudre des problèmes spécifiques, consultez l'une des sections suivantes :

  • Pour connaître les étapes permettant de résoudre les problèmes d'ordre général liés aux instances, par exemple un problème lors du démarrage de votre instance, consultez la page Dépannage d'ordre général.
  • Pour connaître les étapes permettant de résoudre les problèmes liés aux instances Windows, consultez la page Dépannage des instances Windows.

Afficher différents formats de réponse

L'outil de ligne de commande gcloud réalise la plupart de ses actions en effectuant des appels d'API REST. Les résultats mis en forme ne montrent que les informations les plus importantes renvoyées par une commande spécifique. Pour consulter les différents formats de réponse, utilisez l'indicateur --format qui affiche la réponse dans différents formats de sortie, parmi lesquels json, yaml et text. Par exemple, pour afficher une liste d'instances au format JSON, utilisez --format json :

gcloud compute instances list --format json

Affichage des journaux gcloud compute

L'outil gcloud crée et stocke les journaux dans un fichier journal que vous pouvez interroger et qui est disponible à l'emplacement $HOME/.config/gcloud/logs. Pour afficher le dernier fichier journal sur un système d'exploitation basé sur Linux, exécutez ce qui suit :

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

Le fichier journal contient des informations concernant toutes les requêtes et réponses générées à l'aide de l'outil gcloud compute.

Sélection des noms de ressources

Lorsque vous sélectionnez des noms pour vos ressources, n'oubliez pas que ces noms conviviaux peuvent s'afficher sur les tableaux de bord de support et tableaux de bord opérationnels de Compute Engine. Pour cette raison, il est recommandé d'exclure toute information sensible de vos noms de ressource.

Communication entre vos instances et Internet

Une instance ne dispose d'un accès Internet direct que si elle possède une adresse IP externe. Une instance avec une adresse IP externe peut toujours initier des connexions à Internet. Elle peut également recevoir des connexions, à condition qu'une règle de pare-feu soit configurée pour autoriser l'accès. Vous pouvez ajouter une règle de pare-feu personnalisée au réseau VPC default ou ajouter un nouveau réseau avec des pare-feu personnalisés. En outre, vous pouvez configurer un proxy réseau au sein de l'environnement réseau VPC afin de fournir un accès par proxy à partir d'une instance sans adresse IP externe.

Notez que les connexions inactives font l'objet d'un suivi pendant 10 minutes maximum, après quoi leur trafic est soumis aux règles de pare-feu, y compris la règle implicite d'entrée interdite. Si votre instance initie ou accepte des connexions de longue durée avec un hôte externe, vous devez définir les paramètres de message keep-alive TCP pour vos instances Compute Engine sur moins de 600 secondes pour vous assurer que les connexions sont actualisées avant l'expiration du délai. Dans les exemples suivants, les paramètres de message keep-alive sont définis sur une minute (60 secondes). Sachez que les applications qui s'exécutent sur des systèmes Linux doivent définir explicitement l'option de socket SO_KEEPALIVE sur les connexions TCP pour permettre l'envoi du message keep-alive TCP (consultez également le guide Linux TCP Keepalive).

Instance Compute Engine ou client Linux


Exécutez la commande suivante :

$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
Pour vous assurer que les paramètres persistent après un redémarrage, ajoutez-les à votre fichier /etc/sysctl.conf.

Client Mac OSX


Exécutez la commande suivante :

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

Client Windows


Sous le chemin de registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\, ajoutez les paramètres suivants à l'aide du type de données DWORD ou modifiez les valeurs si les paramètres existent déjà :

KeepAliveInterval: 1000
KeepAliveTime: 60000
TcpMaxDataRetransmissions: 10

Accéder à Compute Engine avec un utilisateur SSH différent

Par défaut, l'outil de ligne de commande gcloud compute utilise la variable $USER pour ajouter des utilisateurs au fichier /etc/passwd afin qu'ils puissent se connecter à des instances de machines virtuelles via SSH. Vous pouvez spécifier un autre utilisateur à l'aide de l'indicateur --ssh-key-file PRIVATE_KEY_FILE lorsque vous exécutez la commande gcloud compute ssh. Exemple :

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

Pour en savoir plus, consultez la documentation de référence de gcloud.

Interagir avec la console série

Activez l'accès interactif à la console série d'une instance pour pouvoir connecter des instances et résoudre des problèmes liés à celles-ci via la console série.

Pour en savoir plus, consultez la section Interagir avec la console série.

Éviter la fragmentation des paquets pour les instances créées à partir d'images personnalisées

Le réseau VPC possède une unité de transmission maximale (MTU, Maximum Transmission Unit) par défaut de 1460 octets pour les images Linux et les images Windows Server. Cependant, la MTU du réseau peut être modifiée. Pour en savoir plus, consultez la section Unité de transmission maximale (MTU) dans la documentation sur les VPC.

Lorsque vous créez des applications clientes qui communiquent avec des instances Compute Engine sur des sockets UDP, vous pouvez éviter la fragmentation si vous définissez la taille maximale des données du datagramme UDP sur 28 octets de moins que la MTU du réseau. Par exemple, si la taille de la MTU du réseau est de 1 460 octets, vous pouvez envoyer jusqu'à 1 432 octets de données UDP par paquet sans fragmentation. Si la MTU du réseau est de 1 500 octets, vous pouvez envoyer jusqu'à 1 472 octets de données UDP sans fragmentation. Les 28 octets sont utilisés pour un en-tête de paquet IPv4 (20 octets) et un en-tête de datagramme UDP (8 octets).