Déboguer la connectivité
Vous avez configuré la connectivité entre vos bases de données source et de destination, mais comment savoir si elles sont connectées ? Lorsque vos communications échouent entre eux, comment pouvez-vous identifier le problème et son origine ?
Les outils les plus élémentaires sont ping et traceroute.
Ping
La commande Ping effectue un test de base pour déterminer si la destination ("hôte distant") est disponible depuis la source. Ping envoie un paquet ICMP Echo Request à un hôte distant et s'attend à recevoir un ICMP Echo Reply en retour. Si ping échoue, il n'y a pas de route entre la source et la destination. Si elle réussit, cela ne signifie pas pour autant que vos paquets peuvent transiter, mais que, de manière générale, l'hôte distant est accessible.
Si ping peut déterminer si un hôte est actif et en état de répondre, la fiabilité de ce dernier n'est pas garantie. Certains fournisseurs de réseau bloquent ICMP par mesure de sécurité, ce qui peut compliquer le débogage de la connectivité.
Traceroute
La commande Traceroute teste la route complète suivie par les paquets réseau d'un hôte à un autre. Elle montre l'ensemble des étapes ("sauts") parcourues par le paquet tout au long de son acheminement, ainsi que le temps nécessaire à chaque étape. Si le paquet ne parvient pas à destination, traceroute ne se termine pas, mais indique en sortie une série d'astérisques. Dans ce cas, identifiez la dernière adresse IP atteinte avec succès dans l'acheminement. C'est là que la connectivité s'est interrompue.
La commande Traceroute peut expirer. Elle peut également échouer si une passerelle située le long du trajet n'est pas correctement configurée pour transmettre le paquet au saut suivant.
Lorsque traceroute échoue, vous pouvez éventuellement savoir où elle s'est arrêtée. Recherchez la dernière adresse IP indiquée par la sortie de traceroute et faites une recherche sur who owns [IP_ADDRESS] dans un navigateur. Les résultats peuvent afficher ou non le propriétaire de l'adresse, mais cela vaut la peine d'essayer.
mtr
L'outil mtr est une variante de traceroute qui reste active et mise à jour en continu, de la même manière que la commande top pour le suivi des processus locaux.
Localiser votre adresse IP locale
Si vous ne connaissez pas l'adresse locale de votre hôte, exécutez la commande ip -br address show. Sous Linux, cette commande affiche l'interface réseau, l'état de l'interface, l'adresse IP locale et les adresses MAC. Exemple : eth0 UP 10.128.0.7/32 fe80::4001:aff:fe80:7/64.
Vous pouvez également exécuter ipconfig ou ifconfig pour afficher l'état de vos interfaces réseau.
Localiser l'adresse IP sortante
Si vous ne connaissez pas l'adresse IP utilisée par les bases de données source et de destination pour communiquer entre elles (adresse IP sortante), procédez comme suit :
Accédez à la page "Instances SQL" dans Google Cloud console.
Cliquez sur le nom de l'instance associée à la tâche de migration que vous déboguez.
Faites défiler la page jusqu'à ce que le volet Se connecter à cette instance s'affiche. L'adresse IP sortante s'affiche dans ce volet.
Ports locaux ouverts
Pour vérifier que votre hôte écoute bien sur les ports que vous pensez, exécutez la commande ss -tunlp4. Cela vous indique quels ports sont ouverts et à l'écoute.
Par exemple, si une base de données PostgreSQL est en cours d'exécution, le port 5432 doit être opérationnel et à l'écoute. Pour SSH, vous devriez voir apparaître le port 22.
Ensemble de l'activité sur les ports locaux
Exécutez la commande netstat pour afficher l'ensemble de l'activité des ports locaux. Par exemple, netstat -lt affiche tous les ports actuellement actifs.
Se connecter à l'hôte distant à l'aide de telnet
Pour vérifier que vous pouvez vous connecter à l'hôte distant à l'aide de TCP, exécutez la commande telnet. Telnet tente de se connecter à l'adresse IP et au port que vous lui indiquez.
telnet 35.193.198.159 5432.
En cas de réussite, les éléments suivants s'affichent :
Trying 35.193.198.159...
Connected to 35.193.198.159.
.
En cas d'échec, telnet cesse de répondre jusqu'à ce que vous forciez sa fermeture :