Esta página descreve como estabelecer ligação à sua instância do Cloud SQL através do proxy Auth do Cloud SQL.
Para mais informações sobre o funcionamento do proxy Auth do Cloud SQL, consulte o artigo Acerca do proxy Auth do Cloud SQL.
Vista geral
A utilização do proxy Auth do Cloud SQL é o método recomendado para estabelecer ligação a uma instância do Cloud SQL. O proxy Auth do Cloud SQL:
- Funciona com pontos finais de IP públicos e privados
- Valida as ligações através de credenciais de um utilizador ou de uma conta de serviço
- Encapsula a ligação numa camada SSL/TLS autorizada para uma instância do Cloud SQL
Alguns Google Cloud serviços e aplicações usam o proxy Auth do Cloud SQL para fornecer ligações para caminhos de IP públicos com encriptação e autorização, incluindo:
As aplicações em execução no Google Kubernetes Engine podem estabelecer ligação através do proxy Auth do Cloud SQL.
Consulte o guia de início rápido para usar o proxy Auth do Cloud SQL para uma introdução básica à sua utilização.
Também pode estabelecer ligação, com ou sem o proxy Auth do Cloud SQL, através de um cliente psql a partir de uma máquina local ou do Compute Engine.
Antes de começar
Antes de poder estabelecer ligação a uma instância do Cloud SQL, faça o seguinte:
-
- Para um utilizador ou uma conta de serviço, certifique-se de que a conta tem a função de cliente do Cloud SQL. Esta função contém a autorização
cloudsql.instances.connect
, que autoriza um principal a ligar-se a todas as instâncias do Cloud SQL num projeto. - Opcionalmente, pode incluir uma condição da IAM na associação da política da IAM que concede autorização à conta para estabelecer ligação apenas a uma instância específica do Cloud SQL.
- Para um utilizador ou uma conta de serviço, certifique-se de que a conta tem a função de cliente do Cloud SQL. Esta função contém a autorização
-
Enable the Cloud SQL Admin API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Instale e inicialize a CLI gcloud.
- Opcional. Instale o cliente Docker do proxy Auth do Cloud SQL.
Transfira o proxy Auth do Cloud SQL
Linux (64 bits)
- 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
- Torne o proxy Auth do Cloud SQL executável:
chmod +x cloud-sql-proxy
Linux (32 bits)
- 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
- Se o comando
curl
não for encontrado, executesudo apt install curl
e repita o comando de transferência. - Torne o proxy Auth do Cloud SQL executável:
chmod +x cloud-sql-proxy
macOS de 64 bits
- 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
- Torne o proxy Auth do Cloud SQL executável:
chmod +x cloud-sql-proxy
Mac M1
- 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
- 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 paracloud-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 paracloud-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.Inicie o proxy Auth do Cloud SQL
Consoante o seu idioma e ambiente, pode iniciar o proxy Auth do Cloud SQL através de sockets TCP, sockets Unix ou da imagem Docker do proxy Auth do Cloud SQL. O binário do proxy Auth do Cloud SQL liga-se a uma ou mais instâncias do Cloud SQL especificadas na linha de comandos e abre uma ligação local como TCP ou um soquete Unix. Outras aplicações e serviços, como o código da sua aplicação ou as ferramentas de cliente de gestão de bases de dados, podem ligar-se a instâncias do Cloud SQL através dessas ligações TCP ou de soquetes Unix.
Entradas TCP
Para ligações TCP, o proxy Auth do Cloud SQL escuta em localhost
(127.0.0.1
) por predefinição.
Assim, quando especifica --port PORT_NUMBER
para uma instância, a ligação local
está em 127.0.0.1:PORT_NUMBER
.
Em alternativa, pode especificar um endereço diferente para a ligação local.
Por exemplo, veja como fazer com que o proxy Auth do Cloud SQL ouça em 0.0.0.0:1234
para a ligação local:
./cloud-sql-proxy --address 0.0.0.0 --port 1234 INSTANCE_CONNECTION_NAME
Copie o INSTANCE_CONNECTION_NAME. Pode encontrá-lo na página Vista geral da sua instância na consola Google Cloud ou executando o seguinte comando:
gcloud sql instances describe INSTANCE_NAME --format='value(connectionName)'
Por exemplo: myproject:myregion:myinstance.
- Se a instância tiver um IP público e privado configurados e quiser que o
proxy Auth do Cloud SQL use o endereço IP privado,
tem de fornecer a seguinte opção quando iniciar o proxy Auth do Cloud SQL:
--private-ip
- Se estiver a usar uma conta de serviço para autenticar o proxy Auth do Cloud SQL, tenha em atenção a localização no seu computador cliente do ficheiro de chave privada que foi criado quando criou a conta de serviço.
- Inicie o proxy Auth do Cloud SQL.
Algumas strings de invocação possíveis do proxy Auth do Cloud SQL:
- Usando a autenticação do SDK Cloud:
A porta especificada não pode estar já a ser usada, por exemplo, por um servidor de base de dados local../cloud-sql-proxy --port 5432 INSTANCE_CONNECTION_NAME
- Usar uma conta de serviço e incluir explicitamente o nome da ligação da instância
(recomendado para ambientes de produção):
./cloud-sql-proxy \ --credentials-file PATH_TO_KEY_FILE INSTANCE_CONNECTION_NAME &
Para mais informações sobre as opções do proxy Auth do Cloud SQL, consulte o artigo Opções para autenticar o proxy Auth do Cloud SQL.
- Usando a autenticação do SDK Cloud:
Sockets Unix
O proxy Auth do Cloud SQL pode ouvir num soquete Unix, que é um mecanismo padrão Posix para usar uma pasta para gerir a comunicação entre dois processos em execução no mesmo anfitrião. As vantagens da utilização de sockets Unix são a melhoria da segurança e a redução da latência. No entanto, não pode aceder a um socket Unix a partir de uma máquina externa.
Para criar e usar um socket Unix, o diretório de destino tem de existir e o proxy Auth do Cloud SQL e a aplicação têm de ter acesso de leitura e escrita ao mesmo.
Copie o INSTANCE_CONNECTION_NAME. Pode encontrá-lo na página Vista geral da sua instância na consola Google Cloud ou executando o seguinte comando:
gcloud sql instances describe INSTANCE_NAME --format='value(connectionName)'
Por exemplo: myproject:myregion:myinstance.
- Crie o diretório onde os soquetes do proxy Auth do Cloud SQL vão residir:
sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
- Se estiver a usar uma conta de serviço para autenticar o proxy Auth do Cloud SQL, tenha em atenção a localização no seu computador cliente do ficheiro de chave privada que foi criado quando criou a conta de serviço.
- Abra uma nova janela de terminal do Cloud Shell e inicie o Proxy Auth do Cloud SQL.
Algumas strings de invocação possíveis do proxy Auth do Cloud SQL:
- Usando a autenticação do SDK Cloud da Google:
./cloud-sql-proxy --unix-socket /cloudsql INSTANCE_CONNECTION_NAME &
- Usar uma conta de serviço:
./cloud-sql-proxy --unix-socket /cloudsql --credentials-file PATH_TO_KEY_FILE INSTANCE_CONNECTION_NAME &
Inicie o proxy Auth do Cloud SQL no respetivo terminal do Cloud Shell para poder monitorizar o respetivo resultado sem que se misture com o resultado de outros programas.
Para mais informações sobre as opções do proxy Auth do Cloud SQL, consulte o artigo Opções para autenticar o proxy Auth do Cloud SQL.
- Usando a autenticação do SDK Cloud da Google:
Docker
Para executar o proxy Auth do Cloud SQL num contentor Docker, use a imagem Docker do proxy Auth do Cloud SQL disponível no Google Container Registry.
Pode iniciar o proxy Auth do Cloud SQL através de sockets TCP ou sockets Unix, com os comandos apresentados abaixo. As opções usam um INSTANCE_CONNECTION_NAME como a string de ligação para identificar uma instância do Cloud SQL. Pode encontrar o INSTANCE_CONNECTION_NAME na página Vista geral da sua instância na Google Cloud consola. Em alternativa, pode executar o seguinte comando:
gcloud sql instances describe INSTANCE_NAME
Por exemplo: myproject:myregion:myinstance
.
Consoante o seu idioma e ambiente, pode iniciar o proxy Auth do Cloud SQL através de sockets TCP ou sockets Unix. Os sockets Unix não são suportados para aplicações escritas na linguagem de programação Java nem para o ambiente Windows.
Usar entradas TCP
docker run -d \\ -v PATH_TO_KEY_FILE:/path/to/service-account-key.json \\ -p 127.0.0.1:5432:5432 \\ gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.18.2 \\ --address 0.0.0.0 --port 5432 \\ --credentials-file /path/to/service-account-key.json INSTANCE_CONNECTION_NAME
Se estiver a usar as credenciais fornecidas pela sua instância do Compute Engine,
não inclua o parâmetro --credentials-file
e a linha
-v PATH_TO_KEY_FILE:/path/to/service-account-key.json
.
Especifique sempre o prefixo 127.0.0.1
em -p para que o proxy Auth do Cloud SQL não seja
exposto fora do anfitrião local. O "0.0.0.0" no parâmetro instances é necessário para tornar a porta acessível a partir do exterior do contentor do Docker.
Usar sockets Unix
docker run -d -v /cloudsql:/cloudsql \\ -v PATH_TO_KEY_FILE:/path/to/service-account-key.json \\ gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.18.2 --unix-socket=/cloudsql \\ --credentials-file /path/to/service-account-key.json INSTANCE_CONNECTION_NAME
Se estiver a usar as credenciais fornecidas pela sua instância do Compute Engine,
não inclua o parâmetro --credentials-file
e a linha
-v PATH_TO_KEY_FILE:/path/to/service-account-key.json
.
Se estiver a usar uma imagem otimizada para contentores, use um diretório gravável
em vez de /cloudsql
, por exemplo:
-v /mnt/stateful_partition/cloudsql:/cloudsql
Pode especificar mais do que uma instância, separadas por vírgulas. Também pode usar os metadados do Compute Engine para determinar dinamicamente as instâncias às quais estabelecer ligação. Saiba mais acerca dos parâmetros do proxy Auth do Cloud SQL.
Ligue-se ao cliente psql
Debian/Ubuntu
Instale o cliente psql a partir do gestor de pacotes:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
Instale o cliente psql a partir do gestor de pacotes:
sudo yum install postgresql
openSUSE
Instale o cliente psql a partir do gestor de pacotes:
sudo zypper install postgresql
Outras plataformas
- Transfira a distribuição principal do PostgreSQL para a sua plataforma na página de transferências do PostgreSQL.
A distribuição principal inclui o cliente psql. - Instale a base de dados PostgreSQL seguindo as instruções na página de transferência.
A string de ligação que usa depende de ter iniciado o proxy Auth do Cloud SQL com um socket TCP, um socket UNIX ou o Docker.
Entradas TCP
- Inicie o cliente psql:
psql "host=127.0.0.1 sslmode=disable dbname=DB_NAME user=USERNAME"
Embora o parâmetro
sslmode
esteja definido comodisable
, o proxy Auth do Cloud SQL fornece uma ligação encriptada.Quando se liga através de sockets TCP, acede-se ao proxy Auth do Cloud SQL através de
127.0.0.1
. - Se lhe for pedido, introduza a palavra-passe.
- É apresentada a linha de comandos psql.
Usar sockets Unix
- Inicie o cliente psql:
psql "sslmode=disable host=/cloudsql/INSTANCE_CONNECTION_NAME dbname=DB_NAME user=USERNAME"
Embora o parâmetro
sslmode
esteja definido comodisable
, o proxy Auth do Cloud SQL fornece uma ligação encriptada. - Introduza a palavra-passe.
- É apresentada a linha de comandos psql.
Precisa de ajuda? Para obter ajuda na resolução de problemas do proxy, consulte o artigo Resolução de problemas de ligações do proxy Auth do Cloud SQL ou consulte a nossa página de apoio técnico do Cloud SQL.
Estabeleça ligação com uma aplicação
Pode estabelecer ligação ao proxy Auth do Cloud SQL a partir de qualquer linguagem que lhe permita estabelecer ligação a um soquete Unix ou TCP. Seguem-se alguns fragmentos de código de exemplos completos no GitHub para ajudar a compreender como funcionam em conjunto na sua aplicação.
Tópicos adicionais
Argumentos da linha de comandos do proxy Auth do Cloud SQL
Os exemplos acima abrangem os exemplos de utilização mais comuns, mas o proxy Auth do Cloud SQL também tem outras opções de configuração que podem ser definidas com argumentos da linha de comandos. Para obter ajuda sobre argumentos de linha de comandos, use a flag --help
para ver a documentação mais recente:
./cloud-sql-proxy --help
Consulte o README no repositório do GitHub do proxy Auth do Cloud SQL para ver exemplos adicionais de como usar as opções de linha de comandos do proxy Auth do Cloud SQL.
Opções para autenticar o proxy Auth do Cloud SQL
Todas estas opções usam um INSTANCE_CONNECTION_NAME como a string de ligação para identificar uma instância do Cloud SQL. Pode encontrar o INSTANCE_CONNECTION_NAME na página Vista geral da sua instância na Google Cloud consola. Em alternativa, pode executar o seguinte comando:
gcloud sql instances describe --project PROJECT_ID INSTANCE_CONNECTION_NAME
.
Por exemplo: gcloud sql instances describe --project myproject myinstance
.
Algumas destas opções usam um ficheiro de credenciais JSON que inclui a chave privada RSA para a conta. Para instruções sobre como criar um ficheiro de credenciais JSON para uma conta de serviço, consulte o artigo Criar uma conta de serviço.
O Proxy Auth do Cloud SQL oferece várias alternativas para a autenticação, consoante o seu ambiente. O proxy Auth do Cloud SQL verifica cada um dos seguintes itens, pela ordem indicada, usando o primeiro que encontrar para tentar a autenticação:
Credenciais fornecidas pela flag credentials-file.
Use uma conta de serviço para criar e transferir o ficheiro JSON associado e defina a flag--credentials-file
para o caminho do ficheiro quando iniciar o proxy Auth do Cloud SQL. A conta de serviço tem de ter as autorizações necessárias para a instância do Cloud SQL.Para usar esta opção na linha de comandos, invoque o comando
cloud-sql-proxy
com o sinalizador--credentials-file
definido para o caminho e o nome do ficheiro de credenciais JSON. O caminho pode ser absoluto ou relativo ao diretório de trabalho atual. Por exemplo:./cloud-sql-proxy --credentials-file PATH_TO_KEY_FILE \ INSTANCE_CONNECTION_NAME
Para obter instruções detalhadas sobre como adicionar funções de IAM a uma conta de serviço, consulte o artigo Conceder funções a contas de serviço.
Para mais informações sobre as funções suportadas pelo Cloud SQL, consulte o artigo Funções de IAM para o Cloud SQL.
Credenciais fornecidas por um token de acesso.
Crie uma chave de acesso e invoque o comandocloud-sql-proxy
com a flag--token
definida como uma chave de acesso OAuth 2.0. Por exemplo:./cloud-sql-proxy --token ACCESS_TOKEN \ INSTANCE_CONNECTION_NAME
Credenciais fornecidas por uma variável de ambiente.
Esta opção é semelhante à utilização da flag--credentials-file
, exceto que especifica o ficheiro de credenciais JSON que definiu na variável de ambienteGOOGLE_APPLICATION_CREDENTIALS
, em vez de usar o argumento da linha de comandos--credentials-file
.Credenciais de um cliente da CLI gcloud autenticado.
Se tiver instalado a CLI gcloud e tiver feito a autenticação com a sua conta pessoal, o proxy Auth do Cloud SQL pode usar as mesmas credenciais da conta. Este método é especialmente útil para ter um ambiente de desenvolvimento a funcionar.
Para permitir que o proxy Auth do Cloud SQL use as suas credenciais da CLI gcloud, use o seguinte comando para autenticar a CLI gcloud:
gcloud auth application-default login
Credenciais associadas à instância do Compute Engine.
Se estiver a estabelecer ligação ao Cloud SQL a partir de uma instância do Compute Engine, o proxy Auth do Cloud SQL pode usar a conta de serviço associada à instância do Compute Engine. Se a conta de serviço tiver as autorizações necessárias para a instância do Cloud SQL, o proxy Auth do Cloud SQL é autenticado com êxito.Se a instância do Compute Engine estiver no mesmo projeto que a instância do Cloud SQL, a conta de serviço predefinida da instância do Compute Engine tem as autorizações necessárias para autenticar o proxy de autorização do Cloud SQL. Se as duas instâncias estiverem em projetos diferentes, tem de adicionar a conta de serviço da instância do Compute Engine ao projeto que contém a instância do Cloud SQL.
Conta de serviço predefinida do ambiente
Se o Cloud SQL Auth Proxy não conseguir encontrar credenciais em nenhum dos locais abordados anteriormente, segue a lógica documentada em Configurar a autenticação para aplicações de produção de servidor para servidor. Alguns ambientes (como o Compute Engine, o App Engine e outros) fornecem uma conta de serviço predefinida que a sua aplicação pode usar para fazer a autenticação por predefinição. Se usar uma conta de serviço predefinida, esta tem de ter as autorizações descritas em funções e autorizações. Para mais informações sobre a abordagem da Google Cloud à autenticação, consulte a vista geral da autenticação.
Criar uma conta de serviço
- Na Google Cloud consola, aceda à página Contas de serviço.
- Selecione o projeto que contém a sua instância do Cloud SQL.
- Clique em Criar conta de serviço.
- No campo Nome da conta de serviço, introduza um nome descritivo para a conta de serviço.
- Altere o ID da conta de serviço para um valor único e reconhecível e, de seguida, clique em Criar e continuar.
-
Clique no campo Selecionar uma função e selecione uma das seguintes funções:
- Cloud SQL > Cliente do Cloud SQL
- Cloud SQL > Editor do Cloud SQL
- Cloud SQL > Administração do Cloud SQL
- Clique em Concluído para terminar de criar a conta de serviço.
- Clique no menu de ações da nova conta de serviço e, de seguida, selecione Gerir chaves.
- Clique no menu pendente Adicionar chave e, de seguida, em Criar nova chave.
-
Confirme que o tipo de chave é JSON e, de seguida, clique em Criar.
O ficheiro de chave privada é transferido para o seu computador. Pode movê-lo para outra localização. Mantenha o ficheiro de chave seguro.
Use o proxy Auth do Cloud SQL com IP privado
Para ligar a uma instância do Cloud SQL através de um IP privado, o proxy Auth do Cloud SQL tem de estar num recurso com acesso à mesma rede de VPC que a instância.
O proxy Auth do Cloud SQL usa o IP para estabelecer uma ligação com a sua instância do Cloud SQL. Por predefinição, o proxy Auth do Cloud SQL tenta estabelecer ligação através de um endereço IPv4 público.
Se a sua instância do Cloud SQL tiver apenas IP privado ou tiver o IP público e privado configurados, e quiser que o proxy Auth do Cloud SQL use o endereço IP privado, tem de fornecer a seguinte opção quando iniciar o proxy Auth do Cloud SQL:
--private-ip
Use o proxy Auth do Cloud SQL com instâncias que tenham o Private Service Connect ativado
Pode usar o proxy Auth do Cloud SQL para se ligar a uma instância do Cloud SQL com o Private Service Connect ativado.
O proxy Auth do Cloud SQL é um conetor que fornece acesso seguro a esta instância sem necessidade de redes autorizadas nem de configurar o SSL.
Para permitir ligações de clientes do proxy Auth do Cloud SQL, tem de configurar um registo de DNS que corresponda ao nome de DNS recomendado fornecido para a instância. O registo de DNS é um mapeamento entre um recurso de DNS e um nome de domínio.
Para mais informações sobre a utilização do proxy Auth do Cloud SQL para estabelecer ligação a instâncias com o Private Service Connect ativado, consulte o artigo Estabeleça ligação através do proxy Auth do Cloud SQL.
Execute o proxy Auth do Cloud SQL num processo separado
A execução do proxy Auth do Cloud SQL num processo de terminal do Cloud Shell separado pode ser útil para evitar a mistura da respetiva saída da consola com a saída de outros programas. Use a sintaxe apresentada abaixo para invocar o proxy Auth do Cloud SQL num processo separado.
Linux
No Linux ou macOS, use um &
no final da linha de comandos para iniciar o proxy Auth do Cloud SQL num processo separado:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME
--credentials-file PATH_TO_KEY_FILE &
Windows
No Windows PowerShell, use o comando Start-Process
para iniciar o proxy Auth do Cloud SQL num processo separado:
Start-Process --filepath "cloud-sql-proxy.exe"
--ArgumentList "
--credentials-file PATH_TO_KEY_FILEINSTANCE_CONNECTION_NAME"
Execute o proxy Auth do Cloud SQL num contentor do Docker
Para executar o proxy Auth do Cloud SQL num contentor Docker, use a imagem Docker do proxy Auth do Cloud SQL disponível no Google Container Registry. Pode instalar a imagem do Docker do proxy Auth do Cloud SQL através do seguinte comando:
docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.18.2
Pode iniciar o proxy Auth do Cloud SQL através de sockets TCP ou sockets Unix, com os comandos apresentados abaixo.
Entradas TCP
docker run -d \ -v PATH_TO_KEY_FILE:/path/to/service-account-key.json \ -p 127.0.0.1:5432:5432 \ gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.18.2 \ --address 0.0.0.0 \ --credentials-file /path/to/service-account-key.json \ INSTANCE_CONNECTION_NAME
Sockets Unix
docker run -d \ -v /PATH_TO_HOST_TARGET:/PATH_TO_GUEST_TARGET \ -v PATH_TO_KEY_FILE:/path/to/service-account-key.json \ gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.18.2 --unix-socket /cloudsql \ --credentials-file /path/to/service-account-key.json/PATH_TO_KEY_FILE \ INSTANCE_CONNECTION_NAME
Se estiver a usar uma imagem otimizada para contentores, use um diretório gravável
em vez de /cloudsql
, por exemplo:
v /mnt/stateful_partition/cloudsql:/cloudsql
Se estiver a usar as credenciais fornecidas pela sua instância do Compute Engine,
não inclua o parâmetro credential_file
e a linha -v PATH_TO_KEY_FILE:/path/to/service-account-key.json
.
Executar o proxy Auth do Cloud SQL como um serviço
A execução do proxy Auth do Cloud SQL como um serviço em segundo plano é uma opção para o desenvolvimento local e as cargas de trabalho de produção. Durante o desenvolvimento, quando precisar de aceder à sua instância do Cloud SQL, pode iniciar o serviço em segundo plano e pará-lo quando terminar.
Para cargas de trabalho de produção, o proxy Auth do Cloud SQL não oferece atualmente suporte incorporado para execução como um serviço Windows, mas podem ser usados gestores de serviços de terceiros para o executar como um serviço. Por exemplo, pode usar o NSSM para configurar o proxy Auth do Cloud SQL como um serviço do Windows. O NSSM monitoriza o proxy Auth do Cloud SQL e reinicia-o automaticamente se deixar de responder. Consulte a documentação do NSSM para mais informações.
Aplique a utilização do proxy Auth do Cloud SQL
Ative a utilização do proxy Auth do Cloud SQL no Cloud SQL através de ConnectorEnforcement.
Se estiver a usar uma instância ativada com o Private Service Connect, existe uma limitação. Se a instância tiver a aplicação de conetores ativada, não pode criar réplicas de leitura para a instância. Da mesma forma, se a instância tiver réplicas de leitura, não pode ativar a aplicação do conector para a instância.
gcloud
O seguinte comando aplica a utilização de conectores do Cloud SQL.
gcloud sql instances patch INSTANCE_NAME \ --connector-enforcement REQUIRED
Para desativar a aplicação, use a seguinte linha de código:
--connector-enforcement NOT_REQUIRED
A atualização não aciona um reinício.
REST v1
O seguinte comando aplica a utilização de conectores do Cloud SQL
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto.
- instance-id: o ID da instância.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Corpo JSON do pedido:
{ "settings": { "connectorEnforcement": "REQUIRED" } }
Para enviar o seu pedido, expanda uma destas opções: