Conectar-se ao Cloud SQL para MySQL pelo Cloud Run

Saiba como implantar um app de amostra no Cloud Run conectado a uma instância do MySQL usando o Console do Google Cloud e um aplicativo do 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).


Para seguir as instruções detalhadas desta tarefa diretamente no console do Google Cloud, clique em Orientação:

Orientações


Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  6. Ative as APIs do Cloud necessárias para executar um app de amostra do Cloud SQL no Cloud Run.

    Console

    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 Compute Engine
    • API Cloud SQL Admin
    • API Cloud Run
    • API Container Registry
    • API Cloud Build
    • API Service Networking

    gcloud

    Clique no botão a seguir para abrir o Cloud Shell, que fornece acesso de linha de comando aos recursos do 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 compute.googleapis.com sqladmin.googleapis.com run.googleapis.com \
    containerregistry.googleapis.com cloudbuild.googleapis.com servicenetworking.googleapis.com

    Esse comando ativa as seguintes APIs:

    • API Compute Engine
    • API Cloud SQL Admin
    • API Cloud Run
    • API Container Registry
    • API Cloud Build
    • API Service Networking

Configurar o Cloud SQL

crie uma instância do Cloud SQL

Crie um banco de dados

Console

  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.

gcloud

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

Console

  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. Selecione Usuários no menu de navegação do SQL.
  4. Clique em Adicionar conta de usuário.
    • Na página Adicionar uma conta de usuário à instância instance_name, adicione as seguintes informações:
      • Nome de usuário: defina como quickstart-user;
      • Senha: 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.
      • Na seção Nome do host, o padrão é Permitir qualquer host, o que significa que o usuário pode se conectar de qualquer endereço IP.

        Opcionalmente, selecione Restringir host por endereço IP ou intervalo de endereços e insira um endereço IP ou intervalo de endereços na seção Host. Assim, o usuário só poderá se conectar pelo endereço IP especificado.

  5. Clique em Add.

gcloud

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 do Cloud SQL e do MySQL no local. O limite é de 32 caracteres no MySQL 8.0 e 16 caracteres nas versões anteriores.

Implantar um app de amostra no Cloud Run

Configurar uma conta de serviço do Cloud Run

Configure a conta de serviço usada pelo Cloud Run para que ela tenha o papel Cliente do Cloud SQL com permissões para se conectar ao Cloud SQL.

Console

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

gcloud

  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"

Configurar um app de amostra do Cloud SQL

Agora é possível configurar um aplicativo de amostra para se conectar à instância do Cloud SQL usando uma instância, um banco de dados e uma conta de serviço do Cloud SQL com permissões de cliente.

Implantar o app de exemplo

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

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 do Cloud Run.

    Acesse o Cloud Run

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

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

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 sobre como 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: