sobre a nuvem SQL Auth proxy

MySQL | PostgreSQL / SQL Server

esta página fornece uma introdução básica ao ‘proxy’ da nuvem SQL Auth, e descreve as opções the proxy.

para instruções passo-a-passo sobre a utilização do proxy SQL Auth na nuvem, siga a ligação para o seu ambiente:

  • guia de início rápido para usar a Nuvem SQL Autenticação de proxy
  • Como conectar-se usando a Nuvem SQL Autenticação de proxy
  • Como conectar-se usando a Nuvem SQL Autenticação de proxy de GKE

Você não precisa usar a Nuvem SQL Autenticação de proxy ou configurar o SSL toconnect a Nuvem SQL a partir do App Engine standardor ligue para a Nuvem SQL a partir do App Engine ambiente flexível.Se você é novo no Google Cloud, crie uma conta para avaliar o desempenho do Cloud SQL em cenários do mundo real. Novos clientes também recebem US $ 300 em créditos gratuitos para executar, testar e implantar cargas de trabalho.

Try Cloud SQL free

What the Cloud SQL Auth proxy provides

The Cloud SQL Auth proxy provides secure access to your instances without the need for Authworksor for configuration SSL.

aceder à sua instância SQL na nuvem usando o proxy SQL Auth na nuvem oferece as seguintes vantagens:

  • ligações seguras: o proxy SQL Auth da nuvem cifra automaticamente o tráfego de e para a base de dados usando o TLS 1.2 com uma cifra AES de 128-bits; Os certificados SSL são usados para verificar identidades de cliente e servidor.
  • gestão mais fácil de ligações: o ‘proxy’ SQL Auth da nuvem lida com a autenticação withCloud SQL, removendo a necessidade de fornecer endereços IP estáticos.

The Cloud SQL Auth proxy does not provide a new connectivity path; it depends on existing IPconnectivity. Para se conectar a uma instância SQL da nuvem usando IP privado, o proxy SQL Auth da nuvem deve estar em um recurso com acesso à mesma rede VPC que a instância.

How the Cloud SQL Auth proxy works

The Cloud SQL Auth proxy works by having a local client running in the local environment. A sua aplicação comunica-se com o proxy automático SQL da nuvem com o protocolo de base de dados padrão utilizado pela sua base de dados. The Cloud SQL Auth proxy usesa secure tunnel to communicate with its companion process running on the server.

enquanto o proxy pode ouvir em qualquer porto, ele só cria conexões de saída toyour Cloud SQL instância no Porto 3307. Se você tem uma política de firewallpolicy de saída, certifique-se de que ele permite conexões para a porta 3307 no IP da sua nuvem SQLinstance.

O diagrama a seguir mostra como a Nuvem SQL Autenticação de proxy se conecta a Nuvem SQL:

Diagrama de Nuvem SQL Autenticação de proxy de conexão do software de cliente para o SQL instância

Requisitos para a utilização da Nuvem SQL Autenticação de proxy

Para usar a Nuvem SQL Autenticação de proxy, você deve atender os seguintes requisitos:

  • A Nuvem de API de Administração de SQL deve ser habilitado.
  • deve fornecer ao ‘proxy’ de autenticação em nuvem SQL Auth as credenciais da Cloud.
  • deve fornecer ao ‘proxy’ de autenticação SQL da nuvem uma conta de utilizador e uma senha válidas da base de dados.
  • a instância deve ter um endereço IPv4 público, ou ser configurada para USEPRIVATE IP.

    o endereço IP público não precisa ser acessível a nenhum endereço externo(não precisa ser adicionado como um endereço de rede autorizado).

Nuvem SQL Autenticação de proxy opções de inicialização

Quando você começar a Nuvem SQL Autenticação de proxy, você fornecê-lo com as seguintes informações:

  • O que Cloud instâncias do SQL para estabelecer conexões
  • Onde ele irá ouvir por dados provenientes da sua aplicação para ser sentto Nuvem SQL
  • Onde encontrará as credenciais que usará para autenticar yourapplication a Nuvem SQL
  • Se necessário, o endereço IP que tipo de uso.

as opções de inicialização Auth do proxy SQL na nuvem que você fornecer determinam se ele irá ouvir num ‘TCPport’ ou num ‘socket’ Unix. Se estiver a ouvir num ‘socket’ Unix, cria o ‘thesocket’ no local que escolher; normalmente, o directório /cloudsql/.Para o TCP, o proxy SQL Auth escuta em localhost por padrão.

execute o executável cloud_sql_proxy com o argumento --help toview a lista completa das opções de inicialização.

pode instalar o proxy SQL Auth na nuvem em qualquer parte do seu ambiente local. A localização dos binários de proxy SQL Auth da nuvem não tem impacto onde ele ouve os dados da sua aplicação.

Using a service account for authentication

The Cloud SQL Auth proxy requires authentication. A vantagem de usar uma conta de Serviço para esta finalidade é que você pode criar um arquivo credencial especificamente para theCloud SQL Auth proxy, e ele está explícita e permanentemente ligado ao Proxy de nuvem SQL Auth desde que ele esteja funcionando. Por esta razão, a utilização de uma conta de serviço é o método recomendado para as substâncias de produção que não funcionam numa instância computadorizada do Motor.

o ficheiro credencial pode ser duplicado numa imagem de sistema se precisar de invokethe Cloud SQL Auth proxy de várias máquinas.

para usar este método, você deve criar e gerenciar o arquivo credencial. Somente usuários com a permissão resourcemanager.projects.setIamPolicy (como proprietários de projetos) podem criar a conta de serviço. Se o seu utilizador da nuvem do groogle não tiver Esta permissão, deverá ter o someelse a criar a conta de Serviço para si ou usar outro método para autenticar o ‘proxy’ de autenticação do SQL da nuvem.

para ajudar a criar um arquivo credencial, veja a criação de uma conta de serviço.

as permissões necessárias para as contas de serviço

quando você usa uma conta de Serviço para fornecer as credenciais para o proxy de autenticação SQL na nuvem, você deve criá-lo com permissões suficientes. Se estiver a usar os papéis de acesso e gestão de identidade mais finos (IAM) para gerir as permissões de SQL do seu cloud, deve dar à conta de serviço um papel que inclui a permissão cloudsql.instances.connect. Os papéis predefinidos SQL SQL que incluem Esta permissão são::

  • Cloud SQL Client
  • Cloud SQL Editor
  • Cloud SQL Admin

se estiver a usar os papéis herdados do projecto (visualizador, Editor, proprietário), o serviceaccount deve ter pelo menos o papel de Editor.

opções para especificar instâncias de SQL na nuvem

existem várias maneiras de dizer ao proxy de SQL Auth na nuvem a que instâncias deseja ligar. Alguns são explícitos e outros implícitos. Em algumas configurações, você não tem que dizer ao proxy SQL Auth da nuvem antes do tempo quais instâncias você deseja conectar, porque o proxy SQL Auth da nuvem se conecta com base em pedidos de conexão.

as suas opções, por exemplo, a especificação, dependem do seu sistema operativo e do ambiente:

Opção Benefícios Cautelas e Requisitos Linux/macOS
(Unix, sockets)
Java Windows Notas
FUSÍVEL
(sistema de ficheiros no Espaço do Utilizador)
Dinâmica de tomada de criação com base em solicitações de conexão; nenhum proxy é reiniciado necessário como instâncias de mudança. o fusível deve ser instalado. Suporte Não Não Use -fuse bandeira.
descoberta automática de instância não é necessário especificar instâncias; ‘sockets’ criados para todas as instâncias do projecto por omissão. Cloud SQL Auth proxy API usage is increased. Deve ter o SDK na nuvem instalado e autenticado, com um conjunto de projeto padrão. É necessário reiniciar o ‘proxy’ de autenticação SQL da nuvem para adicionar uma nova instância. Suporte Não Não Não recomendado para instâncias de produção.
a descoberta do projecto não é necessário especificar as instâncias; os ‘sockets’ são criados para todas as instâncias em projectos específicos. Cloud SQL Auth proxy API usage is increased. Deve ter o SDK na nuvem instalado e autenticado. É necessário reiniciar o ‘proxy’ de autenticação SQL da nuvem para adicionar uma nova instância. Suporte Não Não Use -projects parâmetro. Não recomendado para instâncias de produção.
instâncias especificadas na invocação do ‘proxy’ de SQL Auth na nuvem lista de instâncias conhecida e estática. deve reiniciar o proxy SQL Auth da nuvem para adicionar uma nova instância. suportado suportado com tomadas TCP suportado com tomadas TCP usar -instances parâmetro. Para várias instâncias, use uma lista separada por vírgulas, sem espaços. Aprender.
as instâncias especificadas usando metadados do Motor Compute Instance list podem ser atualizadas alterando o valor dos metadados sem reiniciar o proxy de autenticação SQL na nuvem. disponível apenas em motores computados. Suporte Suporte com sockets TCP Suporte com sockets TCP Use -instances_metadata bandeira. Aprender.

ver amostras de invocações e cordas de ligação.

mantendo o proxy da nuvem SQL Auth atualizado

o Google ocasionalmente libera novas versões do proxy da nuvem SQL Auth. Você pode ver o que é a versão corrente verificando a página de lançamentos do theCloud SQL Auth proxy GitHub.Futuros lançamentos de proxy também serão notados no fórum de anúncio do grupo do Google Cloud SQL.

API usage

The Cloud SQL Auth proxy issues requests to the Cloud SQL Admin API. Estes pedidos contamantea quota API para o seu projecto.

a maior utilização da API ocorre quando você inicia o proxy de autenticação SQL na nuvem; isto é especialmente verdadeiro se você usar a descoberta automática de instância ou o parâmetro -projects. While theCloud SQL Auth proxy is running, it issues 2 API calls per hour per connected instance.

sobre a criação de uma conta de utilizador especial para o proxy da nuvem SQL Auth

quando se liga à sua instância usando o proxy da nuvem SQL Auth, você fornece uma conta de utilizador que é usada para se ligar à instância. Você pode usar qualquer conta de usuário de banco de dados para este propósito. No entanto, como o proxy de SQL Auth da nuvem sempre se conecta a partir de um nome de host que não pode ser acessado exceto pelo proxy de SQL Auth da nuvem, você pode criar uma conta de usuário que pode ser usada apenas pelo proxy de SQL Auth da nuvem. A vantagem de fazer isso é que você pode especificar esta conta sem uma senha sem comprometer a segurança de sua instância ou seus dados.

para criar uma conta de utilizador para as ligações ‘proxy’ de SQL na nuvem, indique o nome da máquina como'cloudsqlproxy~'. Você também pode usar o endereço IPWILDCARD, que resultaria em 'cloudsqlproxy~%'. O nome completo da conta de utilizador será:

''@'cloudsqlproxy~%'

ou

''@'cloudsqlproxy~'

para ajudar a criar um utilizador, veja a criação e gestão de utilizadores.Para obter informações sobre como a nuvem SQL funciona com as contas de usuário,consulte os usuários. Para obter informações sobre as contas de utilizador do MySQL, veja as contas iniciais do MySQL na documentação do theMySQL.

Cloud SQL Auth proxy parameters and flags

The Cloud SQL Auth proxy acceptes several flags and parameters when it is started. Estas opções determinam onde e como o proxy SQL Auth cria os sockets que usa para comunicar com o SQL da nuvem, e como ele autentica.

Para obter ajuda com a Nuvem SQL Auth opções de proxy, consulte as seguintes informações:

  • Opções para autenticar a Nuvem SQL Autenticação de proxy
  • Opções para especificar Nuvem instâncias do SQL
  • Nuvem de Exemplo do SQL Autenticação de proxy invocações
  • Nuvem SQL Autenticação de proxy GitHub página
  • Nuvem SQL Autenticação de proxy de ajuda, apresentado com ./cloud_sql_proxy -help

Como o FUSÍVEL é usado com Cloud SQL Autenticação de proxy

FUSÍVEL significa”sistema de arquivos em Espaço de Usuário”.Dependendo de como o proxy SQL Auth da nuvem é invocado, ele pode usar o FUSE para criar os sockets que ele usa para se conectar com o SQL da nuvem.

ao conectar-se a partir de motores computados ou ambientes de desenvolvimento local, theCloud SQL Auth proxy usa FUSE para acessar as instâncias SQL da nuvem como se segue:

  • o diretório “/cloudsql ” é montado como um sistema de arquivos no Userspace, orFUSE, por Cloud SQL Auth proxy.

  • um processo (por exemplo, mysql) tenta procurar um arquivo chamado $INSTANCE.

  • o proxy SQL Auth na nuvem intercepta o pedido e retorna que /cloudsql/$INSTANCE é uma ligação asymbolic apontando para um ‘socket’ Unix localizado em outro lugar no sistema de arquivos.

  • o processo (por exemplo, mysql) segue o link e abre o socket Unix para o qual ele leva e conecta.

a instalação do fusível

Para Linux:

FUSE requer o programa fusermount, e um módulo do núcleo, para funcionar. Você pode verificar para ver se este programa está instalado procurando o ficheiro, /dev/fuse/. Se fusermount não estiver no seu sistema, pode instalá-lo utilizando o seu gestor de pacotes ou compilá-lo a partir do Código.

para macOS:

instalar fusíveis para macOS.

usando o proxy SQL Auth na nuvem num ambiente de produção

quando está a usar o proxy SQL Auth na nuvem num ambiente de produção, Existem alguns passos que pode tomar para garantir que o proxy SQL Auth na nuvem fornece a disponibilidade necessária para a sua aplicação.

certifique-se de que o proxy de SQL Auth na nuvem é executado como um serviço persistente

se o processo de proxy de SQL Auth na nuvem for parado, todas as conexões existentes através dele estão bloqueadas, e a sua aplicação não pode criar mais conexões para a instância de SQL na nuvem com o proxy de SQL na nuvem. Para evitar este cenário, certifique-se de que torun o proxy SQL Auth da nuvem como um serviço persistente, de modo que se o proxy SQL Auth da nuvem sair para qualquer razão, ele é reiniciado automaticamente. Isto pode ser conseguido usando aservice como systemd, upstart, ou supervisor. Para o sistema operatingsystem Windows, execute o proxy SQL Auth como um serviço Windows. Em geral, certifique-se que o proxy SQL Auth na nuvem tem os mesmos requisitos de tempo de funcionamento que o seu processo de Aplicação.

quantas cópias do proxy SQL na nuvem Auth a sua aplicação precisa de

não há necessidade de criar um processo de proxy para cada processo de aplicação; os processos de manyaplicação podem partilhar um único processo de proxy SQL na nuvem Auth. Execute um ‘proxy clientprocess’ de SQL na nuvem por estação de trabalho ou máquina virtual.

se estiver a utilizar o auto-dimensionamento para máquinas virtuais, certifique-se de que a nuvem SQL Auth proxyis incluída na sua configuração de máquina virtual, de modo que, sempre que uma máquina de newvirtual é iniciada, ela tem o seu próprio processo de proxy de nuvem SQL Auth.

cabe-lhe a si gerir quantas ligações a sua aplicação necessita,quer limitando ou agrupando as ligações. O ‘proxy’ de autenticação SQL na nuvem não coloca quaisquerlimitações nas novas taxas de ligação ou na contagem de ligações persistentes.

Reducing Cloud SQL Auth proxy output

If you need to reduce the SQL Auth proxy log, you can do so by setting-verbose=false when you start the Cloud SQL Auth proxy. Tenha em mente, no entanto, que doingso reduz a eficácia da saída de proxy SQL Auth na nuvem no diagnóstico de problemas de conexão.

Como failover afeta a Nuvem SQL Autenticação de proxy

Se você estiver executando o Cloud SQL Autenticação de proxy em uma instância configurado para Alta Disponibilidade,e uma activação pós-falha ocorre, ligações, através da Nuvem SQL Autenticação de proxy são afetados da mesma wayas ligações sobre IP: todas as conexões existentes são perdidas, e o applicationmust estabelecer novas conexões. No entanto, não é necessária qualquer intervenção manual; a aplicação pode continuar a utilizar as mesmas cordas de ligação que era antes.

manter a imagem do ‘proxy’ SQL Auth na nuvem até à data

a imagem do ‘proxy’ SQL Auth na nuvem baseia-se numa versão específica do ‘proxy’ SQL Auth na nuvem.Quando uma nova versão da Nuvem SQL Autenticação de proxy torna-se disponível, puxe a newversion da Nuvem SQL Autenticação de proxy janela de Encaixe imagem para manter seu ambiente atualizado. Pode ver a versão actual do ‘proxy’ de autenticação SQL da nuvem, verificando a página de lançamentos do ‘proxy’ Github ‘ do ‘theCloud SQL Auth’.

  • Saiba mais sobre o proxy SQL Auth na nuvem.

Deixe uma resposta

O seu endereço de email não será publicado.