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
- How the Cloud SQL Auth proxy works
- Requisitos para a utilização da Nuvem SQL Autenticação de proxy
- Nuvem SQL Autenticação de proxy opções de inicialização
- Using a service account for authentication
- as permissões necessárias para as contas de serviço
- opções para especificar instâncias de SQL na nuvem
- mantendo o proxy da nuvem SQL Auth atualizado
- API usage
- sobre a criação de uma conta de utilizador especial para o proxy da nuvem SQL Auth
- Cloud SQL Auth proxy parameters and flags
- Como o FUSÍVEL é usado com Cloud SQL Autenticação de proxy
- a instalação do fusível
- usando o proxy SQL Auth na nuvem num ambiente de produção
- certifique-se de que o proxy de SQL Auth na nuvem é executado como um serviço persistente
- quantas cópias do proxy SQL na nuvem Auth a sua aplicação precisa de
- Reducing Cloud SQL Auth proxy output
- Como failover afeta a Nuvem SQL Autenticação de proxy
- manter a imagem do ‘proxy’ SQL Auth na nuvem até à data
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:
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.