Résoudre les erreurs Private Service Connect
Impossible de se connecter à la base de données de destination: EOF
L'exécution d'un test de connectivité renvoie le message d'erreur [DATABASE] unable to connect to the destination database: EOF
.
Cause possible:le rattachement de service est mal configuré.
Essayez ceci:assurez-vous que enable_proxy_protocol
est défini sur false
dans le fichier de configuration Terraform de l'attachement de service. Le protocole proxy n'est compatible qu'avec les serveurs HTTP tels que NGINX et Apache.
Lorsque vous utilisez gcloud
pour créer la configuration Private Service Connect, le protocole proxy est désactivé par défaut.
Délai de connexion expiré, connexion refusée
L'exécution du test de connectivité échoue ou expire. Cela est probablement dû à une mauvaise configuration du routage dans la configuration de Private Service Connect. Plusieurs raisons peuvent expliquer cette situation.
Cause possible:une règle de pare-feu permettant à la plage CIDR NAT Private Service Connect d'accéder au sous-réseau Private Service Connect où se trouve l'hôte bastion, en particulier l'interface nic0
de la VM bastion, est manquante.
Essayez ceci:assurez-vous que votre stratégie d'entreprise ne limite pas les règles de pare-feu internes, telles que la règle de pare-feu psc_sp_in_fw
définie dans l'exemple de script Terraform pour configurer le producteur Private Service Connect.
Cause possible:le proxy est en panne. Il n'y a pas d'écouteur sur le port fourni. Par conséquent, la connexion se bloque.
Essayez les solutions suivantes:vous pouvez essayer d'établir une connexion SSH à la VM bastion et de rechercher le proxy à l'aide de la commande suivante:
netstat -tunalp | grep PORT
Analysez les réponses à la commande:
Si vous obtenez une réponse vide, le proxy est en panne. Essayez d'exécuter la commande suivante:
sudo su; cd /
et vérifiez si le serveur Dante est installé en exécutantsudo dpkg -s dante-server
:Si le proxy est installé, le message suivant s'affiche:
Status: install ok installed
Si le proxy n'est pas installé, le problème vient probablement d'un routeur manquant. Ajoutez un routeur et vérifiez si vous pouvez télécharger le proxy en exécutant
apt-get install dante-server
.
Si le proxy est en cours d'exécution et qu'il écoute sur le port fourni, essayez d'établir une connexion avec lui en procédant comme suit:
Installez le client PostgreSQL:
sudo apt-get install postgresql-client
.Connectez-vous à la base de données PostgreSQL:
psql -h 127.0.0.1 -p PORT -U DBUSERNAME -W
(vous êtes invité à saisir le mot de passe).Remplacez les éléments suivants :
PORT
: numéro de port de la base de données.DBUSERNAME
: nom d'utilisateur utilisé pour se connecter à la base de données PostgreSQL.
Installez le client Telnet:
sudo apt-get install telnet
Connectez-vous au client Telnet:
telnet 127.0.0.1 PORT
Remplacez
PORT
par le numéro de port de la base de données.
En fonction des résultats des commandes:
Si les commandes ne parviennent pas à ouvrir de connexion, essayez d'examiner les journaux du proxy pour identifier la cause du problème. La cause première peut varier en fonction de la configuration de l'instance Cloud SQL.
Si la connexion est ouverte à l'aide de Telnet, mais qu'elle se bloque dans le client natif, le problème est probablement lié au routage de l'adresse IP du bastion. Sur votre VM, saisissez
ip route
dans le terminal. Essayez de trouver une règle de routage qui achemine les connexions vers l'adresse IP privée de l'instance Cloud SQL à l'aide de l'nic
secondaire (nic1
, l'adresse IPDB_SUBNETWORK_GATEWAY
).
Cause possible:le rattachement de service n'accepte pas la connexion de point de terminaison provenant de Database Migration Service. Le rattachement de service contient une liste des projets acceptés, et le projet Database Migration Service n'y figure pas.
Essayez les solutions suivantes :
Dans la console Google Cloud , accédez à Private Service Connect.
Accéder à Private Service Connect
Dans l'onglet Services publiés, acceptez la connexion de Database Migration Service pour votre rattachement de service (s'il est en attente).
Ajoutez le projet à la liste d'autorisations du rattachement de service (s'il est refusé).
Pour en savoir plus sur l'ajout d'un projet de liste d'autorisation dans Terraform, consultez la documentation Terraform.
Pour en savoir plus sur l'ajout d'un projet à la liste d'autorisation dans
gcloud
, consultez la documentation de référence gcloud.
Si le problème persiste, recréez le profil de connexion.
Supprimez le profil de connexion associé à la connectivité Private Service Connect, puis recréez-le.
Résoudre les erreurs Oracle SCAN
Cette section décrit les problèmes potentiels que vous pourriez rencontrer lors de la migration à partir de sources Oracle Real Application Clusters (RAC) à l'aide de la fonctionnalité Single Client Access Name (SCAN).
Impossible d'établir une connexion à une base de données Oracle SCAN
L'exécution du test de connectivité échoue ou expire.
Cause possible:vous essayez peut-être d'établir une connectivité directement avec votre base de données source Oracle SCAN. Database Migration Service n'est pas compatible avec la connectivité directe aux bases de données à l'aide de la fonctionnalité SCAN dans les environnements Oracle RAC.
Essayez les solutions suivantes :
- Connectez-vous directement à l'un des nœuds.
- Utilisez le gestionnaire de connexion Oracle.
- Créez une configuration de connectivité privée à l'aide d'une solution de proxy inverse telle que HAProxy.