Conectar-se ao Cloud SQL para PostgreSQL pelo ambiente flexível do App Engine

Saiba como implantar um app de exemplo no ambiente flexível do App Engine conectado a uma instância do PostgreSQL usando o console do Google Cloud e um aplicativo cliente.

Supondo que você conclua todas as etapas em tempo hábil, os recursos criados neste guia de início rápido normalmente custam menos de um dólar (USD).

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Ative as APIs do Cloud necessárias para executar um app de exemplo do Cloud SQL no ambiente flexível do App Engine.

    Clique no botão abaixo para ativar as APIs necessárias para este guia de início rápido.

    Ative as APIs

    Isso permite as seguintes APIs:

    • API Cloud SQL Admin
    • API Compute Engine
    • API Cloud Build
    • API Cloud Logging

    Ao clicar no botão, você também ativa o ambiente flexível do Google App Engine.

    Clique no botão a seguir para abrir o Cloud Shell, que fornece acesso de linha de comando aos seus recursos Google Cloud diretamente no navegador. O Cloud Shell pode ser usado para executar os comandos gcloud apresentados neste guia de início rápido.

    Abra o Cloud Shell

    Execute o comando gcloud a seguir usando o Cloud Shell:

    gcloud services enable appengineflex.googleapis.com sqladmin.googleapis.com \
    compute.googleapis.com cloudbuild.googleapis.com logging.googleapis.com

    Esse comando ativa as seguintes APIs:

    • API Cloud SQL Admin
    • API Compute Engine
    • API Cloud Build
    • API Cloud Logging

    Ao executar o comando acima, você também ativa o ambiente flexível do Google App Engine.

Configurar o Cloud SQL

crie uma instância do Cloud SQL

IP público

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Clique em Criar instância.
  3. Clique em Escolher PostgreSQL.
  4. Verifique se a edição Enterprise Plus está selecionada como a edição do Cloud SQL para sua instância.
  5. No campo ID da instância, insira quickstart-instance.
  6. No campo Senha, insira uma senha para o usuário postgres. Salve essa senha para uso futuro.
  7. Na seção Escolher disponibilidade de região e zona, selecione Única zona.
  8. Clique no menu Mostrar opções de configuração.
  9. Expanda o nó Configuração da máquina.
  10. Na região Formas de máquina, selecione o formato 4 vCPU, 32 GB.
  11. Clique em Criar instância e aguarde até que a instância seja inicializada.

Antes de executar o comando da seguinte maneira, substitua DB_ROOT_PASSWORD pela senha do usuário do banco de dados.

Se quiser, modifique os valores dos seguintes parâmetros:

  • --database_version: o tipo e a versão do mecanismo de banco de dados. Se não for especificado, a API padrão será usada. Consulte a documentação das versões de banco de dados do gcloud para ver as versões atuais disponíveis.
  • --cpu: o número de núcleos desejados na máquina.
  • --memory: valor inteiro que indica a quantidade de memória desejada na máquina. Uma unidade de tamanho precisa ser fornecida (por exemplo, 3.072 MB ou 9 GB). Se nenhuma unidade for especificada, serão considerados GB.
  • --region: local regional da instância (por exemplo, asia-east1, us-east1). Se não for especificado, o padrão us-central será utilizado.

Execute o comando gcloud sql instances create para criar uma instância do Cloud SQL.

gcloud sql instances create quickstart-instance \
--database-version=POSTGRES_14 \
 --cpu=1 \
 --memory=4GB \
 --region=us-central \
 --root-password=DB_ROOT_PASSWORD

Alocar um intervalo de endereço IP e criar uma conexão particular para configurar o acesso a serviços particulares do Cloud SQL

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Selecione a rede VPC default.
  3. Selecione a guia Conexão de serviço particular.
  4. Selecione a guia Intervalos de IP alocados para serviços.
  5. Clique em Alocar intervalo de IP.
  6. Em Nome do intervalo alocado, especifique google-managed-services-default.
  7. Selecione a opção Automático para o intervalo de IP e especifique o tamanho do prefixo como 16.
  8. Clique em Alocar para criar o intervalo alocado.
  9. Selecione a guia Conexões particulares com serviços para a rede VPC default.
  10. Clique em Criar conexão para criar uma conexão particular entre a rede e um produtor de serviços.
  11. Em Alocação atribuída, selecione google-managed-services-default.
  12. Clique em Conectar para criar a conexão.

Criar uma instância com SSL e endereço IP privado ativados

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Clique em Criar instância.
  3. Clique em Escolher PostgreSQL.
  4. Verifique se a edição Enterprise Plus está selecionada como a edição do Cloud SQL para sua instância.
  5. No campo ID da instância, insira quickstart-instance.
  6. No campo Senha, insira uma senha para o usuário postgres. Salve essa senha para uso futuro.
  7. Na seção Escolher disponibilidade de região e zona, selecione Única zona.
  8. Clique no menu Mostrar opções de configuração.
  9. Expanda o nó Configuração da máquina.
  10. Na região Formas de máquina, selecione o formato 4 vCPU, 32 GB.
  11. Expanda o nó Conexões.
  12. Desmarque a caixa de seleção IP público para criar uma instância apenas com um endereço IP privado.
  13. Marque a caixa de seleção IP privado.
  14. No menu Rede, selecione padrão.
  15. Clique em Criar instância e aguarde a inicialização da instância.
  16. Clique em Conexões.
  17. Na seção Segurança, selecione Permitir apenas conexões SSL para ativar conexões SSL.
  18. Na caixa de diálogo Permitir apenas conexões SSL, clique em Salvar e aguarde a reinicialização da instância.

Alocar um intervalo de endereço IP e criar uma conexão particular para configurar o acesso a serviços particulares do Cloud SQL

  1. Execute o comando gcloud compute addresses create para alocar um intervalo de endereços IP.

    gcloud compute addresses create google-managed-services-default \
    --global --purpose=VPC_PEERING --prefix-length=16 \
    --description="peering range for Google" --network=default
  2. Execute o comando gcloud services vpc-peerings connect para criar uma conexão particular com o intervalo de endereços IP alocado. Substitua YOUR_PROJECT_ID pelo ID do projeto.

    gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \
    --ranges=google-managed-services-default --network=default \
    --project=YOUR_PROJECT_ID

Criar uma instância com SSL e endereço IP privado ativados

  1. Antes de executar o comando abaixo, substitua DB_ROOT_PASSWORD pela senha do usuário do banco de dados.

  2. Se quiser, modifique os valores dos seguintes parâmetros:

    • --database_version: o tipo e a versão do mecanismo de banco de dados. Se não for especificado, a API padrão será usada. Consulte a documentação das versões de banco de dados do gcloud para ver as versões atuais disponíveis.
    • --cpu: o número de núcleos na máquina;
    • --memory: um valor inteiro que indica quanta memória incluir na máquina. Uma unidade de tamanho pode ser fornecida (por exemplo, 3.072 MB ou 9 GB). Se nenhuma unidade for especificada, serão considerados GB.
    • --region: local regional da instância (por exemplo, asia-east1, us-east1). Se não for especificado, o padrão us-central1 será utilizado. Veja a lista completa de regiões.

    Execute o comando gcloud sql instances create para criar uma instância do Cloud SQL com um endereço IP privado.

    gcloud sql instances create quickstart-instance \
    --database-version=POSTGRES_14 \
     --cpu=1 \
     --memory=4GB \
     --region=us-central \
     --root-password=DB_ROOT_PASSWORD \
     --no-assign-ip \
    --network=default
  3. Execute o comando gcloud sql instances patch para ativar apenas permitir conexões SSL para a instância.

  4. gcloud sql instances patch quickstart-instance --require-ssl

Crie um banco de dados

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Selecione quickstart-instance.
  3. No menu de navegação SQL, selecione Bancos de dados.
  4. Clique em Criar banco de dados.
    1. No campo Nome do banco de dados da caixa de diálogo Novo banco de dados, insira quickstart-db.
    2. Clique em Criar.

Execute o comando gcloud sql databases create para criar um banco de dados.

gcloud sql databases create quickstart-db --instance=quickstart-instance

Criar um usuário

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Selecione a instância quickstart-instance do PostgreSQL que você criou.
  3. No menu de navegação SQL, selecione Usuários.
  4. Clique em Adicionar conta de usuário.
  5. Na página Adicionar uma conta de usuário à instância quickstart-instance, adicione as seguintes informações:
    1. No campo Nome de usuário, digite quickstart-user.
    2. No campo Password, especifique uma senha para o usuário do banco de dados. Anote-a para usá-la em uma etapa posterior deste guia de início rápido.
  6. Clique em Adicionar.

Antes de executar o comando a seguir, faça estas substituições:

  1. PASSWORD por uma senha para seu usuário do banco de dados. Anote-a para usá-la em uma etapa posterior deste guia de início rápido.

Execute o comando gcloud sql users create para criar o usuário.

gcloud sql users create quickstart-user \
--instance=quickstart-instance \
--password=PASSWORD

Os limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no PostgreSQL no local.

Implantar um app de exemplo no ambiente flexível do App Engine

Criar um aplicativo do App Engine

Crie um app do App Engine no projeto Google Cloud . Isso ativa o serviço do App Engine, cria um aplicativo padrão do App Engine e cria uma conta de serviço do App Engine que você usa para se conectar ao Cloud SQL.
  1. No console do Google Cloud, acesse a página do App Engine.

    Acessar o App Engine

  2. Clique em Criar aplicativo.
  3. No menu suspenso Selecionar uma região, escolha us-central.
  4. Clique em Próxima.
  5. Depois que a página Primeiras etapas for exibida, role até a parte inferior da página.
  6. Clique no link Farei isso mais tarde.
  1. Execute este comando gcloud app create para criar um aplicativo do App Engine:
  2. gcloud app create
  3. Quando for solicitado que você escolha a região em que o aplicativo do App Engine estará localizado, digite a escolha numérica de us-central.

Configurar a conta de serviço do App Engine

Configure a conta de serviço usada pelo App Engine para que ela tenha o papel Cliente do Cloud SQL. Ao atribuir o papel à conta de serviço, a conta tem permissões para se conectar ao Cloud SQL.
  1. No console do Google Cloud, abra a página IAM.

    Acessar IAM

  2. Na conta de serviço denominada Conta de serviço padrão do App Engine, clique no ícone de lápis.
  3. Clique em Adicionar outro papel.
  4. Adicione o Papel chamado Cliente do Cloud SQL.
  5. Clique em Salvar.
  1. Execute o seguinte comando gcloud para ver uma lista de contas de serviço do seu projeto:
    gcloud iam service-accounts list
  2. Copie o E-MAIL da conta de serviço do App Engine.
  3. Execute o seguinte comando para adicionar o papel Cliente do Cloud SQL à conta de serviço do App Engine:
    gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/cloudsql.client"

Configurar e implantar um app de exemplo para o Cloud SQL

Agora que você criou uma instância e um banco de dados do Cloud SQL e configurou a conta de serviço do App Engine para que ela tenha permissões de conexão ao Cloud SQL, é possível configurar e implantar um app de exemplo para se conectar à sua instância do Cloud SQL.

IP público

Para caminhos de IP público, o ambiente flexível do App Engine fornece criptografia. Esse método usa um soquete Unix e o proxy do Cloud SQL Auth para se conectar à sua instância do Cloud SQL.
  1. No editor do Cloud Shell, abra o código-fonte do app de amostra.

    Abra o editor do Cloud Shell
  2. Na caixa de diálogo Abrir no Cloud Shell, clique em Confirmar para fazer o download do código do app de exemplo e abrir o diretório do app de exemplo no editor do Cloud Shell.
  3. No prompt de comando do Cloud Shell, execute o seguinte comando para ativar o projeto:
    gcloud config set project YOUR-PROJECT-ID
  4. Se a caixa de diálogo Autorizar o Cloud Shell for exibida, clique em Autorizar.
  5. No menu de navegação do Explorer do Cloud Shell Editor, clique no nó expansível que é o nome de usuário da sua conta Google Cloud .
  6. Navegue até o arquivo cloudshell_open/golang-samples/cloudsql/postgres/database-sql/app.flexible.yaml e abra-o.
  7. Substitua os marcadores de posição das variáveis de ambiente no arquivo app.flexible.yaml pelos seguintes valores:
    • <PROJECT-ID> pelo ID do projeto.
    • <INSTANCE-REGION> por us-central1.
    • <INSTANCE-NAME> por quickstart-instance.
    • <YOUR_DB_USER_NAME> por quickstart-user.
    • <YOUR_DB_PASSWORD> pela senha de quickstart-user que você criou em Criar um usuário.
    • <YOUR_DB_NAME> por quickstart-db.
  8. No prompt de comando do Cloud Shell, no diretório cloudshell_open/golang-samples/cloudsql/postgres/database-sql, execute o seguinte comando gcloud app deploy para implantar o aplicativo de exemplo no ambiente flexível do App Engine.
  9. gcloud app deploy app.flexible.yaml
  10. Quando a mensagem Você quer continuar? aparecer, digite Y.
  11. Depois que as ações realizadas executando o comando gcloud app deploy forem concluídas, execute o comando gcloud app browse:
  12. gcloud app browse
  13. Clique no link gerado para conferir o aplicativo de exemplo em execução no ambiente flexível do App Engine. Esse ambiente está conectado ao Cloud SQL.
  14. Ver o app de exemplo implantado.

  1. No editor do Cloud Shell, abra o código-fonte do app de amostra.

    Abra o editor do Cloud Shell
  2. Na caixa de diálogo Abrir no Cloud Shell, clique em Confirmar para fazer o download do código do app de exemplo e abrir o diretório do app de exemplo no editor do Cloud Shell.
  3. No prompt de comando do Cloud Shell, execute o seguinte comando para ativar o projeto:
    gcloud config set project YOUR-PROJECT-ID
  4. Se a caixa de diálogo Autorizar o Cloud Shell for exibida, clique em Autorizar.
  5. No menu de navegação do Explorer do Cloud Shell Editor, clique no nó expansível que é o nome de usuário da sua conta Google Cloud .
  6. Navegue até o arquivo cloudshell_open/java-docs-samples/cloud-sql/postgres/servlet/src/main/webapp/WEB-INF/appengine-web.xml e abra-o.
  7. Substitua os marcadores de posição das variáveis de ambiente no arquivo appengine-web.xml pelos seguintes valores:
    • my-project:region:instance com o Nome de conexão da instância que aparece na página Instâncias do Cloud SQL no console Google Cloud .
    • my-db-user por quickstart-user.
    • my-db-password pela senha de quickstart-user que você criou em Criar um usuário.
    • my_db por quickstart-db.
  8. No prompt de comando do Cloud Shell, no diretório cloudshell_open/java-docs-samples/cloud-sql/postgres/servlet, execute o seguinte comando do Apache Maven mvn clean package para implantar o aplicativo de exemplo no ambiente flexível do App Engine.
  9. mvn clean package appengine:deploy -DskipTests
  10. Quando a mensagem Você quer continuar? aparecer, digite Y.
  11. Depois que as ações realizadas executando o comando gcloud app deploy forem concluídas, execute o comando gcloud app browse:
  12. gcloud app browse
  13. Clique no link gerado para conferir o aplicativo de exemplo em execução no ambiente flexível do App Engine. Esse ambiente está conectado ao Cloud SQL.
  14. Ver o app de exemplo implantado.

  1. No editor do Cloud Shell, abra o código-fonte do app de amostra.

    Abra o editor do Cloud Shell
  2. Na caixa de diálogo Abrir no Cloud Shell, clique em Confirmar para fazer o download do código do app de exemplo e abrir o diretório do app de exemplo no editor do Cloud Shell.
  3. No prompt de comando do Cloud Shell, execute o seguinte comando para ativar o projeto:
    gcloud config set project YOUR-PROJECT-ID
  4. Se a caixa de diálogo Autorizar o Cloud Shell for exibida, clique em Autorizar.
  5. No menu de navegação do Explorer do Cloud Shell Editor, clique no nó expansível que é o nome de usuário da sua conta Google Cloud .
  6. Navegue até o arquivo cloudshell_open/nodejs-docs-samples/cloud-sql/postgres/knex/app.flexible.yaml e abra-o.
  7. Substitua os marcadores de posição das variáveis de ambiente no arquivo app.flexible.yaml pelos seguintes valores:
    • <MY-PROJECT> pelo ID do projeto.
    • <INSTANCE-REGION> por us-central1.
    • <INSTANCE-NAME> por quickstart-instance.
    • MY_DB_USER por quickstart-user.
    • MY_DB_PASSWORD pela senha de quickstart-user que você criou em Criar um usuário.
    • MY_DATABASE por quickstart-db.
  8. No prompt de comando do Cloud Shell, no diretório cloudshell_open/nodejs-docs-samples/cloud-sql/postgres/knex, execute o seguinte comando gcloud app deploy para implantar o aplicativo de exemplo no ambiente flexível do App Engine.
  9. gcloud app deploy app.flexible.yaml
  10. Quando a mensagem Você quer continuar? aparecer, digite Y.
  11. Depois que as ações realizadas executando o comando gcloud app deploy forem concluídas, execute o comando gcloud app browse:
  12. gcloud app browse
  13. Clique no link gerado para conferir o aplicativo de exemplo em execução no ambiente flexível do App Engine. Esse ambiente está conectado ao Cloud SQL.
  14. Ver o app de exemplo implantado.

  1. No editor do Cloud Shell, abra o código-fonte do aplicativo de amostra.

    Abra o editor do Cloud Shell
  2. Na caixa de diálogo Abrir no Cloud Shell, clique em Confirmar para fazer o download do código do app de exemplo e abrir o diretório do app de exemplo no editor do Cloud Shell.
  3. No prompt de comando do Cloud Shell, execute o seguinte comando para ativar o projeto:
    gcloud config set project YOUR-PROJECT-ID
  4. Se a caixa de diálogo Autorizar o Cloud Shell for exibida, clique em Autorizar.
  5. No menu de navegação do Explorer do Cloud Shell Editor, clique no nó expansível que é o nome de usuário da sua conta Google Cloud .
  6. Navegue até o arquivo cloudshell_open/python-docs-samples/cloud-sql/postgres/sqlalchemy/app.flexible.yaml e abra-o.
  7. Substitua os marcadores de posição das variáveis de ambiente no arquivo app.flexible.yaml pelos seguintes valores:
    • <PROJECT-ID> pelo ID do projeto.
    • <INSTANCE-REGION> por us-central1.
    • <INSTANCE-NAME> por quickstart-instance.
    • <YOUR_DB_USER_NAME> por quickstart-user.
    • <YOUR_DB_PASSWORD> pela senha de quickstart-user que você criou em Criar um usuário.
    • <YOUR_DB_NAME> por quickstart-db.
  8. No prompt de comando do Cloud Shell, no diretório cloudshell_open/python-docs-samples/cloud-sql/postgres/sqlalchemy, execute o seguinte comando gcloud app deploy para implantar o aplicativo de exemplo no ambiente flexível do App Engine.
  9. gcloud app deploy app.flexible.yaml
  10. Quando a mensagem Você quer continuar? aparecer, digite Y.
  11. Depois que as ações realizadas executando o comando gcloud app deploy forem concluídas, execute o comando gcloud app browse:
  12. gcloud app browse
  13. Clique no link gerado para conferir o aplicativo de exemplo em execução no ambiente flexível do App Engine. Esse ambiente está conectado ao Cloud SQL.
  14. Ver o app de exemplo implantado.

Para caminhos IP particulares, verifique se a VM do ambiente flexível do App Engine e a instância do Cloud SQL estão hospedadas na mesma rede de nuvem privada virtual (VPC). Quando localizado na mesma rede VPC, o aplicativo de ambiente flexível do App Engine pode se conectar diretamente à instância do Cloud SQL sem usar o proxy de autenticação do Cloud SQL.

Criar e fazer o download dos certificados SSL e do servidor SSL

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Clique em quickstart-instance para ver a página Visão geral correspondente.
  3. Clique na guia Conexões.
  4. Na seção Segurança, clique em Criar certificado do cliente.
  5. Na caixa de diálogo Criar um certificado do cliente, insira quickstart-key como o nome e clique em Criar.
  6. Na caixa de diálogo Novo certificado SSL criado, clique em cada link de download para fazer o download dos certificados. Clique em Fechar.

Criar um aplicativo de amostra com certificados SSL

  1. No editor do Cloud Shell, abra o código-fonte do aplicativo de amostra.
    Abra o editor do Cloud Shell
  2. Na caixa de diálogo Abrir no Cloud Shell, clique em Confirmar para baixar o código do aplicativo de exemplo e abrir o diretório desse aplicativo no editor do Cloud Shell.
  3. No prompt de comando do Cloud Shell, execute o seguinte comando para ativar o projeto:
    gcloud config set project YOUR-PROJECT-ID
  4. Se a caixa de diálogo Autorizar o Cloud Shell for exibida, clique em Autorizar.
  5. Faça upload dos arquivos de certificados SSL para a pasta certs.
    1. No menu de navegação do Explorer do Cloud Shell Editor, navegue até a pasta golang-samples/cloudsql/postgres/database-sql/certs.
    2. Clique com o botão direito do mouse na pasta certs no editor do Cloud Shell e selecione Upload Files.
    3. Selecione os seguintes arquivos na máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    4. Com os três arquivos de certificado SSL selecionados, clique em Abrir para concluir o processo de upload dos arquivos para o editor do Cloud Shell.
  6. No menu de navegação do Explorer do Cloud Shell Editor, clique no nó expansível que é o nome de usuário da sua conta Google Cloud .
  7. Navegue até o arquivo cloudshell_open/golang-samples/cloudsql/postgres/database-sql/app.flexible.yaml e abra-o.
  8. Copie e cole o seguinte código no arquivo, substituindo o conteúdo nele:
  9. runtime: custom
    env: flex
    
    env_variables:
      DB_USER: quickstart-user
      DB_PASS: YOUR_DB_PASSWORD
      DB_NAME: quickstart-db
      DB_PORT: 3306
      INSTANCE_HOST: INSTANCE_HOST
      DB_ROOT_CERT: certs/server-ca.pem
      DB_CERT: certs/client-cert.pem
      DB_KEY: certs/client-key.pem
      PRIVATE_IP: TRUE
    
    vpc_access_connector:
      name: projects/PROJECT_ID/locations/us-central1/connectors/quickstart-connector
  10. Faça as seguintes substituições de variáveis:
    • YOUR_DB_PASSWORD pela senha de quickstart-user que você criou em Criar um usuário.
    • INSTANCE_HOST pelo endereço IP particular da instância que aparece na página Instâncias do Cloud SQL no console Google Cloud .
    • PROJECT_ID pelo ID do projeto.
  11. No prompt de comando do Cloud Shell, no diretório cloudshell_open/golang-samples/cloudsql/postgres/database-sql, execute o seguinte comando gcloud app deploy para implantar o aplicativo de exemplo no ambiente flexível do App Engine.
  12. gcloud app deploy app.flexible.yaml
  13. Quando a mensagem Você quer continuar? aparecer, digite Y.
  14. Depois que as ações realizadas executando o comando gcloud app deploy forem concluídas, execute o comando gcloud app browse:
  15. gcloud app browse
  16. Clique no link gerado para conferir o aplicativo de exemplo em execução no ambiente flexível do App Engine. Esse ambiente está conectado ao Cloud SQL.
  17. Ver o app de exemplo implantado.

Criar e fazer o download dos certificados SSL e do servidor SSL

Para usuários do Java, o conector já fornece uma conexão segura para que não seja necessário criar e fazer o download de certificados do servidor SSL e cliente.

Criar aplicativo de amostra

  1. No editor do Cloud Shell, abra o código-fonte do aplicativo de amostra.
    Abra o editor do Cloud Shell
  2. Na caixa de diálogo Abrir no Cloud Shell, clique em Confirmar para baixar o código do aplicativo de exemplo e abrir o diretório desse aplicativo no editor do Cloud Shell.
  3. No prompt de comando do Cloud Shell, execute o seguinte comando para ativar o projeto:
    gcloud config set project YOUR-PROJECT-ID
  4. Se a caixa de diálogo Autorizar o Cloud Shell for exibida, clique em Autorizar.
  5. No menu de navegação do Explorer do Cloud Shell Editor, clique no nó expansível que é o nome de usuário da sua conta Google Cloud .
  6. Navegue até o arquivo cloudshell_open/java-docs-samples/cloud-sql/postgres/servlet/src/main/webapp/WEB-INF/appengine-web.xml e abra-o.
  7. Copie e cole o seguinte código no arquivo appengine-web.xml, substituindo o conteúdo dele:
  8. <runtime>java17</runtime>
      <env-variables>
        <env-var name="INSTANCE_CONNECTION_NAME" value="project-name:region-name:instance-name" />
        <env-var name="DB_PORT" value="5432" />
        <env-var name="DB_USER" value="quickstart-user" />
        <env-var name="DB_PASS" value="my-db-password" />
        <env-var name="DB_NAME" value="quickstart-db" />
      </env-variables>
    <vpc-access-connector>
      <name>projects/PROJECT_ID/locations/us-central1/connectors/quickstart-connector</name>
      <egress-setting>all-traffic</egress-setting>
    </vpc-access-connector>
  9. Faça as seguintes substituições de variáveis:
    • project-name:region-name:instance-name com o Nome de conexão da instância que aparece na página Instâncias do Cloud SQL no console Google Cloud .
    • my-db-password pela senha de quickstart-user que você criou em Criar um usuário.
    • PROJECT_ID pelo ID do projeto.
  10. No prompt de comando do Cloud Shell, no diretório cloudshell_open/java-docs-samples/cloud-sql/postgres/servlet, execute o seguinte comando do Apache Maven mvn clean package para implantar o aplicativo de exemplo no ambiente flexível do App Engine.
  11. mvn clean package appengine:deploy -DskipTests
  12. Quando a mensagem Você quer continuar? aparecer, digite Y.
  13. Depois que as ações realizadas executando o comando gcloud app deploy forem concluídas, execute o comando gcloud app browse:
  14. gcloud app browse
  15. Clique no link gerado para conferir o aplicativo de exemplo em execução no ambiente flexível do App Engine. Esse ambiente está conectado ao Cloud SQL.
  16. Ver o app de exemplo implantado.

Criar e fazer o download dos certificados SSL e do servidor SSL

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Clique em quickstart-instance para ver a página Visão geral correspondente.
  3. Clique na guia Conexões.
  4. Na seção Segurança, clique em Criar certificado do cliente.
  5. Na caixa de diálogo Criar um certificado do cliente, insira quickstart-key como o nome e clique em Criar.
  6. Na caixa de diálogo Novo certificado SSL criado, clique em cada link de download para fazer o download dos certificados. Clique em Fechar.

Criar um aplicativo de amostra com certificados SSL

  1. No editor do Cloud Shell, abra o código-fonte do aplicativo de amostra.
    Abra o editor do Cloud Shell
  2. Na caixa de diálogo Abrir no Cloud Shell, clique em Confirmar para baixar o código do aplicativo de exemplo e abrir o diretório desse aplicativo no editor do Cloud Shell.
  3. No prompt de comando do Cloud Shell, execute o seguinte comando para ativar o projeto:
    gcloud config set project YOUR-PROJECT-ID
  4. Se a caixa de diálogo Autorizar o Cloud Shell for exibida, clique em Autorizar.
  5. Faça upload dos arquivos de certificados SSL para a pasta certs.
    1. No menu de navegação do Explorer do Cloud Shell Editor, navegue até a pasta nodejs-docs-samples/cloud-sql/postgres/knex/certs.
    2. Clique com o botão direito do mouse na pasta certs no editor do Cloud Shell e selecione Upload Files.
    3. Selecione os seguintes arquivos na máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    4. Com os três arquivos de certificado SSL selecionados, clique em Abrir para concluir o processo de upload dos arquivos para o editor do Cloud Shell.
  6. No menu de navegação do Explorer do Cloud Shell Editor, clique no nó expansível que é o nome de usuário da sua conta Google Cloud .
  7. Navegue até o arquivo cloudshell_open/nodejs-docs-samples/cloud-sql/postgres/knex/app.flexible.yaml e abra-o.
  8. Copie e cole o seguinte código no arquivo, substituindo o conteúdo dele:
  9. runtime: nodejs
    env: flex
    
    env_variables:
      DB_USER: quickstart-user
      DB_PASS: MY_DB_PASSWORD
      DB_NAME: quickstart-db
      DB_PORT: 5432
      INSTANCE_HOST: INSTANCE_HOST
      DB_ROOT_CERT: certs/server-ca.pem
      DB_CERT: certs/client-cert.pem
      DB_KEY: certs/client-key.pem
      PRIVATE_IP: TRUE
    
    vpc_access_connector:
      name: projects/PROJECT_ID/locations/us-central1/connectors/quickstart-connector
  10. Faça as seguintes substituições de variáveis:
    • MY_DB_PASSWORD pela senha de quickstart-user que você criou em Criar um usuário.
    • INSTANCE_HOST pelo endereço IP particular da instância que aparece na página Instâncias do Cloud SQL no console Google Cloud .
    • PROJECT_ID pelo ID do projeto.
  11. No prompt de comando do Cloud Shell, no diretório cloudshell_open/nodejs-docs-samples/cloud-sql/postgres/knex, execute o seguinte comando gcloud app deploy para implantar o aplicativo de exemplo no ambiente flexível do App Engine.
  12. gcloud app deploy app.flexible.yaml
  13. Quando a mensagem Você quer continuar? aparecer, digite Y.
  14. Depois que as ações realizadas executando o comando gcloud app deploy forem concluídas, execute o comando gcloud app browse:
  15. gcloud app browse
  16. Clique no link gerado para conferir o aplicativo de exemplo em execução no ambiente flexível do App Engine. Esse ambiente está conectado ao Cloud SQL.
  17. Ver o app de exemplo implantado.

Criar e fazer o download dos certificados SSL e do servidor SSL

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Clique em quickstart-instance para ver a página Visão geral correspondente.
  3. Clique na guia Conexões.
  4. Na seção Segurança, clique em Criar certificado do cliente.
  5. Na caixa de diálogo Criar um certificado do cliente, insira quickstart-key como o nome e clique em Criar.
  6. Na caixa de diálogo Novo certificado SSL criado, clique em cada link de download para fazer o download dos certificados. Clique em Fechar.

Criar um aplicativo de amostra com certificados SSL

  1. No editor do Cloud Shell, abra o código-fonte do aplicativo de amostra.
    Abra o editor do Cloud Shell
  2. Na caixa de diálogo Abrir no Cloud Shell, clique em Confirmar para baixar o código do aplicativo de exemplo e abrir o diretório desse aplicativo no editor do Cloud Shell.
  3. No prompt de comando do Cloud Shell, execute o seguinte comando para ativar o projeto:
    gcloud config set project YOUR-PROJECT-ID
  4. Se a caixa de diálogo Autorizar o Cloud Shell for exibida, clique em Autorizar.
  5. Faça upload dos arquivos de certificados SSL para a pasta certs.
    1. No menu de navegação do Explorer do Cloud Shell Editor, navegue até a pasta python-docs-samples/cloud-sql/postgres/sqlalchemy/certs.
    2. Clique com o botão direito do mouse na pasta certs no editor do Cloud Shell e selecione Upload Files.
    3. Selecione os seguintes arquivos na máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    4. Com os três arquivos de certificado SSL selecionados, clique em Abrir para concluir o processo de upload dos arquivos para o editor do Cloud Shell.
  6. No menu de navegação do Explorer do Cloud Shell Editor, clique no nó expansível que é o nome de usuário da sua conta Google Cloud .
  7. Navegue até o arquivo cloudshell_open/python-docs-samples/cloud-sql/postgres/sqlalchemy/app.flexible.yaml e abra-o.
  8. Copie e cole o seguinte código no arquivo, substituindo o conteúdo dele:
  9. runtime: custom
    env: flex
    entrypoint: gunicorn -b :$PORT app:appentrypoint: gunicorn -b :$PORT app:app
    
    env_variables:
      DB_USER: quickstart-user
      DB_PASS: YOUR_DB_PASSWORD
      DB_NAME: quickstart-db
      DB_PORT: 5432
      INSTANCE_HOST: INSTANCE_HOST
      DB_ROOT_CERT: certs/server-ca.pem
      DB_CERT: certs/client-cert.pem
      DB_KEY: certs/client-key.pem
      PRIVATE_IP: TRUE
    
    vpc_access_connector:
      name: projects/PROJECT_ID/locations/us-central1/connectors/quickstart-connector
  10. Faça as seguintes substituições de variáveis:
    • YOUR_DB_PASSWORD pela senha de quickstart-user que você criou em Criar um usuário.
    • INSTANCE_HOST pelo endereço IP particular da instância que aparece na página Instâncias do Cloud SQL no console Google Cloud .
    • PROJECT_ID pelo ID do projeto.
  11. No prompt de comando do Cloud Shell, no diretório cloudshell_open/python-docs-samples/cloud-sql/postgres/sqlalchemy, execute o seguinte comando gcloud app deploy para implantar o aplicativo de exemplo no ambiente flexível do App Engine.
  12. gcloud app deploy app.flexible.yaml
  13. Quando a mensagem Você quer continuar? aparecer, digite Y.
  14. Depois que as ações realizadas executando o comando gcloud app deploy forem concluídas, execute o comando gcloud app browse:
  15. gcloud app browse
  16. Clique no link gerado para conferir o aplicativo de exemplo em execução no ambiente flexível do App Engine. Esse ambiente está conectado ao Cloud SQL.
  17. Ver o app de exemplo implantado.

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Selecione a instância quickstart-instance para abrir a página Detalhes da instância.
  3. Na barra de ícones na parte superior da página, clique em Excluir.
  4. Na caixa de diálogo Excluir instância, digite quickstart-instance e clique em Excluir para excluir a instância. Desativar o app impedirá que ele execute instâncias e atenda a solicitações. Se o aplicativo estiver processando uma solicitação, ele a concluirá antes de ser desativado.

Para desativar um aplicativo do App Engine e manter os dados dele, faça o seguinte:

  1. No console do Google Cloud, acesse a página Configurações:

    Acesse configurações

  2. Na guia Configurações do aplicativo, clique em Desativar aplicativo.

  3. No campo ID do app, insira o ID do aplicativo que você quer desativar e clique em Desativar.

Etapas de limpeza opcionais

Se você não estiver usando o papel Cliente do Cloud SQL que foi atribuído à conta de serviço do Compute Engine, será possível removê-lo.

  1. No console do Google Cloud, abra a página IAM.

    Acessar IAM

  2. Clique no ícone de edição (que parece com um lápis) da conta do IAM chamada conta de serviço padrão do Compute Engine.
  3. Exclua o papel Cliente do Cloud SQL.
  4. Clique em Salvar.

Se você não estiver usando as APIs que foram ativadas como parte deste guia de início rápido, é possível desativá-las.

  • APIs que foram ativadas neste guia de início rápido:
    • API Compute Engine
    • API Cloud SQL Admin
    • API Cloud Run
    • API Container Registry
    • API Cloud Build
  1. No Console do Google Cloud, acesse a página APIs.

    Acesse APIs

  2. Selecione qualquer API que você quer desativar e clique no botão Desativar API.

A seguir

Com base nas suas necessidades, é possível saber mais sobre como criar instâncias do Cloud SQL.

Também é possível aprender a criar usuários do PostgreSQL e bancos de dados para sua instância do Cloud SQL.

Para mais informações sobre preços, consulte Preços do Cloud SQL para PostgreSQL.

Saiba mais sobre estas situações:

  • Como configurar sua instância do Cloud SQL com um endereço IP público.
  • Como configurar sua instância do Cloud SQL com um endereço IP privado.

Além disso, é possível aprender a se conectar a uma instância do Cloud SQL usando outros produtos do Google Cloud, como: