Esta página fornece informações sobre o uso de IP privado com o Cloud SQL. Para obter instruções passo a passo sobre como configurar uma instância do Cloud SQL para usar IP privado, consulte Configurando IP privado .
Para soluções Terraform para redes Cloud SQL, consulte Soluções de configuração de rede em nuvem simplificadas .
Visão geral
Configurar uma instância do Cloud SQL para usar um IP privado requer acesso a serviços privados . O acesso a serviços privados permite criar conexões privadas entre sua rede VPC e a rede subjacente. Google Cloud rede VPC do produtor de serviço . Google Cloud entidades que oferecem serviços, como o Cloud SQL, são chamadas de produtores de serviços . Cada Google Cloud O serviço cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede normalmente é um bloco CIDR /24 escolhido pelo serviço e proveniente do intervalo de endereços IP alocado.
Conexões privadas tornam os serviços acessíveis sem precisar passar pela internet ou usar endereços IP externos. Por esse motivo, o IP privado proporciona menor latência de rede do que o IP público.
Você usa acesso a serviços privados para se conectar a instâncias do Cloud SQL:
De fontes internas com acesso à sua rede VPC.
De fontes externas por meio de um túnel VPN , um túnel SSH reverso ou um Cloud Interconnect para sua rede VPC.
Você pode se conectar a endereços IP privados em diferentes regiões. Você também pode se conectar usando uma VPC compartilhada entre projetos.
Intervalos de endereços IP alocados
Para usar instâncias do Cloud SQL em uma rede VPC com IP privado, você precisa alocar intervalos de endereços IP para configurar o acesso a serviços privados para essa VPC. Para organizar suas instâncias do Cloud SQL, convém alocar vários intervalos de endereços IP para a conexão privada. Ao configurar uma instância do Cloud SQL para IP privado, você pode selecionar a rede VPC e o intervalo de endereços IP alocado.
Tamanho do intervalo alocado
Aloque intervalos de IP grandes o suficiente para o Cloud SQL e outrosGoogle Cloud Para os serviços gerenciados que você planeja usar, cada um deles exigirá blocos IP dedicados dos intervalos alocados. O tamanho mínimo é um único bloco /24 (256 endereços), mas o tamanho recomendado é um bloco /16 (65.536 endereços).
Ao alocar um intervalo de endereços IP , você precisa levar em consideração o número de instâncias que planeja criar.
Máscara de sub-rede | Endereços | Instâncias utilizáveis do Cloud SQL |
---|---|---|
/24 | 256 | 50 |
/23 | 512 | 100 |
/22 | 1024 | 200 |
/21 | 2048 | 400 |
/20 | 4096 | 800 |
O Cloud SQL usa intervalos CIDR /24 como unidade de intervalo, e cada unidade só pode ser usada para instâncias do Cloud SQL em uma única região. Por exemplo, se você criar duas instâncias do Cloud SQL, mas para duas regiões diferentes, deverá haver pelo menos dois intervalos CIDR /24.
Além disso, se um projeto começou a usar o Cloud SQL antes de 1º de abril de 2021, as instâncias do Postgres não podem compartilhar a mesma unidade de intervalo com as instâncias do MySQL e do SQL Server e precisam ter a sua própria unidade em cada região. Projetos mais recentes não estão sujeitos a essa limitação.
Configure o acesso a serviços privados para sua rede
Ao configurar a conectividade IP privada pela primeira vez em uma rede VPC específica, você precisa executar um procedimento único para configurar o acesso a serviços privados para o Cloud SQL .
Após estabelecer o acesso aos serviços privados, você pode criar uma instância do Cloud SQL configurada para usar IP privado ou configurar um IP privado para uma instância existente do Cloud SQL. Consulte Configurando IP privado para obter instruções passo a passo.
Sempre que você alterar uma conexão estabelecida, será necessário atualizar vpc-peerings
também.
Requisitos para IP privado
Para usar um IP privado, sua rede e ambiente de aplicativo devem atender aos seguintes requisitos. Além disso, configurar um IP privado pela primeira vez requer permissões adicionais do IAM.
Requisitos do ambiente de aplicação
- Se você estiver se conectando do GKE, deverá executar o GKE 1.8 ou superior em um cluster nativo de VPC .
Requisitos de API e IAM
- Você deve habilitar a API de rede de serviços para seu projeto.
- Para gerenciar uma conexão de acesso a serviços privados, seu usuário precisa ter as seguintes permissões do IAM. Se o usuário não tiver as permissões necessárias, você poderá receber erros de permissões insuficientes.
-
compute.networks.list
-
compute.addresses.create
-
compute.addresses.list
-
servicenetworking.services.addPeering
Se estiver usando uma rede VPC compartilhada , você também precisará adicionar o mesmo usuário e atribuir as mesmas permissões no projeto host.
-
Se você estiver usando uma rede VPC compartilhada , também precisará habilitar a API de rede de serviços para o projeto host.
Exemplo
No exemplo a seguir, a rede VPC do cliente alocou o intervalo de endereços 10.240.0.0/16
para Google Cloud serviços e estabeleceu uma conexão privada que utiliza o alcance alocado. Cada Google Cloud serviço (por exemplo, Cloud SQL) cria uma sub-rede do bloco alocado para provisionar novos recursos em uma determinada região, como instâncias do Cloud SQL.
- A conexão privada recebe o intervalo alocado
10.240.0.0/16
. A partir dessa alocação, Google Cloud os serviços podem criar sub-redes onde novos recursos são provisionados. - No Google Cloud lado dos serviços da conexão privada, Google Cloud cria um projeto para o cliente. O projeto é isolado, o que significa que nenhum outro cliente o compartilha e o cliente é cobrado apenas pelos recursos que ele provisiona.
- Cada Google Cloud O serviço cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede normalmente é um bloco CIDR
/24
escolhido pelo serviço e proveniente do intervalo de endereços IP alocado. Não é possível modificar a sub-rede do produtor do serviço. Um serviço provisiona novos recursos em sub-redes regionais existentes que foram criadas anteriormente por ele. Se uma sub-rede estiver cheia, o serviço cria uma nova sub-rede na mesma região. - As instâncias de VM na rede do cliente podem acessar recursos de serviço em qualquer região, desde que o serviço ofereça suporte a isso. Alguns serviços podem não oferecer suporte à comunicação entre regiões. Consulte a documentação do serviço relevante para obter mais informações.
- Os custos de transferência de dados de saída para tráfego inter-regional, em que uma instância de VM se comunica com recursos em uma região diferente, ainda se aplicam.
- A instância do Cloud SQL recebe o endereço IP
10.240.0.2
. Na rede VPC do Cliente, as solicitações com destino10.240.0.2
são roteadas para a conexão privada, passando pela rede do produtor do serviço. Após atingir a rede de serviço, esta contém rotas que direcionam a solicitação para o recurso correto. - O tráfego entre redes VPC viaja internamente dentro Google Cloudda rede, não pela internet pública.
Problemas de rede
O Cloud SQL aloca uma sub-rede /24 do intervalo de IPs de acesso a serviços privados para cada região. Por exemplo, para alocar instâncias do PostgreSQL em duas regiões, é necessário que os intervalos de endereços IP alocados incluam pelo menos duas sub-redes disponíveis de tamanho /24.
Conexões com uma instância do Cloud SQL usando um endereço IP privado são autorizadas automaticamente para os intervalos de endereços RFC 1918. Dessa forma, todos os clientes privados podem acessar o banco de dados sem passar pelo Proxy de Autenticação do Cloud SQL.
Por padrão, o Cloud SQL não aprende rotas de sub-rede não RFC 1918 da sua VPC. Você precisa atualizar o peering de rede para o Cloud SQL para exportar quaisquer rotas não RFC 1918.
Segurança
O tráfego sobre o acesso a serviços privados é fornecido com um certo nível de criptografia. Para mais informações, consulte Google Cloudcriptografia e autenticação de rede virtual .
O Cloud SQL Auth Proxy pode ser configurado para se conectar usando IP privado e fornece autenticação usando credenciais do IAM e criptografia de ponta a ponta usando um certificado SSL/TLS rotativo.
Se seus requisitos de segurança exigirem certificados SSL/TLS autogerenciados que você gerencia, consulte as instruções em Configurando SSL/TLS .
Criar uma rede VPC para cada instância com um endereço IP privado proporciona melhor isolamento de rede do que colocar todas as instâncias na rede VPC "padrão".
Conectividade de múltiplas VPCs
O Cloud SQL oferece suporte a endereços IP privados por meio do acesso privado a serviços . Quando você cria uma instância do Cloud SQL, o Cloud SQL cria a instância em sua própria nuvem privada virtual (VPC), chamada de VPC do Cloud SQL. A ativação do IP privado requer a configuração de uma conexão de peering entre a VPC do Cloud SQL e sua rede VPC. Isso permite que os recursos na sua rede VPC acessem os endereços IP internos dos seus recursos do Cloud SQL na rede VPC do Cloud SQL.
Usando o VPC Network Peering , o Cloud SQL implementa internamente o acesso privado a serviços, o que permite que endereços IP internos se conectem entre duas redes VPC, independentemente de pertencerem ao mesmo projeto ou organização. No entanto, como o VPC Network Peering não é transitivo, ele transmite apenas rotas entre as duas VPCs que estão diretamente pareadas. Se você tiver uma VPC adicional, ela não poderá acessar seus recursos do Cloud SQL usando a conexão configurada com sua VPC original.
Para atenuar essa limitação e conectar sua instância do Cloud SQL a várias VPCs usando endereços IP privados, você pode usar as seguintes opções de conexão:
- Conecte-se usando rotas anunciadas personalizadas
- Conecte-se usando um proxy intermediário (SOCKS5)
- Conecte-se usando o Cloud SQL Auth Proxy como um serviço
Para obter mais informações sobre como conectar várias VPCs, consulte Conectar sua instância a várias VPCs .
Referência rápida para tópicos de IP privado
Ao gerenciar instâncias do Cloud SQL usando IP privado, alguns dos seguintes tópicos podem ser interessantes:
Tópico | Discussão |
---|---|
Redes VPC compartilhadas | Você pode criar instâncias do Cloud SQL com endereços IP privados em uma rede VPC compartilhada . No entanto, não é possível atribuir um endereço IP privado em uma rede VPC compartilhada a uma instância existente do Cloud SQL. |
Regiões | Você pode se conectar através de IP privado entre regiões. |
Redes legadas | Não é possível se conectar ao IP privado de uma instância do Cloud SQL a partir de uma rede legada . Redes legadas não oferecem suporte ao peering de rede VPC nem ao acesso a serviços privados. |
Removendo um IP privado | Depois de configurar uma instância do Cloud SQL para usar IP privado, você não poderá remover o recurso de IP privado dessa instância. |
IP público e privado | Você pode usar IP público e IP privado para se conectar à mesma instância do Cloud SQL. Nenhum método de conexão afeta o outro. |
Instâncias existentes do Cloud SQL | Você pode configurar uma instância para usar IP privado no momento da criação. Você também pode configurar uma instância existente para usar IP privado. Configurar uma instância existente para usar IP privado ou alterar a rede à qual ela está conectada faz com que a instância seja reiniciada, resultando em alguns minutos de inatividade. |
Endereços IP estáticos | Para endereços IP públicos e privados, o endereço de entrada da instância do Cloud SQL é estático; ele não muda. O endereço de saída nem sempre é estático, exceto para endereços IP públicos de saída de réplicas de servidores externos, que são sempre estáticos. |
Réplicas | Uma réplica herda seu status de IP privado de sua instância primária. Não é possível configurar um IP privado diretamente em uma réplica. Se você estiver se conectando a uma réplica usando um endereço IP privado, não precisará criar uma conexão privada VPC adicional para a réplica, pois ela também é herdada da instância primária. |
O Proxy de Autenticação do Cloud SQL | Para se conectar a uma instância do Cloud SQL usando um IP privado, o Proxy de Autenticação do Cloud SQL precisa estar em um recurso com acesso à mesma rede VPC da instância. Se a instância tiver ambos os tipos de IP habilitados, o Proxy de Autenticação do Cloud SQL usará o IP público por padrão. Para garantir que ele esteja usando um IP privado, você precisa passar o sinalizador -ip_address_types=PRIVATE para o Proxy de Autenticação do Cloud SQL. Saiba mais. |
Acesso VPC sem servidor | Para se conectar de uma fonte sem servidor, como o ambiente padrão do App Engine , o Cloud Run ou as funções do Cloud Run , seu aplicativo ou função se conecta diretamente à sua instância por meio do Serverless VPC Access sem o Cloud SQL Auth Proxy. |
Peering de rede VPC | Uma conexão que utiliza acesso a serviços privados depende do peering de rede VPC. No entanto, você não cria o peering de rede VPC explicitamente, pois o peering é interno a Google Cloud. Depois de criar a conexão de acesso a serviços privados, você pode ver seu VPC Network Peering subjacente na página VPC Network Peering noGoogle Cloud console, mas não o exclua, a menos que queira remover a conexão privada . Saiba mais sobre o peering de rede VPC. |
Controles de serviço VPC | Os VPC Service Controls melhoram sua capacidade de mitigar o risco de exfiltração de dados. Com os VPC Service Controls, você cria perímetros ao redor da instância do Cloud SQL. Os VPC Service Controls restringem o acesso externo aos recursos dentro do perímetro. Somente clientes e recursos dentro do perímetro podem interagir entre si. Para obter mais informações, consulte a Visão Geral dos VPC Service Controls . Consulte também as limitações do Cloud SQL ao usar os VPC Service Controls . Para usar os VPC Service Controls com o Cloud SQL, consulte a seção "Configurando os VPC Service Controls" . |
Peering transitivo | Somente redes com peering direto podem se comunicar. O peering transitivo não é suportado. Em outras palavras, se a rede VPC N1 estiver com peering de N2 e N3, mas N2 e N3 não estiverem conectados diretamente, a rede VPC N2 não poderá se comunicar com a rede VPC N3 pelo peering de rede VPC . Clientes em um projeto podem se conectar a instâncias do Cloud SQL em vários projetos usando redes VPC compartilhadas . |
Movendo instâncias do Cloud SQL | As instâncias do Cloud SQL só podem ser movidas entre redes pertencentes ao projeto em que residem. Além disso, as instâncias do Cloud SQL não podem ser movidas entre projetos nem entre redes hospedadas por projetos diferentes. |
O que vem a seguir
- Veja como configurar IP privado .
- Saiba mais sobre acesso a serviços privados .
- Veja como configurar o acesso a serviços privados para instâncias do Cloud SQL.
- Saiba mais sobre o Cloud VPN .
- Saiba mais sobre redes VPC .
- Saiba mais sobre o peering de rede VPC .
- Saiba mais sobre VPC compartilhada .
- Saiba mais sobre o Cloud SQL Auth Proxy .
Esta página fornece informações sobre o uso de IP privado com o Cloud SQL. Para obter instruções passo a passo sobre como configurar uma instância do Cloud SQL para usar IP privado, consulte Configurando IP privado .
Para soluções Terraform para redes Cloud SQL, consulte Soluções de configuração de rede em nuvem simplificadas .
Visão geral
Configurar uma instância do Cloud SQL para usar um IP privado requer acesso a serviços privados . O acesso a serviços privados permite criar conexões privadas entre sua rede VPC e a rede subjacente. Google Cloud rede VPC do produtor de serviço . Google Cloud entidades que oferecem serviços, como o Cloud SQL, são chamadas de produtores de serviços . Cada Google Cloud O serviço cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede normalmente é um bloco CIDR /24 escolhido pelo serviço e proveniente do intervalo de endereços IP alocado.
Conexões privadas tornam os serviços acessíveis sem precisar passar pela internet ou usar endereços IP externos. Por esse motivo, o IP privado proporciona menor latência de rede do que o IP público.
Você usa acesso a serviços privados para se conectar a instâncias do Cloud SQL:
De fontes internas com acesso à sua rede VPC.
De fontes externas por meio de um túnel VPN , um túnel SSH reverso ou um Cloud Interconnect para sua rede VPC.
Você pode se conectar a endereços IP privados em diferentes regiões. Você também pode se conectar usando uma VPC compartilhada entre projetos.
Intervalos de endereços IP alocados
Para usar instâncias do Cloud SQL em uma rede VPC com IP privado, você precisa alocar intervalos de endereços IP para configurar o acesso a serviços privados para essa VPC. Para organizar suas instâncias do Cloud SQL, convém alocar vários intervalos de endereços IP para a conexão privada. Ao configurar uma instância do Cloud SQL para IP privado, você pode selecionar a rede VPC e o intervalo de endereços IP alocado.
Tamanho do intervalo alocado
Aloque intervalos de IP grandes o suficiente para o Cloud SQL e outrosGoogle Cloud Para os serviços gerenciados que você planeja usar, cada um deles exigirá blocos IP dedicados dos intervalos alocados. O tamanho mínimo é um único bloco /24 (256 endereços), mas o tamanho recomendado é um bloco /16 (65.536 endereços).
Ao alocar um intervalo de endereços IP , você precisa levar em consideração o número de instâncias que planeja criar.
Máscara de sub-rede | Endereços | Instâncias utilizáveis do Cloud SQL |
---|---|---|
/24 | 256 | 50 |
/23 | 512 | 100 |
/22 | 1024 | 200 |
/21 | 2048 | 400 |
/20 | 4096 | 800 |
O Cloud SQL usa intervalos CIDR /24 como unidade de intervalo, e cada unidade só pode ser usada para instâncias do Cloud SQL em uma única região. Por exemplo, se você criar duas instâncias do Cloud SQL, mas para duas regiões diferentes, deverá haver pelo menos dois intervalos CIDR /24.
Além disso, se um projeto começou a usar o Cloud SQL antes de 1º de abril de 2021, as instâncias do Postgres não podem compartilhar a mesma unidade de intervalo com as instâncias do MySQL e do SQL Server e precisam ter a sua própria unidade em cada região. Projetos mais recentes não estão sujeitos a essa limitação.
Configure o acesso a serviços privados para sua rede
Ao configurar a conectividade IP privada pela primeira vez em uma rede VPC específica, você precisa executar um procedimento único para configurar o acesso a serviços privados para o Cloud SQL .
Após estabelecer o acesso aos serviços privados, você pode criar uma instância do Cloud SQL configurada para usar IP privado ou configurar um IP privado para uma instância existente do Cloud SQL. Consulte Configurando IP privado para obter instruções passo a passo.
Sempre que você alterar uma conexão estabelecida, será necessário atualizar vpc-peerings
também.
Requisitos para IP privado
Para usar um IP privado, sua rede e ambiente de aplicativo devem atender aos seguintes requisitos. Além disso, configurar um IP privado pela primeira vez requer permissões adicionais do IAM.
Requisitos do ambiente de aplicação
- Se você estiver se conectando do GKE, deverá executar o GKE 1.8 ou superior em um cluster nativo de VPC .
Requisitos de API e IAM
- Você deve habilitar a API de rede de serviços para seu projeto.
- Para gerenciar uma conexão de acesso a serviços privados, seu usuário precisa ter as seguintes permissões do IAM. Se o usuário não tiver as permissões necessárias, você poderá receber erros de permissões insuficientes.
-
compute.networks.list
-
compute.addresses.create
-
compute.addresses.list
-
servicenetworking.services.addPeering
Se estiver usando uma rede VPC compartilhada , você também precisará adicionar o mesmo usuário e atribuir as mesmas permissões no projeto host.
-
Se você estiver usando uma rede VPC compartilhada , também precisará habilitar a API de rede de serviços para o projeto host.
Exemplo
No exemplo a seguir, a rede VPC do cliente alocou o intervalo de endereços 10.240.0.0/16
para Google Cloud serviços e estabeleceu uma conexão privada que utiliza o alcance alocado. Cada Google Cloud serviço (por exemplo, Cloud SQL) cria uma sub-rede do bloco alocado para provisionar novos recursos em uma determinada região, como instâncias do Cloud SQL.
- A conexão privada recebe o intervalo alocado
10.240.0.0/16
. A partir dessa alocação, Google Cloud os serviços podem criar sub-redes onde novos recursos são provisionados. - No Google Cloud lado dos serviços da conexão privada, Google Cloud cria um projeto para o cliente. O projeto é isolado, o que significa que nenhum outro cliente o compartilha e o cliente é cobrado apenas pelos recursos que ele provisiona.
- Cada Google Cloud O serviço cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede normalmente é um bloco CIDR
/24
escolhido pelo serviço e proveniente do intervalo de endereços IP alocado. Não é possível modificar a sub-rede do produtor do serviço. Um serviço provisiona novos recursos em sub-redes regionais existentes que foram criadas anteriormente por ele. Se uma sub-rede estiver cheia, o serviço cria uma nova sub-rede na mesma região. - As instâncias de VM na rede do cliente podem acessar recursos de serviço em qualquer região, desde que o serviço ofereça suporte a isso. Alguns serviços podem não oferecer suporte à comunicação entre regiões. Consulte a documentação do serviço relevante para obter mais informações.
- Os custos de transferência de dados de saída para tráfego inter-regional, em que uma instância de VM se comunica com recursos em uma região diferente, ainda se aplicam.
- A instância do Cloud SQL recebe o endereço IP
10.240.0.2
. Na rede VPC do Cliente, as solicitações com destino10.240.0.2
são roteadas para a conexão privada, passando pela rede do produtor do serviço. Após atingir a rede de serviço, esta contém rotas que direcionam a solicitação para o recurso correto. - O tráfego entre redes VPC viaja internamente dentro Google Cloudda rede, não pela internet pública.
Problemas de rede
O Cloud SQL aloca uma sub-rede /24 do intervalo de IPs de acesso a serviços privados para cada região. Por exemplo, para alocar instâncias do PostgreSQL em duas regiões, é necessário que os intervalos de endereços IP alocados incluam pelo menos duas sub-redes disponíveis de tamanho /24.
Conexões com uma instância do Cloud SQL usando um endereço IP privado são autorizadas automaticamente para os intervalos de endereços RFC 1918. Dessa forma, todos os clientes privados podem acessar o banco de dados sem passar pelo Proxy de Autenticação do Cloud SQL.
Por padrão, o Cloud SQL não aprende rotas de sub-rede não RFC 1918 da sua VPC. Você precisa atualizar o peering de rede para o Cloud SQL para exportar quaisquer rotas não RFC 1918.
Segurança
O tráfego sobre o acesso a serviços privados é fornecido com um certo nível de criptografia. Para mais informações, consulte Google Cloudcriptografia e autenticação de rede virtual .
O Cloud SQL Auth Proxy pode ser configurado para se conectar usando IP privado e fornece autenticação usando credenciais do IAM e criptografia de ponta a ponta usando um certificado SSL/TLS rotativo.
Se seus requisitos de segurança exigirem certificados SSL/TLS autogerenciados que você gerencia, consulte as instruções em Configurando SSL/TLS .
Criar uma rede VPC para cada instância com um endereço IP privado proporciona melhor isolamento de rede do que colocar todas as instâncias na rede VPC "padrão".
Conectividade de múltiplas VPCs
O Cloud SQL oferece suporte a endereços IP privados por meio do acesso privado a serviços . Quando você cria uma instância do Cloud SQL, o Cloud SQL cria a instância em sua própria nuvem privada virtual (VPC), chamada de VPC do Cloud SQL. A ativação do IP privado requer a configuração de uma conexão de peering entre a VPC do Cloud SQL e sua rede VPC. Isso permite que os recursos na sua rede VPC acessem os endereços IP internos dos seus recursos do Cloud SQL na rede VPC do Cloud SQL.
Usando o VPC Network Peering , o Cloud SQL implementa internamente o acesso privado a serviços, o que permite que endereços IP internos se conectem entre duas redes VPC, independentemente de pertencerem ao mesmo projeto ou organização. No entanto, como o VPC Network Peering não é transitivo, ele transmite apenas rotas entre as duas VPCs que estão diretamente pareadas. Se você tiver uma VPC adicional, ela não poderá acessar seus recursos do Cloud SQL usando a conexão configurada com sua VPC original.
Para atenuar essa limitação e conectar sua instância do Cloud SQL a várias VPCs usando endereços IP privados, você pode usar as seguintes opções de conexão:
- Conecte-se usando rotas anunciadas personalizadas
- Conecte-se usando um proxy intermediário (SOCKS5)
- Conecte-se usando o Cloud SQL Auth Proxy como um serviço
Para obter mais informações sobre como conectar várias VPCs, consulte Conectar sua instância a várias VPCs .
Referência rápida para tópicos de IP privado
Ao gerenciar instâncias do Cloud SQL usando IP privado, alguns dos seguintes tópicos podem ser interessantes:
Tópico | Discussão |
---|---|
Redes VPC compartilhadas | Você pode criar instâncias do Cloud SQL com endereços IP privados em uma rede VPC compartilhada . No entanto, não é possível atribuir um endereço IP privado em uma rede VPC compartilhada a uma instância existente do Cloud SQL. |
Regiões | Você pode se conectar através de IP privado entre regiões. |
Redes legadas | Não é possível se conectar ao IP privado de uma instância do Cloud SQL a partir de uma rede legada . Redes legadas não oferecem suporte ao peering de rede VPC nem ao acesso a serviços privados. |
Removendo um IP privado | Depois de configurar uma instância do Cloud SQL para usar IP privado, você não poderá remover o recurso de IP privado dessa instância. |
IP público e privado | Você pode usar IP público e IP privado para se conectar à mesma instância do Cloud SQL. Nenhum método de conexão afeta o outro. |
Instâncias existentes do Cloud SQL | Você pode configurar uma instância para usar IP privado no momento da criação. Você também pode configurar uma instância existente para usar IP privado. Configurar uma instância existente para usar IP privado ou alterar a rede à qual ela está conectada faz com que a instância seja reiniciada, resultando em alguns minutos de inatividade. |
Endereços IP estáticos | Para endereços IP públicos e privados, o endereço de entrada da instância do Cloud SQL é estático; ele não muda. O endereço de saída nem sempre é estático, exceto para endereços IP públicos de saída de réplicas de servidores externos, que são sempre estáticos. |
Réplicas | Uma réplica herda seu status de IP privado de sua instância primária. Não é possível configurar um IP privado diretamente em uma réplica. Se você estiver se conectando a uma réplica usando um endereço IP privado, não precisará criar uma conexão privada VPC adicional para a réplica, pois ela também é herdada da instância primária. |
O Proxy de Autenticação do Cloud SQL | Para se conectar a uma instância do Cloud SQL usando um IP privado, o Proxy de Autenticação do Cloud SQL precisa estar em um recurso com acesso à mesma rede VPC da instância. Se a instância tiver ambos os tipos de IP habilitados, o Proxy de Autenticação do Cloud SQL usará o IP público por padrão. Para garantir que ele esteja usando um IP privado, você precisa passar o sinalizador -ip_address_types=PRIVATE para o Proxy de Autenticação do Cloud SQL. Saiba mais. |
Acesso VPC sem servidor | Para se conectar de uma fonte sem servidor, como o ambiente padrão do App Engine , o Cloud Run ou as funções do Cloud Run , seu aplicativo ou função se conecta diretamente à sua instância por meio do Serverless VPC Access sem o Cloud SQL Auth Proxy. |
Peering de rede VPC | Uma conexão que utiliza acesso a serviços privados depende do peering de rede VPC. No entanto, você não cria o peering de rede VPC explicitamente, pois o peering é interno a Google Cloud. Depois de criar a conexão de acesso a serviços privados, você pode ver seu VPC Network Peering subjacente na página VPC Network Peering noGoogle Cloud console, mas não o exclua, a menos que queira remover a conexão privada . Saiba mais sobre o peering de rede VPC. |
Controles de serviço VPC | Os VPC Service Controls melhoram sua capacidade de mitigar o risco de exfiltração de dados. Com os VPC Service Controls, você cria perímetros ao redor da instância do Cloud SQL. Os VPC Service Controls restringem o acesso externo aos recursos dentro do perímetro. Somente clientes e recursos dentro do perímetro podem interagir entre si. Para obter mais informações, consulte a Visão Geral dos VPC Service Controls . Consulte também as limitações do Cloud SQL ao usar os VPC Service Controls . Para usar os VPC Service Controls com o Cloud SQL, consulte a seção "Configurando os VPC Service Controls" . |
Peering transitivo | Somente redes com peering direto podem se comunicar. O peering transitivo não é suportado. Em outras palavras, se a rede VPC N1 estiver com peering de N2 e N3, mas N2 e N3 não estiverem conectados diretamente, a rede VPC N2 não poderá se comunicar com a rede VPC N3 pelo peering de rede VPC . Clientes em um projeto podem se conectar a instâncias do Cloud SQL em vários projetos usando redes VPC compartilhadas . |
Movendo instâncias do Cloud SQL | As instâncias do Cloud SQL só podem ser movidas entre redes pertencentes ao projeto em que residem. Além disso, as instâncias do Cloud SQL não podem ser movidas entre projetos nem entre redes hospedadas por projetos diferentes. |
O que vem a seguir
- Veja como configurar IP privado .
- Saiba mais sobre acesso a serviços privados .
- Veja como configurar o acesso a serviços privados para instâncias do Cloud SQL.
- Saiba mais sobre o Cloud VPN .
- Saiba mais sobre redes VPC .
- Saiba mais sobre o peering de rede VPC .
- Saiba mais sobre VPC compartilhada .
- Saiba mais sobre o Cloud SQL Auth Proxy .
Esta página fornece informações sobre o uso de IP privado com o Cloud SQL. Para obter instruções passo a passo sobre como configurar uma instância do Cloud SQL para usar IP privado, consulte Configurando IP privado .
Para soluções Terraform para redes Cloud SQL, consulte Soluções de configuração de rede em nuvem simplificadas .
Visão geral
Configurar uma instância do Cloud SQL para usar um IP privado requer acesso a serviços privados . O acesso a serviços privados permite criar conexões privadas entre sua rede VPC e a rede subjacente. Google Cloud rede VPC do produtor de serviço . Google Cloud entidades que oferecem serviços, como o Cloud SQL, são chamadas de produtores de serviços . Cada Google Cloud O serviço cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede normalmente é um bloco CIDR /24 escolhido pelo serviço e proveniente do intervalo de endereços IP alocado.
Conexões privadas tornam os serviços acessíveis sem precisar passar pela internet ou usar endereços IP externos. Por esse motivo, o IP privado proporciona menor latência de rede do que o IP público.
Você usa acesso a serviços privados para se conectar a instâncias do Cloud SQL:
De fontes internas com acesso à sua rede VPC.
De fontes externas por meio de um túnel VPN , um túnel SSH reverso ou um Cloud Interconnect para sua rede VPC.
Você pode se conectar a endereços IP privados em diferentes regiões. Você também pode se conectar usando uma VPC compartilhada entre projetos.
Intervalos de endereços IP alocados
Para usar instâncias do Cloud SQL em uma rede VPC com IP privado, você precisa alocar intervalos de endereços IP para configurar o acesso a serviços privados para essa VPC. Para organizar suas instâncias do Cloud SQL, convém alocar vários intervalos de endereços IP para a conexão privada. Ao configurar uma instância do Cloud SQL para IP privado, você pode selecionar a rede VPC e o intervalo de endereços IP alocado.
Tamanho do intervalo alocado
Aloque intervalos de IP grandes o suficiente para o Cloud SQL e outrosGoogle Cloud Para os serviços gerenciados que você planeja usar, cada um deles exigirá blocos IP dedicados dos intervalos alocados. O tamanho mínimo é um único bloco /24 (256 endereços), mas o tamanho recomendado é um bloco /16 (65.536 endereços).
Ao alocar um intervalo de endereços IP , você precisa levar em consideração o número de instâncias que planeja criar.
Máscara de sub-rede | Endereços | Instâncias utilizáveis do Cloud SQL |
---|---|---|
/24 | 256 | 50 |
/23 | 512 | 100 |
/22 | 1024 | 200 |
/21 | 2048 | 400 |
/20 | 4096 | 800 |
O Cloud SQL usa intervalos CIDR /24 como unidade de intervalo, e cada unidade só pode ser usada para instâncias do Cloud SQL em uma única região. Por exemplo, se você criar duas instâncias do Cloud SQL, mas para duas regiões diferentes, deverá haver pelo menos dois intervalos CIDR /24.
Além disso, se um projeto começou a usar o Cloud SQL antes de 1º de abril de 2021, as instâncias do Postgres não podem compartilhar a mesma unidade de intervalo com as instâncias do MySQL e do SQL Server e precisam ter a sua própria unidade em cada região. Projetos mais recentes não estão sujeitos a essa limitação.
Configure o acesso a serviços privados para sua rede
Ao configurar a conectividade IP privada pela primeira vez em uma rede VPC específica, você precisa executar um procedimento único para configurar o acesso a serviços privados para o Cloud SQL .
Após estabelecer o acesso aos serviços privados, você pode criar uma instância do Cloud SQL configurada para usar IP privado ou configurar um IP privado para uma instância existente do Cloud SQL. Consulte Configurando IP privado para obter instruções passo a passo.
Sempre que você alterar uma conexão estabelecida, será necessário atualizar vpc-peerings
também.
Requisitos para IP privado
Para usar um IP privado, sua rede e ambiente de aplicativo devem atender aos seguintes requisitos. Além disso, configurar um IP privado pela primeira vez requer permissões adicionais do IAM.
Requisitos do ambiente de aplicação
- Se você estiver se conectando do GKE, deverá executar o GKE 1.8 ou superior em um cluster nativo de VPC .
Requisitos de API e IAM
- Você deve habilitar a API de rede de serviços para seu projeto.
- Para gerenciar uma conexão de acesso a serviços privados, seu usuário precisa ter as seguintes permissões do IAM. Se o usuário não tiver as permissões necessárias, você poderá receber erros de permissões insuficientes.
-
compute.networks.list
-
compute.addresses.create
-
compute.addresses.list
-
servicenetworking.services.addPeering
Se estiver usando uma rede VPC compartilhada , você também precisará adicionar o mesmo usuário e atribuir as mesmas permissões no projeto host.
-
Se você estiver usando uma rede VPC compartilhada , também precisará habilitar a API de rede de serviços para o projeto host.
Exemplo
No exemplo a seguir, a rede VPC do cliente alocou o intervalo de endereços 10.240.0.0/16
para Google Cloud serviços e estabeleceu uma conexão privada que utiliza o alcance alocado. Cada Google Cloud serviço (por exemplo, Cloud SQL) cria uma sub-rede do bloco alocado para provisionar novos recursos em uma determinada região, como instâncias do Cloud SQL.
- A conexão privada recebe o intervalo alocado
10.240.0.0/16
. A partir dessa alocação, Google Cloud os serviços podem criar sub-redes onde novos recursos são provisionados. - No Google Cloud lado dos serviços da conexão privada, Google Cloud cria um projeto para o cliente. O projeto é isolado, o que significa que nenhum outro cliente o compartilha e o cliente é cobrado apenas pelos recursos que ele provisiona.
- Cada Google Cloud O serviço cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede normalmente é um bloco CIDR
/24
escolhido pelo serviço e proveniente do intervalo de endereços IP alocado. Não é possível modificar a sub-rede do produtor do serviço. Um serviço provisiona novos recursos em sub-redes regionais existentes que foram criadas anteriormente por ele. Se uma sub-rede estiver cheia, o serviço cria uma nova sub-rede na mesma região. - As instâncias de VM na rede do cliente podem acessar recursos de serviço em qualquer região, desde que o serviço ofereça suporte a isso. Alguns serviços podem não oferecer suporte à comunicação entre regiões. Consulte a documentação do serviço relevante para obter mais informações.
- Os custos de transferência de dados de saída para tráfego inter-regional, em que uma instância de VM se comunica com recursos em uma região diferente, ainda se aplicam.
- A instância do Cloud SQL recebe o endereço IP
10.240.0.2
. Na rede VPC do Cliente, as solicitações com destino10.240.0.2
são roteadas para a conexão privada, passando pela rede do produtor do serviço. Após atingir a rede de serviço, esta contém rotas que direcionam a solicitação para o recurso correto. - O tráfego entre redes VPC viaja internamente dentro Google Cloudda rede, não pela internet pública.
Problemas de rede
O Cloud SQL aloca uma sub-rede /24 do intervalo de IPs de acesso a serviços privados para cada região. Por exemplo, para alocar instâncias do PostgreSQL em duas regiões, é necessário que os intervalos de endereços IP alocados incluam pelo menos duas sub-redes disponíveis de tamanho /24.
Conexões com uma instância do Cloud SQL usando um endereço IP privado são autorizadas automaticamente para os intervalos de endereços RFC 1918. Dessa forma, todos os clientes privados podem acessar o banco de dados sem passar pelo Proxy de Autenticação do Cloud SQL.
Por padrão, o Cloud SQL não aprende rotas de sub-rede não RFC 1918 da sua VPC. Você precisa atualizar o peering de rede para o Cloud SQL para exportar quaisquer rotas não RFC 1918.
Segurança
O tráfego sobre o acesso a serviços privados é fornecido com um certo nível de criptografia. Para mais informações, consulte Google Cloudcriptografia e autenticação de rede virtual .
O Cloud SQL Auth Proxy pode ser configurado para se conectar usando IP privado e fornece autenticação usando credenciais do IAM e criptografia de ponta a ponta usando um certificado SSL/TLS rotativo.
Se seus requisitos de segurança exigirem certificados SSL/TLS autogerenciados que você gerencia, consulte as instruções em Configurando SSL/TLS .
Criar uma rede VPC para cada instância com um endereço IP privado proporciona melhor isolamento de rede do que colocar todas as instâncias na rede VPC "padrão".
Conectividade de múltiplas VPCs
O Cloud SQL oferece suporte a endereços IP privados por meio do acesso privado a serviços . Quando você cria uma instância do Cloud SQL, o Cloud SQL cria a instância em sua própria nuvem privada virtual (VPC), chamada de VPC do Cloud SQL. A ativação do IP privado requer a configuração de uma conexão de peering entre a VPC do Cloud SQL e sua rede VPC. Isso permite que os recursos na sua rede VPC acessem os endereços IP internos dos seus recursos do Cloud SQL na rede VPC do Cloud SQL.
Usando o VPC Network Peering , o Cloud SQL implementa internamente o acesso privado a serviços, o que permite que endereços IP internos se conectem entre duas redes VPC, independentemente de pertencerem ao mesmo projeto ou organização. No entanto, como o VPC Network Peering não é transitivo, ele transmite apenas rotas entre as duas VPCs que estão diretamente pareadas. Se você tiver uma VPC adicional, ela não poderá acessar seus recursos do Cloud SQL usando a conexão configurada com sua VPC original.
Para atenuar essa limitação e conectar sua instância do Cloud SQL a várias VPCs usando endereços IP privados, você pode usar as seguintes opções de conexão:
- Conecte-se usando rotas anunciadas personalizadas
- Conecte-se usando um proxy intermediário (SOCKS5)
- Conecte-se usando o Cloud SQL Auth Proxy como um serviço
Para obter mais informações sobre como conectar várias VPCs, consulte Conectar sua instância a várias VPCs .
Referência rápida para tópicos de IP privado
Ao gerenciar instâncias do Cloud SQL usando IP privado, alguns dos seguintes tópicos podem ser interessantes:
Tópico | Discussão |
---|---|
Redes VPC compartilhadas | Você pode criar instâncias do Cloud SQL com endereços IP privados em uma rede VPC compartilhada . No entanto, não é possível atribuir um endereço IP privado em uma rede VPC compartilhada a uma instância existente do Cloud SQL. |
Regiões | Você pode se conectar através de IP privado entre regiões. |
Redes legadas | Não é possível se conectar ao IP privado de uma instância do Cloud SQL a partir de uma rede legada . Redes legadas não oferecem suporte ao peering de rede VPC nem ao acesso a serviços privados. |
Removendo um IP privado | Depois de configurar uma instância do Cloud SQL para usar IP privado, você não poderá remover o recurso de IP privado dessa instância. |
IP público e privado | Você pode usar IP público e IP privado para se conectar à mesma instância do Cloud SQL. Nenhum método de conexão afeta o outro. |
Instâncias existentes do Cloud SQL | Você pode configurar uma instância para usar IP privado no momento da criação. Você também pode configurar uma instância existente para usar IP privado. Configurar uma instância existente para usar IP privado ou alterar a rede à qual ela está conectada faz com que a instância seja reiniciada, resultando em alguns minutos de inatividade. |
Endereços IP estáticos | Para endereços IP públicos e privados, o endereço de entrada da instância do Cloud SQL é estático; ele não muda. O endereço de saída nem sempre é estático, exceto para endereços IP públicos de saída de réplicas de servidores externos, que são sempre estáticos. |
Réplicas | Uma réplica herda seu status de IP privado de sua instância primária. Não é possível configurar um IP privado diretamente em uma réplica. Se você estiver se conectando a uma réplica usando um endereço IP privado, não precisará criar uma conexão privada VPC adicional para a réplica, pois ela também é herdada da instância primária. |
O Proxy de Autenticação do Cloud SQL | Para se conectar a uma instância do Cloud SQL usando um IP privado, o Proxy de Autenticação do Cloud SQL precisa estar em um recurso com acesso à mesma rede VPC da instância. Se a instância tiver ambos os tipos de IP habilitados, o Proxy de Autenticação do Cloud SQL usará o IP público por padrão. Para garantir que ele esteja usando um IP privado, você precisa passar o sinalizador -ip_address_types=PRIVATE para o Proxy de Autenticação do Cloud SQL. Saiba mais. |
Acesso VPC sem servidor | Para se conectar de uma fonte sem servidor, como o ambiente padrão do App Engine , o Cloud Run ou as funções do Cloud Run , seu aplicativo ou função se conecta diretamente à sua instância por meio do Serverless VPC Access sem o Cloud SQL Auth Proxy. |
Peering de rede VPC | Uma conexão que utiliza acesso a serviços privados depende do peering de rede VPC. No entanto, você não cria o peering de rede VPC explicitamente, pois o peering é interno a Google Cloud. Depois de criar a conexão de acesso a serviços privados, você pode ver seu VPC Network Peering subjacente na página VPC Network Peering noGoogle Cloud console, mas não o exclua, a menos que queira remover a conexão privada . Saiba mais sobre o peering de rede VPC. |
Controles de serviço VPC | Os VPC Service Controls melhoram sua capacidade de mitigar o risco de exfiltração de dados. Com os VPC Service Controls, você cria perímetros ao redor da instância do Cloud SQL. Os VPC Service Controls restringem o acesso externo aos recursos dentro do perímetro. Somente clientes e recursos dentro do perímetro podem interagir entre si. Para obter mais informações, consulte a Visão Geral dos VPC Service Controls . Consulte também as limitações do Cloud SQL ao usar os VPC Service Controls . Para usar os VPC Service Controls com o Cloud SQL, consulte a seção "Configurando os VPC Service Controls" . |
Peering transitivo | Somente redes com peering direto podem se comunicar. O peering transitivo não é suportado. Em outras palavras, se a rede VPC N1 estiver com peering de N2 e N3, mas N2 e N3 não estiverem conectados diretamente, a rede VPC N2 não poderá se comunicar com a rede VPC N3 pelo peering de rede VPC . Clientes em um projeto podem se conectar a instâncias do Cloud SQL em vários projetos usando redes VPC compartilhadas . |
Movendo instâncias do Cloud SQL | As instâncias do Cloud SQL só podem ser movidas entre redes pertencentes ao projeto em que residem. Além disso, as instâncias do Cloud SQL não podem ser movidas entre projetos nem entre redes hospedadas por projetos diferentes. |
O que vem a seguir
- Veja como configurar IP privado .
- Saiba mais sobre acesso a serviços privados .
- Veja como configurar o acesso a serviços privados para instâncias do Cloud SQL.
- Saiba mais sobre o Cloud VPN .
- Saiba mais sobre redes VPC .
- Saiba mais sobre o peering de rede VPC .
- Saiba mais sobre VPC compartilhada .
- Saiba mais sobre o Cloud SQL Auth Proxy .
Esta página fornece informações sobre o uso de IP privado com o Cloud SQL. Para obter instruções passo a passo sobre como configurar uma instância do Cloud SQL para usar IP privado, consulte Configurando IP privado .
Para soluções Terraform para redes Cloud SQL, consulte Soluções de configuração de rede em nuvem simplificadas .
Visão geral
Configurar uma instância do Cloud SQL para usar um IP privado requer acesso a serviços privados . O acesso a serviços privados permite criar conexões privadas entre sua rede VPC e a rede subjacente. Google Cloud rede VPC do produtor de serviço . Google Cloud entidades que oferecem serviços, como o Cloud SQL, são chamadas de produtores de serviços . Cada Google Cloud O serviço cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede normalmente é um bloco CIDR /24 escolhido pelo serviço e proveniente do intervalo de endereços IP alocado.
Conexões privadas tornam os serviços acessíveis sem precisar passar pela internet ou usar endereços IP externos. Por esse motivo, o IP privado proporciona menor latência de rede do que o IP público.
Você usa acesso a serviços privados para se conectar a instâncias do Cloud SQL:
De fontes internas com acesso à sua rede VPC.
De fontes externas por meio de um túnel VPN , um túnel SSH reverso ou um Cloud Interconnect para sua rede VPC.
Você pode se conectar a endereços IP privados em diferentes regiões. Você também pode se conectar usando uma VPC compartilhada entre projetos.
Intervalos de endereços IP alocados
Para usar instâncias do Cloud SQL em uma rede VPC com IP privado, você precisa alocar intervalos de endereços IP para configurar o acesso a serviços privados para essa VPC. Para organizar suas instâncias do Cloud SQL, convém alocar vários intervalos de endereços IP para a conexão privada. Ao configurar uma instância do Cloud SQL para IP privado, você pode selecionar a rede VPC e o intervalo de endereços IP alocado.
Tamanho do intervalo alocado
Aloque intervalos de IP grandes o suficiente para o Cloud SQL e outrosGoogle Cloud Para os serviços gerenciados que você planeja usar, cada um deles exigirá blocos IP dedicados dos intervalos alocados. O tamanho mínimo é um único bloco /24 (256 endereços), mas o tamanho recomendado é um bloco /16 (65.536 endereços).
Ao alocar um intervalo de endereços IP , você precisa levar em consideração o número de instâncias que planeja criar.
Máscara de sub-rede | Endereços | Instâncias utilizáveis do Cloud SQL |
---|---|---|
/24 | 256 | 50 |
/23 | 512 | 100 |
/22 | 1024 | 200 |
/21 | 2048 | 400 |
/20 | 4096 | 800 |
O Cloud SQL usa intervalos CIDR /24 como unidade de intervalo, e cada unidade só pode ser usada para instâncias do Cloud SQL em uma única região. Por exemplo, se você criar duas instâncias do Cloud SQL, mas para duas regiões diferentes, deverá haver pelo menos dois intervalos CIDR /24.
Além disso, se um projeto começou a usar o Cloud SQL antes de 1º de abril de 2021, as instâncias do Postgres não podem compartilhar a mesma unidade de intervalo com as instâncias do MySQL e do SQL Server e precisam ter a sua própria unidade em cada região. Projetos mais recentes não estão sujeitos a essa limitação.
Configure o acesso a serviços privados para sua rede
Ao configurar a conectividade IP privada pela primeira vez em uma rede VPC específica, você precisa executar um procedimento único para configurar o acesso a serviços privados para o Cloud SQL .
Após estabelecer o acesso aos serviços privados, você pode criar uma instância do Cloud SQL configurada para usar IP privado ou configurar um IP privado para uma instância existente do Cloud SQL. Consulte Configurando IP privado para obter instruções passo a passo.
Sempre que você alterar uma conexão estabelecida, será necessário atualizar vpc-peerings
também.
Requisitos para IP privado
Para usar um IP privado, sua rede e ambiente de aplicativo devem atender aos seguintes requisitos. Além disso, configurar um IP privado pela primeira vez requer permissões adicionais do IAM.
Requisitos do ambiente de aplicação
- Se você estiver se conectando do GKE, deverá executar o GKE 1.8 ou superior em um cluster nativo de VPC .
Requisitos de API e IAM
- Você deve habilitar a API de rede de serviços para seu projeto.
- Para gerenciar uma conexão de acesso a serviços privados, seu usuário precisa ter as seguintes permissões do IAM. Se o usuário não tiver as permissões necessárias, você poderá receber erros de permissões insuficientes.
-
compute.networks.list
-
compute.addresses.create
-
compute.addresses.list
-
servicenetworking.services.addPeering
Se estiver usando uma rede VPC compartilhada , você também precisará adicionar o mesmo usuário e atribuir as mesmas permissões no projeto host.
-
Se você estiver usando uma rede VPC compartilhada , também precisará habilitar a API de rede de serviços para o projeto host.
Exemplo
No exemplo a seguir, a rede VPC do cliente alocou o intervalo de endereços 10.240.0.0/16
para Google Cloud serviços e estabeleceu uma conexão privada que utiliza o alcance alocado. Cada Google Cloud serviço (por exemplo, Cloud SQL) cria uma sub-rede do bloco alocado para provisionar novos recursos em uma determinada região, como instâncias do Cloud SQL.
- A conexão privada recebe o intervalo alocado
10.240.0.0/16
. A partir dessa alocação, Google Cloud os serviços podem criar sub-redes onde novos recursos são provisionados. - No Google Cloud lado dos serviços da conexão privada, Google Cloud cria um projeto para o cliente. O projeto é isolado, o que significa que nenhum outro cliente o compartilha e o cliente é cobrado apenas pelos recursos que ele provisiona.
- Cada Google Cloud O serviço cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede normalmente é um bloco CIDR
/24
escolhido pelo serviço e proveniente do intervalo de endereços IP alocado. Não é possível modificar a sub-rede do produtor do serviço. Um serviço provisiona novos recursos em sub-redes regionais existentes que foram criadas anteriormente por ele. Se uma sub-rede estiver cheia, o serviço cria uma nova sub-rede na mesma região. - As instâncias de VM na rede do cliente podem acessar recursos de serviço em qualquer região, desde que o serviço ofereça suporte a isso. Alguns serviços podem não oferecer suporte à comunicação entre regiões. Consulte a documentação do serviço relevante para obter mais informações.
- Os custos de transferência de dados de saída para tráfego inter-regional, em que uma instância de VM se comunica com recursos em uma região diferente, ainda se aplicam.
- A instância do Cloud SQL recebe o endereço IP
10.240.0.2
. Na rede VPC do Cliente, as solicitações com destino10.240.0.2
são roteadas para a conexão privada, passando pela rede do produtor do serviço. Após atingir a rede de serviço, esta contém rotas que direcionam a solicitação para o recurso correto. - O tráfego entre redes VPC viaja internamente dentro Google Cloudda rede, não pela internet pública.
Problemas de rede
O Cloud SQL aloca uma sub-rede /24 do intervalo de IPs de acesso a serviços privados para cada região. Por exemplo, para alocar instâncias do PostgreSQL em duas regiões, é necessário que os intervalos de endereços IP alocados incluam pelo menos duas sub-redes disponíveis de tamanho /24.
Conexões com uma instância do Cloud SQL usando um endereço IP privado são autorizadas automaticamente para os intervalos de endereços RFC 1918. Dessa forma, todos os clientes privados podem acessar o banco de dados sem passar pelo Proxy de Autenticação do Cloud SQL.
Por padrão, o Cloud SQL não aprende rotas de sub-rede não RFC 1918 da sua VPC. Você precisa atualizar o peering de rede para o Cloud SQL para exportar quaisquer rotas não RFC 1918.
Segurança
O tráfego sobre o acesso a serviços privados é fornecido com um certo nível de criptografia. Para mais informações, consulte Google Cloudcriptografia e autenticação de rede virtual .
O Cloud SQL Auth Proxy pode ser configurado para se conectar usando IP privado e fornece autenticação usando credenciais do IAM e criptografia de ponta a ponta usando um certificado SSL/TLS rotativo.
Se seus requisitos de segurança exigirem certificados SSL/TLS autogerenciados que você gerencia, consulte as instruções em Configurando SSL/TLS .
Criar uma rede VPC para cada instância com um endereço IP privado proporciona melhor isolamento de rede do que colocar todas as instâncias na rede VPC "padrão".
Conectividade de múltiplas VPCs
O Cloud SQL oferece suporte a endereços IP privados por meio do acesso privado a serviços . Quando você cria uma instância do Cloud SQL, o Cloud SQL cria a instância em sua própria nuvem privada virtual (VPC), chamada de VPC do Cloud SQL. A ativação do IP privado requer a configuração de uma conexão de peering entre a VPC do Cloud SQL e sua rede VPC. Isso permite que os recursos na sua rede VPC acessem os endereços IP internos dos seus recursos do Cloud SQL na rede VPC do Cloud SQL.
Usando o VPC Network Peering , o Cloud SQL implementa internamente o acesso privado a serviços, o que permite que endereços IP internos se conectem entre duas redes VPC, independentemente de pertencerem ao mesmo projeto ou organização. No entanto, como o VPC Network Peering não é transitivo, ele transmite apenas rotas entre as duas VPCs que estão diretamente pareadas. Se você tiver uma VPC adicional, ela não poderá acessar seus recursos do Cloud SQL usando a conexão configurada com sua VPC original.
Para atenuar essa limitação e conectar sua instância do Cloud SQL a várias VPCs usando endereços IP privados, você pode usar as seguintes opções de conexão:
- Conecte-se usando rotas anunciadas personalizadas
- Conecte-se usando um proxy intermediário (SOCKS5)
- Conecte-se usando o Cloud SQL Auth Proxy como um serviço
Para obter mais informações sobre como conectar várias VPCs, consulte Conectar sua instância a várias VPCs .
Referência rápida para tópicos de IP privado
Ao gerenciar instâncias do Cloud SQL usando IP privado, alguns dos seguintes tópicos podem ser interessantes:
Tópico | Discussão |
---|---|
Redes VPC compartilhadas | Você pode criar instâncias do Cloud SQL com endereços IP privados em uma rede VPC compartilhada . No entanto, não é possível atribuir um endereço IP privado em uma rede VPC compartilhada a uma instância existente do Cloud SQL. |
Regiões | Você pode se conectar através de IP privado entre regiões. |
Redes legadas | Não é possível se conectar ao IP privado de uma instância do Cloud SQL a partir de uma rede legada . Redes legadas não oferecem suporte ao peering de rede VPC nem ao acesso a serviços privados. |
Removendo um IP privado | Depois de configurar uma instância do Cloud SQL para usar IP privado, você não poderá remover o recurso de IP privado dessa instância. |
IP público e privado | Você pode usar IP público e IP privado para se conectar à mesma instância do Cloud SQL. Nenhum método de conexão afeta o outro. |
Instâncias existentes do Cloud SQL | Você pode configurar uma instância para usar IP privado no momento da criação. Você também pode configurar uma instância existente para usar IP privado. Configurar uma instância existente para usar IP privado ou alterar a rede à qual ela está conectada faz com que a instância seja reiniciada, resultando em alguns minutos de inatividade. |
Endereços IP estáticos | Para endereços IP públicos e privados, o endereço de entrada da instância do Cloud SQL é estático; ele não muda. O endereço de saída nem sempre é estático, exceto para endereços IP públicos de saída de réplicas de servidores externos, que são sempre estáticos. |
Réplicas | Uma réplica herda seu status de IP privado de sua instância primária. Não é possível configurar um IP privado diretamente em uma réplica. Se você estiver se conectando a uma réplica usando um endereço IP privado, não precisará criar uma conexão privada VPC adicional para a réplica, pois ela também é herdada da instância primária. |
O Proxy de Autenticação do Cloud SQL | Para se conectar a uma instância do Cloud SQL usando um IP privado, o Proxy de Autenticação do Cloud SQL precisa estar em um recurso com acesso à mesma rede VPC da instância. Se a instância tiver ambos os tipos de IP habilitados, o Proxy de Autenticação do Cloud SQL usará o IP público por padrão. Para garantir que ele esteja usando um IP privado, você precisa passar o sinalizador -ip_address_types=PRIVATE para o Proxy de Autenticação do Cloud SQL. Saiba mais. |
Acesso VPC sem servidor | Para se conectar de uma fonte sem servidor, como o ambiente padrão do App Engine , o Cloud Run ou as funções do Cloud Run , seu aplicativo ou função se conecta diretamente à sua instância por meio do Serverless VPC Access sem o Cloud SQL Auth Proxy. |
Peering de rede VPC | Uma conexão que utiliza acesso a serviços privados depende do peering de rede VPC. No entanto, você não cria o peering de rede VPC explicitamente, pois o peering é interno a Google Cloud. Depois de criar a conexão de acesso a serviços privados, você pode ver seu VPC Network Peering subjacente na página VPC Network Peering noGoogle Cloud console, mas não o exclua, a menos que queira remover a conexão privada . Saiba mais sobre o peering de rede VPC. |
Controles de serviço VPC | Os VPC Service Controls melhoram sua capacidade de mitigar o risco de exfiltração de dados. Com os VPC Service Controls, você cria perímetros ao redor da instância do Cloud SQL. Os VPC Service Controls restringem o acesso externo aos recursos dentro do perímetro. Somente clientes e recursos dentro do perímetro podem interagir entre si. Para obter mais informações, consulte a Visão Geral dos VPC Service Controls . Consulte também as limitações do Cloud SQL ao usar os VPC Service Controls . Para usar os VPC Service Controls com o Cloud SQL, consulte a seção "Configurando os VPC Service Controls" . |
Peering transitivo | Somente redes com peering direto podem se comunicar. O peering transitivo não é suportado. Em outras palavras, se a rede VPC N1 estiver com peering de N2 e N3, mas N2 e N3 não estiverem conectados diretamente, a rede VPC N2 não poderá se comunicar com a rede VPC N3 pelo peering de rede VPC . Clientes em um projeto podem se conectar a instâncias do Cloud SQL em vários projetos usando redes VPC compartilhadas . |
Movendo instâncias do Cloud SQL | As instâncias do Cloud SQL só podem ser movidas entre redes pertencentes ao projeto em que residem. Além disso, as instâncias do Cloud SQL não podem ser movidas entre projetos nem entre redes hospedadas por projetos diferentes. |
O que vem a seguir
- Veja como configurar IP privado .
- Saiba mais sobre acesso a serviços privados .
- Veja como configurar o acesso a serviços privados para instâncias do Cloud SQL.
- Saiba mais sobre o Cloud VPN .
- Saiba mais sobre redes VPC .
- Saiba mais sobre o peering de rede VPC .
- Saiba mais sobre VPC compartilhada .
- Saiba mais sobre o Cloud SQL Auth Proxy .