Acabei de replicar seu cenário de caso de uso e conectei com sucesso um banco de dados Cloud SQL de um projeto com um Cloud App Engine de outro projeto.
As etapas para reproduzir isso são as seguintes:
-
Criou um banco de dados Postgresql do Cloud SQL com IP público.
-
Criei as tabelas para minha aplicação
-
Ative a API Cloud SQL no segundo projeto em que quero hospedar o lado do App Engine.
-
Implantou um aplicativo do App Engine em um segundo projeto usando este Repositório do Google Cloud
-
Dê permissão à conta de serviço do projeto com o App Engine no projeto com o Cloud SQL seguindo este Como usar o guia do Cloud SQL para PostgreSQL
Durante minha reprodução encontrei o possível problema que você encontrou. Provavelmente você não ativou a API do segundo projeto (aquele que hospeda apenas o App Engine).
Para verificar isso, você só precisa fazer o ssh na máquina que hospeda o mecanismo do aplicativo e executar
docker ps -a
para obter o id do contêiner docker que hospeda o cloud-sql-proxy
. Em seguida, usando esse id, execute docker logs -f ID_OF_THE_CONTAINER
e você verá se há um erro no proxy do Cloud SQL. Se você tiver a API desabilitada, basta habilitá-la e implantar novamente.