Conectar-se ao Cloud SQL para MySQL pelas funções do Cloud Run

Saiba como implantar um app de exemplo nas funções do Cloud Run conectado a uma instância do MySQL 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 Cloud Run functions.

    Clique em Ativar APIs para ativar as APIs necessárias para este guia de início rápido.

    Ative as APIs

    Isso permite as seguintes APIs:

    • API Funções do Cloud Run
    • API Cloud SQL Admin
    • API Cloud Run Admin
    • API Cloud Build
    • API Artifact Registry
    • API Eventarc
    • API Compute Engine
    • API Service Networking
    • API Cloud Logging

    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 cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com

    Esse comando ativa as seguintes APIs:

    • API Funções do Cloud Run
    • API Cloud SQL Admin
    • API Cloud Run
    • API Cloud Build
    • API Artifact Registry
    • API Eventarc
    • API Compute Engine
    • API Service Networking
    • API Cloud Logging
  5. Adicione o papel do IAM Invocador do Cloud Run functions ao seu usuário.

    Adicionar o papel

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 MySQL.
  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 raiz. 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=MYSQL_8_0 \
--cpu=1 \
--memory=4GB \
--region=us-central1 \
--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 MySQL.
  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 raiz. 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 Ativar SSL, clique em Ativar e reiniciar 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=MYSQL_8_0 \
    --cpu=1 \
    --memory=4GB \
    --region=us-central1 \
    --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 Criar um banco de dados, insira quickstart-db. Deixe os valores do conjunto de caracteres e da ordenação.
    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. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. No menu de navegação SQL, selecione Usuários.
  4. Clique em Adicionar conta de usuário.
    • Na página Adicionar uma conta de usuário da quickstart-instance, adicione as seguintes informações:
      • No campo Nome de usuário, digite quickstart-user.
      • 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.
  5. Clique em Adicionar.

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

  1. DB_PASS 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=DB_PASS

Os limites de tamanho de nome de usuário são os mesmos do Cloud SQL e do MySQL no local. O limite é de 32 caracteres no MySQL 8.0 e posteriores e 16 caracteres nas versões anteriores.

Configurar uma conta de serviço do Cloud Run functions

Configure a conta de serviço usada pelo Cloud Run functions para que ela tenha o papel Cliente do Cloud SQL com 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 Compute 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 Compute Engine.
  3. Execute o seguinte comando para adicionar o papel Cliente do Cloud SQL à conta de serviço do Compute Engine:
    gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/cloudsql.client"

Criar uma função

  1. No console do Google Cloud, acesse a página das funções do Cloud Run.

    Acessar as funções do Cloud Run

  2. Clique em Criar função.
  3. Em Ambiente, selecione 2a geração.
  4. No campo Nome da função, insira quickstart-function.
  5. Na região Autenticação, selecione Permitir invocações não autenticadas.
  6. Clique em Próxima.
  7. No menu Ambiente de execução, selecione uma das seguintes linguagens:
  8. Linguagem Número da versão
    Go 1.20
    Java 17
    Node.js 18
    Python 3.10
  9. No menu Código-fonte, verifique se o Editor in-line está selecionado. Nesta etapa, você vai usar a função padrão fornecida no editor.

implantar a função

  1. Na parte de baixo da página do Cloud Run functions, clique em Implantar. O console Google Cloud redireciona você para a página de detalhes da função.
  2. Quando a implantação da função estiver concluída, clique no link URL para ver um navegador da Web que exibe a mensagem Hello, World!.

Implantar o app de exemplo do Cloud SQL como uma função

Você configura e implanta o app de exemplo do Cloud SQL como uma função no Cloud Run functions. Primeiro, use o Cloud Shell para configurar e criar o app de exemplo. Em seguida, você usará o Cloud Run functions para implantar o app de exemplo.

Há duas maneiras de configurar, criar e implantar o app dependendo se você criou uma instância do Cloud SQL para MySQL com um IP público ou um IP particular.

Configurar um app de exemplo do Cloud SQL

IP público

Para caminhos de IP público, o Cloud Run functions fornece criptografia e se conecta usando o proxy Cloud SQL Auth por meio de soquetes Unix.
  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, na metade inferior da tela, abaixo do editor do Cloud Shell, execute o comando a seguir para ativar o projeto. Substitua YOUR_PROJECT_ID pelo ID do 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. Execute o seguinte comando gcloud artifacts repositories create no Cloud Shell para criar um repositório no Artifact Registry chamado quickstart-repo na mesma região da sua instância do Cloud SQL. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Execute o comando gcloud builds submit da seguinte maneira no Cloud Shell para criar um contêiner do Docker e publicá-lo no Artifact Registry. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. No gen2 do Cloud Run functions, não é possível configurar e executar o proxy do Cloud SQL Auth automaticamente. Essa funcionalidade é compatível com o uso do Cloud Run. Para configurar e executar o proxy do Cloud SQL Auth com o serviço, use a flag --add-cloudsql-instances para revisar manualmente o serviço subjacente do Cloud Run. Substitua INSTANCE_CONNECTION_NAME pelo nome da conexão da instância.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  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, na metade inferior da tela, abaixo do editor do Cloud Shell, execute o comando a seguir para ativar o projeto. Substitua YOUR_PROJECT_ID pelo ID do 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. Execute o seguinte comando gcloud artifacts repositories create no Cloud Shell para criar um repositório no Artifact Registry chamado quickstart-repo na mesma região da sua instância do Cloud SQL. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Execute o comando mvn da seguinte maneira no Cloud Shell para criar um contêiner do Docker e publicá-lo no Artifact Registry. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
      -Dimage=YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql \
      -DskipTests -Djib.to.credHelper=gcloud
  7. No gen2 do Cloud Run functions, não é possível configurar e executar o proxy do Cloud SQL Auth automaticamente. Essa funcionalidade é compatível com o uso do Cloud Run. Para configurar e executar o proxy do Cloud SQL Auth com o serviço, use a flag --add-cloudsql-instances para revisar manualmente o serviço subjacente do Cloud Run. Substitua INSTANCE_CONNECTION_NAME pelo nome da conexão da instância.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  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, na metade inferior da tela, abaixo do editor do Cloud Shell, execute o comando a seguir para ativar o projeto. Substitua YOUR_PROJECT_ID pelo ID do 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. Execute o seguinte comando gcloud artifacts repositories create no Cloud Shell para criar um repositório no Artifact Registry chamado quickstart-repo na mesma região da sua instância do Cloud SQL. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Execute o comando gcloud builds submit da seguinte maneira no Cloud Shell para criar um contêiner do Docker e publicá-lo no Artifact Registry. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. No gen2 do Cloud Run functions, não é possível configurar e executar o proxy do Cloud SQL Auth automaticamente. Essa funcionalidade é compatível com o uso do Cloud Run. Para configurar e executar o proxy do Cloud SQL Auth com o serviço, use a flag --add-cloudsql-instances para revisar manualmente o serviço subjacente do Cloud Run. Substitua INSTANCE_CONNECTION_NAME pelo nome da conexão da instância.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  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, na metade inferior da tela, abaixo do editor do Cloud Shell, execute o comando a seguir para ativar o projeto. Substitua YOUR_PROJECT_ID pelo ID do 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. Execute o seguinte comando gcloud artifacts repositories create no Cloud Shell para criar um repositório no Artifact Registry chamado quickstart-repo na mesma região da sua instância do Cloud SQL. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Execute o comando gcloud builds submit da seguinte maneira no Cloud Shell para criar um contêiner do Docker e publicá-lo no Artifact Registry. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. No gen2 do Cloud Run functions, não é possível configurar e executar o proxy do Cloud SQL Auth automaticamente. Essa funcionalidade é compatível com o uso do Cloud Run. Para configurar e executar o proxy do Cloud SQL Auth com o serviço, use a flag --add-cloudsql-instances para revisar manualmente o serviço subjacente do Cloud Run. Substitua INSTANCE_CONNECTION_NAME pelo nome da conexão da instância.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
Para caminhos de IP privados, o aplicativo se conecta diretamente à instância por meio do acesso VPC sem servidor. Esse método usa um soquete TCP para se conectar diretamente à instância do Cloud SQL sem usar o proxy do Cloud SQL Auth.

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 uma conexão VPC sem servidor para conexões com a instância via IP privado

  1. No console do Google Cloud, acesse a página Acesso VPC sem servidor - Criar conector.

    Criar conector de VPC sem servidor

  2. Insira quickstart-connector como nome.
  3. Selecione padrão no menu suspenso Rede.
  4. Selecione Intervalo de IPs personalizado no menu suspenso Sub-rede.
  5. Digite 10.8.0.0 na caixa de entrada Intervalo de IP.
  6. Clique em Criar para criar o conector.

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 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, na metade inferior da tela, abaixo do editor do Cloud Shell, execute o comando a seguir para ativar o projeto. Substitua YOUR_PROJECT_ID pelo ID do 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. Clique com o botão direito do mouse na pasta certs no editor do Cloud Shell e selecione Upload Files.
    2. Selecione os seguintes arquivos na máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. 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. Execute o seguinte comando gcloud artifacts repositories create no Cloud Shell para criar um repositório no Artifact Registry chamado quickstart-repo na mesma região da sua instância do Cloud SQL. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  7. Execute o comando gcloud builds submit da seguinte maneira no Cloud Shell para criar um contêiner do Docker e publicá-lo no Artifact Registry. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  8. No gen2 do Cloud Run functions, não é possível configurar e executar o proxy do Cloud SQL Auth automaticamente. Essa funcionalidade é compatível com o uso do Cloud Run. Para configurar e executar o proxy do Cloud SQL Auth com o serviço, use a flag --add-cloudsql-instances para revisar manualmente o serviço subjacente do Cloud Run. Substitua INSTANCE_CONNECTION_NAME pelo nome da conexão da instância.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

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 uma conexão VPC sem servidor para conexões com a instância via IP privado

  1. No console do Google Cloud, acesse a página Acesso VPC sem servidor - Criar conector.

    Criar conector de VPC sem servidor

  2. Insira quickstart-connector como nome.
  3. Selecione padrão no menu suspenso Rede.
  4. Selecione Intervalo de IPs personalizado no menu suspenso Sub-rede.
  5. Digite 10.8.0.0 na caixa de entrada Intervalo de IP.
  6. Clique em Criar para criar o conector.

Criar aplicativo de amostra

  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, na metade inferior da tela, abaixo do editor do Cloud Shell, execute o comando a seguir para ativar o projeto. Substitua YOUR_PROJECT_ID pelo ID do 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. Execute o seguinte comando gcloud artifacts repositories create no Cloud Shell para criar um repositório no Artifact Registry chamado quickstart-repo na mesma região da sua instância do Cloud SQL. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Execute o comando mvn da seguinte maneira no Cloud Shell para criar um contêiner do Docker e publicá-lo no Artifact Registry. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
      -Dimage=YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql \
      -DskipTests -Djib.to.credHelper=gcloud
  7. No gen2 do Cloud Run functions, não é possível configurar e executar o proxy do Cloud SQL Auth automaticamente. Essa funcionalidade é compatível com o uso do Cloud Run. Para configurar e executar o proxy do Cloud SQL Auth com o serviço, use a flag --add-cloudsql-instances para revisar manualmente o serviço subjacente do Cloud Run. Substitua INSTANCE_CONNECTION_NAME pelo nome da conexão da instância.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

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 uma conexão VPC sem servidor para conexões com a instância via IP privado

  1. No console do Google Cloud, acesse a página Acesso VPC sem servidor - Criar conector.

    Criar conector de VPC sem servidor

  2. Insira quickstart-connector como nome.
  3. Selecione padrão no menu suspenso Rede.
  4. Selecione Intervalo de IPs personalizado no menu suspenso Sub-rede.
  5. Digite 10.8.0.0 na caixa de entrada Intervalo de IP.
  6. Clique em Criar para criar o conector.

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 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, na metade inferior da tela, abaixo do editor do Cloud Shell, execute o comando a seguir para ativar o projeto. Substitua YOUR_PROJECT_ID pelo ID do projeto.
    gcloud config set project YOUR_PROJECT_ID
  4. Faça upload dos arquivos de certificados SSL para a pasta certs.
    1. Clique com o botão direito do mouse na pasta certs no editor do Cloud Shell e selecione Upload Files.
    2. Selecione os seguintes arquivos na máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. 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.
  5. Execute o seguinte comando gcloud artifacts repositories create no Cloud Shell para criar um repositório no Artifact Registry chamado quickstart-repo na mesma região da sua instância do Cloud SQL. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Execute o comando gcloud builds submit da seguinte maneira no Cloud Shell para criar um contêiner do Docker e publicá-lo no Artifact Registry. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. No gen2 do Cloud Run functions, não é possível configurar e executar o proxy do Cloud SQL Auth automaticamente. Essa funcionalidade é compatível com o uso do Cloud Run. Para configurar e executar o proxy do Cloud SQL Auth com o serviço, use a flag --add-cloudsql-instances para revisar manualmente o serviço subjacente do Cloud Run. Substitua INSTANCE_CONNECTION_NAME pelo nome da conexão da instância.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

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 uma conexão VPC sem servidor para conexões com a instância via IP privado

  1. No console do Google Cloud, acesse a página Acesso VPC sem servidor - Criar conector.

    Criar conector de VPC sem servidor

  2. Insira quickstart-connector como nome.
  3. Selecione padrão no menu suspenso Rede.
  4. Selecione Intervalo de IPs personalizado no menu suspenso Sub-rede.
  5. Digite 10.8.0.0 na caixa de entrada Intervalo de IP.
  6. Clique em Criar para criar o conector.

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 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, na metade inferior da tela, abaixo do editor do Cloud Shell, execute o comando a seguir para ativar o projeto. Substitua YOUR_PROJECT_ID pelo ID do projeto.
    gcloud config set project YOUR_PROJECT_ID
  4. Faça upload dos arquivos de certificados SSL para a pasta certs.
    1. Clique com o botão direito do mouse na pasta certs no editor do Cloud Shell e selecione Upload Files.
    2. Selecione os seguintes arquivos na máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. 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.
  5. Execute o seguinte comando gcloud artifacts repositories create no Cloud Shell para criar um repositório no Artifact Registry chamado quickstart-repo na mesma região da sua instância do Cloud SQL. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Execute o comando gcloud builds submit da seguinte maneira no Cloud Shell para criar um contêiner do Docker e publicá-lo no Artifact Registry. Substitua YOUR_PROJECT_ID pelo ID do projeto e YOUR_REGION_NAME pelo nome da região.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. No gen2 do Cloud Run functions, não é possível configurar e executar o proxy do Cloud SQL Auth automaticamente. Essa funcionalidade é compatível com o uso do Cloud Run. Para configurar e executar o proxy do Cloud SQL Auth com o serviço, use a flag --add-cloudsql-instances para revisar manualmente o serviço subjacente do Cloud Run. Substitua INSTANCE_CONNECTION_NAME pelo nome da conexão da instância.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

Implantar o app de exemplo

As etapas para implantar o exemplo no Cloud Run functions dependem do tipo de endereço IP atribuído à instância do Cloud SQL.

IP público

  1. No console do Google Cloud, acesse a página das funções do Cloud Run.

    Acessar as funções do Cloud Run

  2. Selecione o quickstart-function que você criou em uma etapa anterior deste guia de início rápido.
  3. Na página Detalhes da função, clique no link do painel Powered by Cloud Run para acessar o serviço subjacente do Cloud Run functions.
  4. Clique em Editar e implantar nova versão.
  5. No campo URL da imagem do contêiner, clique em Selecionar.
    1. Selecione a guia Artifact Registry e expanda o nó quickstart-repo.
    2. Expanda o contêiner function-sql e selecione a imagem dele que você criou na etapa anterior.
    3. Clique em Selecionar.
  6. Para criar as variáveis de ambiente a seguir, clique em Adicionar variável na seção Variáveis de ambiente:
    • INSTANCE_UNIX_SOCKET: defina como /cloudsql/YOUR_PROJECT_ID:YOUR_REGION_NAME:quickstart-instance.
    • DB_NAME: defina como quickstart-db;
    • DB_USER: defina como quickstart-user;
    • DB_PASS: defina a senha do quickstart-user especificada na etapa anterior do guia de início rápido Criar um usuário.
  7. Ative a conexão com o Cloud SQL:

    1. Na seção Conexões do Cloud SQL, clique em Adicionar conexão.
    2. Selecione o nome da conexão da instância.
  8. Na parte inferior da página, clique em Implantar.
  9. Após a implantação do quickstart-function, a página quickstart-function mostra um URL para o serviço em execução. Clique no link URL para conferir o app de exemplo do Cloud Run functions implantado e conectado ao Cloud SQL. O app será semelhante a este:

    Ver o app de exemplo implantado.

  1. Para implantar uma função gen2 no Cloud Run functions, execute o seguinte comando gcloud functions deploy. Antes de executar o comando, atualize as seguintes variáveis:
    • YOUR_REGION_NAME pelo nome da região
    • INSTANCE_CONNECTION_NAME com o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud

    • DB_PASS pela senha do quickstart-user que você criou na etapa anterior do guia de início rápido Criar um usuário

    Execute o comando gcloud functions deploy da seguinte maneira para criar Cloud Run functions:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Quando você acessar uma mensagem de confirmação de que o Cloud Run functions foi implantado, clique no link URL de serviço na mensagem para ver o aplicativo de amostra do Cloud Run functions implantado conectado ao Cloud SQL.

    Ver o app de exemplo implantado.

  1. Para implantar uma função gen2 no Cloud Run functions, execute o seguinte comando gcloud functions deploy. Antes de executar o comando, atualize as seguintes variáveis:
    • YOUR_REGION_NAME pelo nome da região
    • INSTANCE_CONNECTION_NAME com o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud

    • DB_PASS pela senha do quickstart-user que você criou na etapa anterior do guia de início rápido Criar um usuário

    Execute o comando gcloud functions deploy da seguinte maneira para criar Cloud Run functions:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Quando você acessar uma mensagem de confirmação de que o Cloud Run functions foi implantado, clique no link URL de serviço na mensagem para ver o aplicativo de amostra do Cloud Run functions implantado conectado ao Cloud SQL.

    Ver o app de exemplo implantado.

  1. Para implantar uma função gen2 no Cloud Run functions, execute o seguinte comando gcloud functions deploy. Antes de executar o comando, atualize as seguintes variáveis:
    • YOUR_REGION_NAME pelo nome da região
    • INSTANCE_CONNECTION_NAME com o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud

    • DB_PASS pela senha do quickstart-user que você criou na etapa anterior do guia de início rápido Criar um usuário

    Execute o comando gcloud functions deploy da seguinte maneira para criar Cloud Run functions:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Quando você acessar uma mensagem de confirmação de que o Cloud Run functions foi implantado, clique no link URL de serviço na mensagem para ver o aplicativo de amostra do Cloud Run functions implantado conectado ao Cloud SQL.

    Ver o app de exemplo implantado.

  1. Para implantar uma função gen2 no Cloud Run functions, execute o seguinte comando gcloud functions deploy. Antes de executar o comando, atualize as seguintes variáveis:
    • YOUR_REGION_NAME pelo nome da região
    • INSTANCE_CONNECTION_NAME com o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud

    • DB_PASS pela senha do quickstart-user que você criou na etapa anterior do guia de início rápido Criar um usuário

    Execute o comando gcloud functions deploy da seguinte maneira para criar Cloud Run functions:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Quando você acessar uma mensagem de confirmação de que o Cloud Run functions foi implantado, clique no link URL de serviço na mensagem para ver o aplicativo de amostra do Cloud Run functions implantado conectado ao Cloud SQL.

    Ver o app de exemplo implantado.

  1. No console do Google Cloud, acesse a página das funções do Cloud Run.

    Acessar as funções do Cloud Run

  2. Selecione o quickstart-function que você criou em uma etapa anterior deste guia de início rápido.
  3. Na página Detalhes da função, clique no link do painel Powered by Cloud Run para acessar o serviço subjacente do Cloud Run functions.
  4. Clique em Editar e implantar nova versão.
  5. No campo URL da imagem do contêiner, clique em Selecionar.
    1. Selecione a guia Artifact Registry e expanda o nó quickstart-repo.
    2. Expanda o contêiner function-sql e selecione a imagem dele que você criou na etapa anterior.
    3. Clique em Selecionar.
  6. Para criar as variáveis de ambiente a seguir, clique em Adicionar variável na seção Variáveis de ambiente:
    • Defina DB_NAME como quickstart-db.
    • DB_USER: defina como quickstart-user.
    • DB_PASS: defina como a senha do quickstart-user especificado na etapa anterior do guia de início rápido Criar um usuário.
    • INSTANCE_CONNECTION_NAME: defina o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud.
    • Defina DB_PORT como 3306.
    • INSTANCE_HOST: defina o endereço de IP particular da instância exibido na página Instâncias do Cloud SQL no Console do Google Cloud.
    • Defina DB_ROOT_CERT como certs/server-ca.pem.
    • DB_CERT: defina como certs/client-cert.pem.
    • DB_KEY: defina como certs/client-key.pem.
    • PRIVATE_IP: defina como TRUE.
  7. Ative a conexão com o Cloud SQL:

    1. Na seção Conexões do Cloud SQL, clique em Adicionar conexão.
    2. Selecione o nome da conexão da instância.
    3. Selecione default: Serverless VPC Access Connector "quickstart-connector" no menu suspenso Rede VPC.
    4. Selecione a opção Rotear todo o tráfego pelo conector VPC.
  8. Na parte inferior da página, clique em Implantar.
  9. Após a implantação do quickstart-function, a página quickstart-function mostra um URL para o serviço em execução. Clique no link URL para conferir o app de exemplo do Cloud Run functions implantado e conectado ao Cloud SQL. O app será semelhante a este:

    Ver o app de exemplo implantado

  1. Para implantar uma função gen2 no Cloud Run functions, execute o seguinte comando gcloud functions deploy. Antes de executar o comando, atualize as seguintes variáveis:
    • YOUR_REGION_NAME pelo nome da região
    • PRIVATE_IP_ADDRESS pelo endereço de IP particular da instância exibido na página Instâncias do Cloud SQL no console do Google Cloud.
    • DB_PASS pela senha do quickstart-user que você criou na etapa anterior do guia de início rápido Criar um usuário
    • INSTANCE_CONNECTION_NAME com o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud

    Execute o comando gcloud functions deploy da seguinte maneira para criar Cloud Run functions:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime go120 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point Votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=3306 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Os usuários de Java devem executar gcloud functions deploy sem o INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY e PRIVATE_IP da seguinte forma, para criar o Cloud Run functions porque o conector Java já fornece uma conexão segura:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime go120 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point Votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Quando você acessar uma mensagem de confirmação de que o Cloud Run functions foi implantado, clique no link URL de serviço na mensagem para ver o aplicativo de amostra do Cloud Run functions implantado conectado ao Cloud SQL.

    Ver o app de amostra implantado

  1. Para implantar uma função gen2 no Cloud Run functions, execute o seguinte comando gcloud functions deploy. Antes de executar o comando, atualize as seguintes variáveis:
    • YOUR_REGION_NAME pelo nome da região
    • PRIVATE_IP_ADDRESS pelo endereço de IP particular da instância exibido na página Instâncias do Cloud SQL no console do Google Cloud.
    • DB_PASS pela senha do quickstart-user que você criou na etapa anterior do guia de início rápido Criar um usuário
    • INSTANCE_CONNECTION_NAME com o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud

    Execute o comando gcloud functions deploy da seguinte maneira para criar Cloud Run functions:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime java11 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point com.example.cloudsql.functions.Main \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=3306 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Os usuários de Java devem executar gcloud functions deploy sem o INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY e PRIVATE_IP da seguinte forma, para criar o Cloud Run functions porque o conector Java já fornece uma conexão segura:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime java11 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point com.example.cloudsql.functions.Main \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Quando você acessar uma mensagem de confirmação de que o Cloud Run functions foi implantado, clique no link URL de serviço na mensagem para ver o aplicativo de amostra do Cloud Run functions implantado conectado ao Cloud SQL.

    Ver o app de amostra implantado

  1. Para implantar uma função gen2 no Cloud Run functions, execute o seguinte comando gcloud functions deploy. Antes de executar o comando, atualize as seguintes variáveis:
    • YOUR_REGION_NAME pelo nome da região
    • PRIVATE_IP_ADDRESS pelo endereço de IP particular da instância exibido na página Instâncias do Cloud SQL no console do Google Cloud.
    • DB_PASS pela senha do quickstart-user que você criou na etapa anterior do guia de início rápido Criar um usuário
    • INSTANCE_CONNECTION_NAME com o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud

    Execute o comando gcloud functions deploy da seguinte maneira para criar Cloud Run functions:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime nodejs18 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=3306 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Os usuários de Java devem executar gcloud functions deploy sem o INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY e PRIVATE_IP da seguinte forma, para criar o Cloud Run functions porque o conector Java já fornece uma conexão segura:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime nodejs18 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Quando você acessar uma mensagem de confirmação de que o Cloud Run functions foi implantado, clique no link URL de serviço na mensagem para ver o aplicativo de amostra do Cloud Run functions implantado conectado ao Cloud SQL.

    Ver o app de amostra implantado

  1. Para implantar uma função gen2 no Cloud Run functions, execute o seguinte comando gcloud functions deploy. Antes de executar o comando, atualize as seguintes variáveis:
    • YOUR_REGION_NAME pelo nome da região
    • PRIVATE_IP_ADDRESS pelo endereço de IP particular da instância exibido na página Instâncias do Cloud SQL no console do Google Cloud.
    • DB_PASS pela senha do quickstart-user que você criou na etapa anterior do guia de início rápido Criar um usuário
    • INSTANCE_CONNECTION_NAME com o Nome da conexão da instância que aparece na página Instâncias do Cloud SQL no console do Google Cloud

    Execute o comando gcloud functions deploy da seguinte maneira para criar Cloud Run functions:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime python310 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=3306 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Os usuários de Java devem executar gcloud functions deploy sem o INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY e PRIVATE_IP da seguinte forma, para criar o Cloud Run functions porque o conector Java já fornece uma conexão segura:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime python310 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Quando você acessar uma mensagem de confirmação de que o Cloud Run functions foi implantado, clique no link URL de serviço na mensagem para ver o aplicativo de amostra do Cloud Run functions implantado conectado ao Cloud SQL.

    Ver o app de amostra 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.
  5. No console do Google Cloud, acesse a página das funções do Cloud Run.

    Acessar as funções do Cloud Run

  6. Marque a caixa de seleção ao lado do nome do serviço do quickstart-function.
  7. Clique em Excluir na parte de cima da página do Cloud Run functions.

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 MySQL 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 MySQL.

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 aplicativos do Google Cloud, como: