Ligue-se a uma instância do Cloud SQL para MySQL com IP privado

Esta página mostra como criar e estabelecer ligação a uma instância do MySQL através de um IP privado. Os recursos criados neste início rápido custam normalmente menos de 1 euro, desde que conclua os passos, incluindo a limpeza, atempadamente.


Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:

Visita guiada


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.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Ative as APIs Google Cloud necessárias.

    Consola

    Na Google Cloud consola, aceda à página APIs.

    Aceder às APIs

    Ative a API Admin do Cloud SQL. Ao ativar esta API, pode executar o proxy Auth do Cloud SQL.

    gcloud

    Clique no botão seguinte para abrir o Cloud Shell, que oferece acesso à linha de comandos aos seus Google Cloud recursos diretamente a partir do navegador. Pode usar o Cloud Shell para executar os comandos gcloud apresentados ao longo deste início rápido.

    Abra o Cloud Shell

    Execute o comando gcloud services enable da seguinte forma através da Cloud Shell para ativar as APIs necessárias para este início rápido:

    gcloud services enable sqladmin.googleapis.com

    Este comando ativa as seguintes APIs:

    • API Cloud SQL Admin. Ao ativar esta API, pode executar o proxy Auth do Cloud SQL.

Vista geral

Existem várias formas de estabelecer ligação a uma instância do Cloud SQL com um endereço IP privado, dependendo da localização da origem. O fator principal é que a máquina de origem tem de estar na mesma rede de VPC que a instância do Cloud SQL. Se a origem não estiver no Google Cloud mesmo Google Cloud projeto, tem de configurar a conetividade de forma diferente da que apresentamos aqui.

Neste início rápido, configuramos a conetividade através do caminho mais direto. A origem e o destino estão no mesmo Google Cloud projeto e na mesma rede de VPC. Criamos uma instância do Cloud SQL com um endereço IP privado (o destino) e uma VM do Compute Engine (a origem). Usamos a VM para instalar e usar as ferramentas necessárias para estabelecer ligação da VM à instância do Cloud SQL.

Realize as seguintes ações:

  1. Crie uma instância do Cloud SQL com um endereço IP privado.

    Encontre e guarde o connection name da instância para utilização posterior.

  2. Crie uma VM do Compute Engine.
  3. Abra duas ligações SSH à VM do Compute Engine.

    Vai usar a primeira janela para instalar o mysql e instalar e iniciar o proxy Auth do Cloud SQL. Em seguida, vai usar a segunda janela para estabelecer ligação à instância do Cloud SQL estabelecendo ligação ao proxy Auth do Cloud SQL.

  4. Na janela de SSH n.º 1, faça o seguinte:
    1. Instale o cliente mysql.
    2. Instale o proxy Auth do Cloud SQL.

      O proxy Auth do Cloud SQL funciona como um conetor entre o cliente mysql e a instância do Cloud SQL.

    3. Inicie o proxy Auth do Cloud SQL.

      Se for bem-sucedido, o proxy Auth do Cloud SQL fica à escuta de pedidos de ligação.

  5. Na janela de SSH n.º 2, ligue-se à instância do Cloud SQL fazendo com que o cliente mysql se ligue ao proxy Auth do Cloud SQL.

    Se tiver êxito, vê o comando mysql nesta janela e uma mensagem de ligação bem-sucedida na janela de SSH n.º 1, onde o proxy Auth do Cloud SQL está em execução.

  6. Limpar.

Crie uma instância do Cloud SQL com um endereço IP privado

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Clique em Criar instância.
  3. Clique em Escolher MySQL.
  4. Se lhe for pedido que ative a API Compute, clique no botão Ativar API.
  5. Na secção Informações da instância, introduza um nome para o ID da instância.
  6. Introduza uma palavra-passe para o utilizador root. Tome nota da palavra-passe que criar, porque vai precisar dela mais tarde.
  7. Na secção Escolha a região e a disponibilidade zonal, selecione a opção Zona única.
  8. Expanda Mostrar opções de configuração.
  9. Expanda Ligações.
  10. Limpe o IP público.
  11. Selecione IP privado.
  12. No menu pendente Rede, selecione predefinição.
  13. Se estiver a usar um novo projeto, é apresentada a mensagem: Ligação de serviço privado necessária. Depois, siga estes passos:
    1. Clique em Configurar associação.
    2. Clique em Ativar API Service Networking.
    3. Na secção Atribua um intervalo de IPs, selecione Usar um intervalo de IPs atribuído automaticamente.
    4. Clique em Continuar.
    5. Clique em Criar associação e aguarde que a criação da associação seja concluída.
  14. Clique em Criar instância.

Acede à página Vista geral da instância. Clique na nova instância veja os detalhes, incluindo o respetivo endereço IP privado.

Na secção Estabeleça ligação a esta instância, copie e guarde o Nome da ligação da instância. O connection name está no formato projectID:region:instanceID.

Vai usar este connection name mais tarde quando iniciar o proxy Auth do Cloud SQL.

Crie uma VM do Compute Engine

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Clique em Criar instância.
  3. Introduza um nome para a instância.
  4. Em Âmbitos de acesso, selecione Permitir acesso total a todas as APIs Cloud.
  5. Clique em Criar e aguarde que a criação da VM seja concluída.

Abra duas ligações SSH à VM do Compute Engine

Usamos duas janelas na VM. A primeira janela é usada para instalar o cliente mysql e o proxy Auth do Cloud SQL, obter o nome de ligação da instância e usar este nome para iniciar o proxy. A segunda janela é usada para estabelecer ligação à instância do Cloud SQL através do proxy.

  1. Expanda o menu SSH na coluna Ligar para a sua instância de VM do Compute Engine.
  2. Selecione Abrir na janela do navegador para abrir a janela SSH n.º 1.

    Pode demorar alguns segundos até que o comando na janela fique disponível para si.

  3. Quando for apresentada a mensagem, introduza pwd para validar que está no diretório /home/$USER.

    Nesta janela, vai instalar o cliente mysql e o proxy Auth do Cloud SQL, bem como iniciar o proxy Auth do Cloud SQL.

  4. Selecione novamente Abrir na janela do navegador para abrir a janela SSH n.º 2.

    Vai usar esta janela para estabelecer ligação à sua instância do Cloud SQL.

Instale o cliente mysql

Use a janela de SSH n.º 1 para este passo.

Instale o cliente MySQL a partir do gestor de pacotes e pare o servidor mysqld:

sudo apt-get update
sudo apt-get install mariadb-client-10.6
  

Instale o proxy Auth do Cloud SQL

Use a janela de SSH n.º 1 para este passo.

  1. Instale wget:
    sudo apt-get install wget
        
  2. Transfira o proxy Auth do Cloud SQL:
    wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \
    -O cloud-sql-proxy
      
  3. Torne o proxy Auth do Cloud SQL executável:
    chmod +x cloud-sql-proxy
      

Inicie o proxy Auth do Cloud SQL

Use a janela de SSH n.º 1 para este passo.

Inicie o proxy Auth do Cloud SQL para poder monitorizar a respetiva saída. Substitua INSTANCE_CONNECTION_NAME pelo connection name que copiou quando criou a instância do Cloud SQL.

./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME

Quando o Proxy Auth do Cloud SQL é iniciado com êxito, é apresentada uma mensagem semelhante à seguinte na janela SSH:

Listening on 127.0.0.1:3306 for myInstance
Ready for new connections

Estabeleça ligação à sua instância do Cloud SQL

Use a janela SSH n.º 2 para este passo.

Execute o seguinte comando:

mysql -u root -p --host 127.0.0.1 --port 3306

No comando Enter password:, introduza a palavra-passe da sua conta de utilizador root do MySQL.

Verifique se é apresentado o comando do MySQL. Estabeleceu ligação à sua base de dados através do cliente mysql.

Regresse à janela do terminal onde iniciou o proxy Auth do Cloud SQL. Deve ver uma mensagem semelhante à seguinte:

New connection for myInstance

Limpar

Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Selecione a instância myinstance para abrir a página Detalhes da instância.
  3. Na barra de ícones na parte superior da página, clique em Eliminar.
  4. Na janela Eliminar instância, escreva o nome da instância e, de seguida, clique em Eliminar.

Passos de limpeza opcionais

Se não estiver a usar as APIs que foram ativadas como parte deste início rápido, pode desativá-las.

  • APIs ativadas neste guia de início rápido:
    • API Cloud SQL Admin
  1. Na Google Cloud consola, aceda à página APIs.

    Aceder às APIs

  2. Selecione a API Admin do Cloud SQL e, de seguida, clique no botão Desativar API.

  3. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  4. Selecione o nome da instância.

  5. Selecione Eliminar no menu Mais ações.

O que se segue?

Com base nas suas necessidades, pode saber mais sobre como criar instâncias do Cloud SQL.

Também pode saber como criar utilizadores do MySQL e bases de dados para a sua instância do Cloud SQL.

Além disso, pode saber como estabelecer ligação a uma instância do Cloud SQL a partir de outras Google Cloud aplicações: