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 d'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 construites à 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).