Nesta página, descrevemos como usar a imagem Docker do proxy de autenticação do Cloud SQL para conectar um cliente sqlcmd à instância do Cloud SQL a partir de uma máquina cliente que executa a instância do Linux ou do Compute Engine Linux.
Antes de começar
Você precisa:
- instalou a CLI gcloud. Saiba mais.
- Autorizou a CLI gcloud. Saiba mais.
- Definir o projeto padrão para a CLI gcloud. Saiba mais.
- configurar um usuário de banco de dados na instância do Cloud SQL. Saiba mais
Conectar um cliente sqlcmd usando a imagem Docker do proxy de autenticação do Cloud SQL
Para se conectar usando a imagem Docker do proxy de autenticação do Cloud SQL:
Ative a API Cloud SQL Admin, se ela ainda não estiver ativada.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter a permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pela função de proprietário (roles/owner). Caso contrário, você pode receber essa permissão pela função Administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin). Saiba como conceder funções.- Se você estiver usando uma instância do Compute Engine, prepare-a:
-
Mostre as propriedades da instância do Compute Engine:
gcloud compute instances describe [GCE_INSTANCE_NAME]
- Verifique os escopos ativados na instância.
A autenticação usando escopos exige os dois escopos a seguir:
https://www.googleapis.com/auth/sqlservice.adminhttps://www.googleapis.com/auth/devstorage.read_write
Como alternativa, o escopo
https://www.googleapis.com/auth/cloud-platformativa todas as APIs do Google Cloud Platform.Se sua instância do Compute Engine não tiver os escopos adequados, você pode atualizar a instância para incluí-los. Para mais informações, consulte a documentação do Compute Engine.
- Abra uma conexão de terminal com a instância usando as instruções em Como se conectar a instâncias do Linux.
-
Mostre as propriedades da instância do Compute Engine:
-
Instale o cliente sqlcmd na instância do Compute Engine ou na máquina cliente, se ele ainda não estiver instalado.
Debian/Ubuntu
Para Debian/Ubuntu, instale as ferramentas de linha de comando aplicáveis do SQL Server.
CentOS/RHEL
Para o CentOS/RHEL, instale as ferramentas de linha de comando aplicáveis do SQL Server.
openSUSE
Para o openSUSE, instale as ferramentas de linha de comando aplicáveis do SQL Server.
Outras plataformas
Consulte a página de destino e a página de downloads do SQL Server para instalar o SQL Server.
-
Se necessário, instale o cliente Docker:
curl https://get.docker.com | sh sudo usermod -aG docker $USER
Se você usa uma instância do Compute Engine otimizada para contêineres, ela já tem o cliente Docker instalado.
-
Instale a imagem Docker do proxy de autenticação do Cloud SQL pelo
Google Container Registry.
docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.26.2
- Se você estiver executando a imagem Docker do proxy de autenticação do Cloud SQL em uma máquina local (e não em uma instância do Compute Engine) ou se a instância do Compute Engine não tiver os escopos apropriados, crie uma conta de serviço do Google Cloud Platform.
- No Google Cloud console, acesse a página Contas de serviço.
- Selecione o projeto que contém a instância do Cloud SQL.
- Clique em Criar conta de serviço.
- Preencha o campo Nome da conta de serviço.
- Altere o ID da conta de serviço para um valor exclusivo e facilmente reconhecível, depois clique em Criar e continuar.
-
Clique no campo Selecionar papel e escolha um dos seguintes papéis:
- Cloud SQL > Cliente do Cloud SQL
- Cloud SQL > Editor do Cloud SQL
- Cloud SQL > Administrador do Cloud SQL
- Clique em Concluído para terminar a criação da conta de serviço.
- Clique no menu de ações da sua nova conta de serviço e selecione Gerenciar chaves.
- Clique no menu suspenso Adicionar chave e clique em Criar nova chave.
-
Confirme se o tipo de chave é JSON e clique em Criar.
O arquivo da chave privada é transferido para sua máquina. Você pode movê-lo para outro local. Mantenha-o seguro.
Forneça o caminho para o arquivo de chave como "PATH_TO_KEY_FILE" quando iniciar o proxy de autenticação do Cloud SQL.
- Acesse a página "Instâncias do Cloud SQL" no Google Cloud console.
-
Selecione a instância para abrir a respectiva página Detalhes da instância e copie o Nome da conexão da instância.
Por exemplo,
myproject:us-central1:myinstance. -
Inicie o proxy de autenticação do Cloud SQL.
Soquetes TCP
docker run -d
-v PATH_TO_KEY_FILE:/path/to/service-account-key.json
-p 127.0.0.1:1433:1433
gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.26.2
--address 0.0.0.0 --port 1433
--credentials-file /path/to/service-account-key.json INSTANCE_CONNECTION_NAMESe você usa as credenciais fornecidas pela instância do Compute Engine, não inclua o
--credentials-fileparâmetro e a-v PATH_TO_KEY_FILE:/path/to/service-account-key.jsonlinha.Sempre especifique o prefixo
127.0.0.1em-ppara que o proxy de autenticação do Cloud SQL não seja exposto fora do host local. A flag--address 0.0.0.0é necessária para tornar a porta acessível de fora do contêiner do Docker. - Inicie o cliente:
A string de conexão que você usa depende de como a inicialização do proxy de autenticação do Cloud SQL foi feita, ou seja, usando um soquete TCP ou o Docker.
Soquetes TCP
- Inicie o cliente sqlcmd:
sqlcmd -S tcp:127.0.0.1,1433 -U USERNAME -P PASSWORD
Quando você se conecta usando soquetes TCP, o proxy de autenticação do Cloud SQL é acessado por meio de
127.0.0.1. - Se solicitado, digite a senha.
- Será exibido o prompt sqlcmd.
- Inicie o cliente sqlcmd:
Manter a imagem Docker do proxy de autenticação do Cloud SQL atualizada
A imagem Docker do proxy de autenticação do Cloud SQL é baseada em uma versão específica do proxy. Quando uma nova versão do proxy de autenticação do Cloud SQL estiver disponível, extraia a nova versão da imagem Docker do proxy de autenticação do Cloud SQL para manter o ambiente atualizado. Você pode ver qual é a versão atual na página de versões do proxy de autenticação do Cloud SQL no GitHub.
A seguir
- Saiba mais sobre o proxy de autenticação do Cloud SQL.
- Receba ajuda para solucionar problemas de conexão do proxy de autenticação do Cloud SQL.
- Criar usuários e bancos de dados.
- Saiba mais sobre as opções de conexão à instância do aplicativo.
- Saiba sobre o Docker (em inglês).
- Saiba sobre o Google Container Registry.
- Conheça as opções de suporte.