Je viens de répliquer votre scénario de cas d'utilisation et j'ai réussi à connecter une base de données Cloud SQL d'un projet avec un Cloud App Engine d'un autre projet.
Les étapes pour reproduire cela sont les suivantes :
-
Création d'une base de données Cloud SQL Postgresql avec une adresse IP publique.
-
J'ai créé les tables de mon application
-
Activer l'API Cloud SQL dans le second projet où je souhaite héberger le côté App Engine.
-
Déploiement d'une application App Engine dans un second projet à l'aide de ce Dépôt Google Cloud
-
Autorisez le compte de service du projet avec App Engine dans le projet avec Cloud SQL en suivant ceci Guide d'utilisation de Cloud SQL pour PostgreSQL
Au cours de ma reproduction, j'ai trouvé le problème possible que vous avez rencontré. Vous n'avez probablement pas activé l'API du deuxième projet (celui qui héberge uniquement App Engine).
Pour vérifier cela, il vous suffit de vous connecter en ssh à la machine hébergeant le moteur d'application, puis d'exécuter docker ps -a
pour obtenir l'id du conteneur docker hébergeant le cloud-sql-proxy
. Ensuite, en utilisant cet identifiant, exécutez docker logs -f ID_OF_THE_CONTAINER
et vous verrez si vous avez une erreur dans votre proxy Cloud SQL. Si l'API est désactivée, activez-la et déployez-la à nouveau.