Estabeleça ligação ao Cloud SQL para MySQL através do proxy Auth do Cloud SQL

Esta página mostra como estabelecer ligação ao Cloud SQL a partir de um ambiente de teste local através do proxy Auth do Cloud SQL. O proxy Auth do Cloud SQL oferece acesso seguro à sua instância do Cloud SQL sem necessidade de redes autorizadas nem de configurar SSL. Ao usar o proxy Auth do Cloud SQL, pode ligar-se à sua instância do Cloud SQL em segurança.

As instruções nesta página destinam-se apenas a um ambiente de teste e não devem ser usadas para ambientes de produção. Para mais informações sobre a configuração necessária para ambientes de produção, consulte Use o proxy Auth do Cloud SQL num ambiente de produção e Estabeleça ligação através do proxy Auth do Cloud SQL.

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.

    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
  7. Make sure that you have the following role or roles on the project: Cloud SQL Admin (roles/cloudsql.admin), Cloud SQL Viewer (roles/cloudsql.viewer)

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Aceder ao IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.

Crie uma instância do Cloud SQL

Neste início rápido, usa a Google Cloud consola. Para usar a CLI gcloud, o cURL ou o PowerShell, consulte o artigo Crie instâncias.

  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. No campo ID da instância, introduza myinstance.
  5. No campo Palavra-passe, introduza uma palavra-passe para o utilizador root.
  6. Clique em Criar instância.

    Regressa à lista de instâncias. Pode clicar imediatamente na nova instância para ver os detalhes, mas esta não vai estar disponível para outras operações até ser inicializada e iniciada.

  1. Transfira o MySQL Community Server para a sua plataforma a partir da página de transferência do MySQL Community Server.
    O servidor da comunidade inclui o cliente MySQL.
  2. Instale o servidor da comunidade seguindo as instruções na página de transferência.

Para mais informações sobre a instalação do MySQL, consulte o artigo Instalar e atualizar o MySQL.

Instale o cliente do proxy Auth do Cloud SQL

O ficheiro binário do proxy Auth do Cloud SQL que transfere depende do seu sistema operativo e se usa um kernel de 32 ou 64 bits. A maioria do hardware mais recente usa um kernel de 64 bits. Se não tiver a certeza se a sua máquina está a executar um kernel de 32 ou 64 bits, use o comando uname -a para Linux ou macOS. Para o Windows, consulte a documentação do Windows.

Linux (64 bits)

  1. Transfira o proxy Auth do Cloud SQL:
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.linux.amd64
  2. Torne o proxy Auth do Cloud SQL executável:
    chmod +x cloud-sql-proxy

Linux (32 bits)

  1. Transfira o proxy Auth do Cloud SQL:
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.linux.386
  2. Se o comando curl não for encontrado, execute sudo apt install curl e repita o comando de transferência.
  3. Torne o proxy Auth do Cloud SQL executável:
    chmod +x cloud-sql-proxy

macOS de 64 bits

  1. Transfira o proxy Auth do Cloud SQL:
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.darwin.amd64
  2. Torne o proxy Auth do Cloud SQL executável:
    chmod +x cloud-sql-proxy

Mac M1

  1. Transfira o proxy Auth do Cloud SQL:
      curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.darwin.arm64
      
  2. Torne o proxy Auth do Cloud SQL executável:
      chmod +x cloud-sql-proxy
      

Windows (64 bits)

Clique com o botão direito do rato em https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.x64.exe e selecione Guardar link como para transferir o proxy Auth do Cloud SQL. Mude o nome do ficheiro para cloud-sql-proxy.exe.

Windows (32 bits)

Clique com o botão direito do rato em https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.x86.exe e selecione Guardar link como para transferir o proxy Auth do Cloud SQL. Mude o nome do ficheiro para cloud-sql-proxy.exe.

Imagem do Docker do proxy Auth do Cloud SQL

O proxy Auth do Cloud SQL tem diferentes imagens de contentores, como distroless, alpine e buster. A imagem do contentor do proxy Auth do Cloud SQL predefinida usa o distroless, que não contém nenhuma shell. Se precisar de um shell ou de ferramentas relacionadas, transfira uma imagem com base no alpine ou no buster. Para mais informações, consulte o artigo Imagens de contentores do proxy Auth do Cloud SQL.

Pode transferir a imagem mais recente para a sua máquina local através do Docker com o seguinte comando:

docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.18.2

Outro SO

Para outros sistemas operativos não incluídos aqui, pode compilar o proxy Auth do Cloud SQL a partir da origem.

Obtenha o nome da ligação da instância

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

    Aceda a Instâncias do Cloud SQL

  2. Clique no nome da instância para abrir a respetiva página Vista geral.
  3. Na secção Estabeleça ligação a esta instância, copie o Nome da ligação. O nome da ligação está no formato projectID:region:instanceID.

Inicie o proxy Auth do Cloud SQL

Inicie o proxy Auth do Cloud SQL no respetivo terminal para poder monitorizar a respetiva saída. Substitua INSTANCE_CONNECTION_NAME pelo nome de ligação da instância que copiou no passo anterior.

Para ambientes Linux, use este comando para iniciar o proxy Auth do Cloud SQL:

./cloud-sql-proxy INSTANCE_CONNECTION_NAME

No PowerShell no Windows, use este comando para iniciar o proxy Auth do Cloud SQL:

.\cloud-sql-proxy.exe INSTANCE_CONNECTION_NAME

É apresentada uma mensagem semelhante à seguinte:

Listening on 127.0.0.1:3306 for INSTANCE_CONNECTION_NAME
Ready for new connections

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.

O que se segue?