Como conectar um cliente usando o Cloud SQL Proxy

Para informações sobre como conectar um cliente sqlcmd a uma instância do Cloud SQL por IP, consulte Como conectar o cliente sqlcmd usando endereços IP.

Para mais informações sobre como o proxy funciona, consulte Sobre o Cloud SQL Proxy.

Antes de começar

Antes de conectar um sqlcmd a uma instância do Cloud SQL, você precisa:

  • Criar uma instância do Cloud SQL, incluindo a configuração do usuário padrão.

    Para mais informações sobre como criar instâncias, consulte Como criar instâncias.

    Para mais informações sobre como configurar o usuário padrão, consulte Como configurar a conta de usuário padrão.

  • Determine como estabelecer conexão com a instância.

Como conectar o cliente sqlcmd

Conectar um cliente sqlcmd à instância do Cloud SQL com o proxy envolve as seguintes etapas:

  1. Ativar a API Cloud SQL Admin
  2. Instalar o proxy
  3. Criar uma conta de serviço
  4. Iniciar o proxy
  5. Iniciar a sessão do sqlcmd

1. Ative a API

Ative a API Cloud SQL Admin.

Ative a API

2. Instale o proxy

Linux de 64 bits

  1. Faça o download do proxy:
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  2. Torne o proxy executável:
    chmod +x cloud_sql_proxy
    

Linux de 32 bits

  1. Faça o download do proxy:
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy
    
  2. Torne o proxy executável:
    chmod +x cloud_sql_proxy
    

macOS de 64 bits

  1. Faça o download do proxy:
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
    
  2. Torne o proxy executável:
    chmod +x cloud_sql_proxy
    

macOS de 32 bits

  1. Faça o download do proxy:
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.386
    
  2. Torne o proxy executável:
    chmod +x cloud_sql_proxy
    

Windows de 64 bits

Para fazer o download do proxy, clique com o botão direito em https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe e selecione Salvar link como. Renomeie o arquivo para cloud_sql_proxy.exe.

Windows de 32 bits

Para fazer o download do proxy, clique com o botão direito em https://dl.google.com/cloudsql/cloud_sql_proxy_x86.exe e selecione Salvar link como. Renomeie o arquivo para cloud_sql_proxy.exe.
Caso seu sistema operacional não esteja incluído aqui, compile o proxy pela origem (em inglês).

3. Criar uma conta de serviço

Quando você se conecta usando o proxy, ele precisa se autenticar no Google Cloud Platform. Use as credenciais do SDK do Cloud ou forneça ao proxy um caminho para um arquivo de chave local de uma conta de serviço que você tenha criado (recomendado para instâncias de produção). Ignore esta etapa se você estiver usando as credenciais do SDK do Cloud.

Para mais informações sobre contas de serviço, consulte o Guia de autenticação do Google Cloud Platform.

Caso queira usar uma conta de serviço para fornecer as credenciais ao proxy, você precisará criá-la com permissões suficientes. Se você estiver usando os papéis mais detalhados de gerenciamento de identidade e acesso (IAM) para gerenciar suas permissões do Cloud SQL, atribua à conta de serviço um papel que inclua a permissão cloudsql.instances.connect. Os papéis predefinidos do Cloud SQL que incluem essa permissão são os seguintes:

  • Cliente do Cloud SQL
  • Editor do Cloud SQL
  • Administrador do Cloud SQL

Se você estiver usando os papéis legados (visualizador, editor e proprietário) do projeto, a conta de serviço precisará ter pelo menos o papel de editor.

  1. Acesse a página Contas de serviço no Console do Google Cloud.

    Acessar a página "Contas de serviço"

  2. Selecione o projeto que contém a instância do Cloud SQL.
  3. Clique em Criar conta de serviço.
  4. Na caixa de diálogo Criar conta de serviço, forneça um nome descritivo para a conta.
  5. Em Papel, selecione um dos seguintes papéis:
    • Cloud SQL > Cliente do Cloud SQL
    • Cloud SQL > Editor do Cloud SQL
    • Cloud SQL > Administrador do Cloud SQL

    Como alternativa, é possível usar o papel básico de Editor ao selecionar Projeto > Editor. No entanto, ele inclui permissões em todo o Google Cloud.

    Caso não veja esses papéis, talvez o usuário do Google Cloud não tenha a permissão resourcemanager.projects.setIamPolicy. Para verificar suas permissões, acesse a página do IAM no Console do Google Cloud e pesquise seu ID de usuário.

  6. Altere o ID da conta de serviço para um valor exclusivo e facilmente reconhecível.
  7. Clique em Fornecer uma nova chave privada e confirme se o tipo de chave é JSON.
  8. Clique em Criar

    O arquivo da chave privada é transferido para sua máquina. Você pode movê-lo para outro local. Guarde-o com segurança.

4. Inicie o proxy

É possível iniciar o proxy usando soquetes TCP.

Soquetes TCP

  1. Copie o nome de conexão da instância da página Detalhes da instância.

    Por exemplo, myproject:myregion:myinstance.

  2. Se você estiver usando uma conta de serviço para autenticar o proxy, anote o local em que a chave privada foi criada na máquina cliente durante a criação da conta de serviço.
  3. Inicie o proxy.

    Algumas strings possíveis de chamada do proxy:

    • Usando autenticação do SDK do Cloud:
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:1433
      
      A porta especificada não pode estar em uso, por exemplo, por um servidor de banco de dados local.
    • Usar uma conta de serviço e incluir explicitamente o nome da conexão da instância (recomendado para ambientes de produção):
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:1433 \
                        -credential_file=<PATH_TO_KEY_FILE> &
      

    Para mais informações sobre as opções de proxy, consulte Opções para autenticar o proxy e Opções para especificar instâncias.

5. Iniciar a sessão cliente

Agora que você instalou e iniciou o proxy, inicie uma sessão sqlcmd usando o proxy. Esse comando pode ser usado sempre que você quiser se conectar à sua instância do Cloud SQL com um cliente sqlcmd.

As etapas a seguir descrevem como se conectar usando um soquete TCP.

Soquetes TCP

  1. Inicie o cliente sqlcmd:
    sqlcmd -S tcp:127.0.0.1,1433 -U <USER_NAME> -P <PASSWORD>
    

    Quando você estabelece a conexão com soquetes TCP, o endereço de acesso do proxy é 127.0.0.1.

  2. Se solicitado, digite a senha.
  3. Será exibido o prompt sqlcmd.

Precisa de ajuda? Para ajuda na solução de problemas com o proxy, consulte Como solucionar problemas nas conexões do Cloud SQL Proxy ou veja a página de suporte do Cloud SQL.

A seguir