IP privado

Nesta página, você verá informações sobre como usar o IP particular com o Cloud SQL. Para instruções detalhadas sobre como configurar uma instância do Cloud SQL para usar o IP particular, consulte esta página.

Visão geral

Ao configurar uma instância do Cloud SQL para usar o IP particular, você utiliza o Acesso a serviços particulares. Ele é implementado como uma conexão de peering de VPC entre sua rede VPC e a rede VPC de serviços do Google que contém a instância do Cloud SQL. O tráfego IP que usa o acesso a serviços particulares nunca é exposto à Internet pública.

Use o acesso a serviços particulares para se conectar a:

  • recursos do Cloud SQL com acesso a uma rede VPC;

  • recursos do Cloud SQL de fontes externas por um túnel VPN ou o Cloud Interconnect à rede VPC.

É possível se conectar pelo IP particular em qualquer região. Também é possível se conectar por meio de VPCs compartilhadas entre projetos.

Veja no diagrama a seguir uma instância do Compute Engine (VM1) no mesmo projeto do GCP que as instâncias do Cloud SQL configuradas com o IP particular (DB1 e DB2). Os endereços IP das instâncias do Cloud SQL estão no intervalo alocado pelo acesso a serviços particulares e fez peering com a rede VPC por meio da conexão de serviço particular.

Visão geral do diagrama da configuração de IP particular. Descrita no texto acima.

Vantagens

O uso do IP particular para se conectar ao Cloud SQL oferece algumas vantagens em comparação com endereços IP públicos:

  • O IP particular fornece latência de rede menor do que o IP público.

  • O tráfego de serviços particulares nunca é exposto à Internet pública. Por isso, os vetores de ataque são limitados.

Requisitos do IP particular

Para usar o IP particular, sua rede e o ambiente do seu aplicativo precisam atender aos requisitos listados abaixo. Além disso, configurar o IP particular pela primeira vez requer permissões extras do IAM.

Requisitos de rede

Ao configurar o acesso a serviços particulares em uma rede VPC, você define um intervalo de endereços IP alocado e cria um Private Service Connect. O intervalo inclui os endereços IP das instâncias do Cloud SQL e não pode se sobrepor a outros intervalos na rede VPC.

O intervalo de endereços IP alocado garante que os intervalos de IP da sub-rede e os destinos de rotas personalizadas na rede VPC não se sobreponham aos intervalos de endereços usados pela conexão do acesso a serviços particulares. Crie um intervalo de IP alocado manualmente se quiser controlar o bloco CIDR. Se preferir, deixe que o Google Cloud crie um para você.

O Cloud SQL aloca uma sub-rede /24 do intervalo de IP de acesso a serviços particulares para cada combinação de região e tipo de banco de dados. Por exemplo, para colocar instâncias do MySQL em duas regiões, é necessário que o intervalo de endereços IP alocado contenha pelo menos duas sub-redes disponíveis de tamanho /24. Para implantar o MySQL e o PostgreSQL em duas regiões, são necessárias quatro sub-redes disponíveis de tamanho /24. As instâncias do SQL Server podem compartilhar a mesma sub-rede com as instâncias do MySQL em uma região.

As conexões com uma instância do Cloud SQL usando um endereço IP privado são autorizadas automaticamente para intervalos de endereços RFC 1918. Dessa forma, todos os clientes particulares podem acessar o banco de dados sem passar pelo proxy. Os intervalos de endereços não RFC 1918 precisam ser configurados como redes autorizadas.

Por padrão, o Cloud SQL não aprende as rotas de sub-rede não RFC 1918 da sua VPC. É necessário atualizar o peering de rede ao Cloud SQL para exportar rotas que não sejam RFC 1918.

Requisitos de ambiente do aplicativo

  • Se você estiver se conectando a partir do GKE, será preciso executar o GKE 1.8 ou uma versão posterior em um cluster nativo da VPC.

Requisitos de API e IAM

  • Você precisa ativar a API Service Networking no projeto.

    Se você estiver usando uma rede VPC compartilhada, também precisará ativar essa API no projeto host.

  • Para estabelecer o acesso a serviços particulares, é necessário ter o papel compute.networkAdmin do IAM.

    Depois que o acesso a serviços particulares for estabelecido na rede, o papel de compute.networkAdmin do IAM não será mais necessário para configurar uma instância para usar o IP particular.

Segurança

O tráfego por acesso a serviços particulares é fornecido com um determinado nível de criptografia. Para mais informações, consulte Criptografia e autenticação de rede virtual do Google Cloud.

É possível configurar o proxy do Cloud SQL para se conectar por IP particular. Além disso, ele fornece autenticação com credenciais do IAM e criptografia de ponta a ponta usando um certificado SSL/TLS com alternância.

Se os requisitos de segurança exigirem certificados SSL/TLS gerenciados por você, consulte as instruções em Como configurar o SSL/TLS.

A criação de uma rede VPC para cada instância com um endereço IP privado fornece um isolamento de rede melhor do que colocar todas as instâncias na rede VPC "padrão".

Visão geral da configuração do acesso a serviços privados para sua rede

Ao configurar a conectividade do IP particular pela primeira vez em uma rede VPC específica, é necessário executar um procedimento uma única vez para configurar o acesso a serviços particulares no Cloud SQL.

Depois de estabelecer o acesso a serviços particulares, crie uma instância do Cloud SQL definida para usar o IP particular ou configure o IP particular em uma instância existente do Cloud SQL. Consulte Como configurar o IP particular para instruções detalhadas.

Referência rápida com tópicos sobre o IP particular

Ao gerenciar instâncias do Cloud SQL usando o IP particular, alguns dos tópicos a seguir podem ser relevantes para você:

Tema Discussão
Redes VPC compartilhadas É possível criar instâncias do Cloud SQL com endereços IP particulares em uma rede VPC compartilhada. No entanto, não é possível atribuir um endereço IP particular em uma rede VPC compartilhada a uma instância atual do Cloud SQL.
Regiões É possível se conectar por IP privado entre as regiões.
Redes legadas Não é possível se conectar ao IP particular de uma instância do Cloud SQL usando uma rede legada. As redes legadas não são compatíveis com o peering de rede VPC ou com o acesso a serviços particulares.
Como remover um IP particular Depois de configurar uma instância do Cloud SQL para usar o IP particular, não será possível remover o recurso de IP particular dessa instância.
IP público e particular Use o IP público e particular para se conectar à mesma instância do Cloud SQL. Um método de conexão não afeta o outro.
Instâncias atuais do Cloud SQL Configure uma instância para usar o IP particular no momento da criação dela. Também é possível configurar uma instância atual para usar o IP particular. Quando você faz isso ou altera a rede a que a instância está conectada, essa instância é reiniciada, o que causa alguns minutos de inatividade.
Endereços IP estáticos O endereço IP particular da instância do Cloud SQL é estático e não muda.
Réplicas A réplica herda o status de IP particular da instância principal dela. Não é possível configurá-lo diretamente em uma réplica.
Cloud Run Não é possível usar o IP privado com o Cloud Run.
Cloud SQL Proxy Para se conectar a uma instância do Cloud SQL usando o IP particular, o proxy precisa estar em um recurso com acesso à mesma rede VPC que a instância. Se a instância tiver os dois tipos de IP ativados, o proxy usará o IP público por padrão. Para garantir que ele esteja usando o IP particular, o usuário precisa transmitir a sinalização -ip_address_types=PRIVATE para o proxy. Saiba mais.
Peering de rede VPC Uma conexão que usa o acesso a serviços particulares depende de um peering de rede VPC. No entanto, você não cria o peering de rede VPC explicitamente, porque ele é interno ao Google Cloud. Depois de criar a conexão de acesso a serviços privados, você verá seu peering de rede VPC subjacente na página "Peering de rede VPC" no Console do Cloud. No entanto, não o exclua, a menos que queira remover a conexão particular.

Saiba mais sobre o peering de rede VPC.

VPC Service Controls O VPC Service Controls melhora a capacidade de reduzir o risco de exfiltração de dados. Com o VPC Service Controls, você cria perímetros em torno da instância do Cloud SQL. O VPC Security Controls restringe o acesso externo a recursos dentro do perímetro. Somente clientes e recursos dentro do perímetro podem interagir entre si. Para mais informações, consulte a Visão geral do VPC Security Controls. Analise também as limitações do Cloud SQL ao usar o VPC Service Controls. Para usar o VPC Security Controls com o Cloud SQL, consulte Como configurar VPC Security Controls.
Peering transitivo Somente redes com peering direto podem se comunicar. O peering intermediário não é aceito. Ou seja, se a rede VPC N1 estabelecer peering com a N2 e a N3, mas a N2 e a N3 não tiverem uma conexão direta, a rede VPC N2 não poderá se comunicar com a rede VPC N3 por meio do peering de redes VPC.

As instâncias do Cloud SQL em diferentes projetos do Google Cloud podem se conectar usando redes VPC compartilhadas.

Como migrar instâncias do Cloud SQL As instâncias do Cloud SQL só podem ser migradas entre redes de propriedade do projeto em que residem. Além disso, não é possível migrar as instâncias do Cloud SQL entre os projetos nem entre redes hospedadas por projetos diferentes.

A seguir