IP particular

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ê usa o acesso a serviços particulares. O acesso privado a serviços é uma conexão particular entre sua rede VPC e a rede VPC do produtor de serviços do Google. As entidades do Google que oferecem serviços, como o Cloud SQL, também são conhecidas como produtoras de serviços.

As instâncias de VM não precisam de acesso à Internet ou de endereços IP externos para alcançar serviços disponíveis por meio do acesso a serviços privados. O IP privado também fornece latência de rede menor do que o IP público. Mesmo que seja possível alocar vários intervalos de IP, o intervalo usado para o endereço IP particular sempre será determinado pelo produtor de serviço do Google.

Use o acesso a serviços particulares para se conectar a instâncias do Cloud SQL:

É possível se conectar por IP privado entre as regiões. Também é possível se conectar por meio de uma VPC compartilhada entre projetos.

Exemplo

No exemplo a seguir, a rede VPC do cliente alocou o intervalo de endereços 10.240.0.0/16 para serviços do Google e estabeleceu uma conexão particular que usa o intervalo alocado. Cada serviço do Google (por exemplo, Cloud SQL), cria uma sub-rede a partir do bloco alocado para provisionar novos recursos em uma determinada região, como instâncias do Cloud SQL.

Visão geral do diagrama da configuração de IP privado.

  • A conexão particular é atribuída ao intervalo alocado 10.240.0.0/16. A partir dessa alocação, os serviços do Google podem criar sub-redes em que novos recursos serão provisionados.
  • No lado de serviços do Google da conexão particular, o Google cria um projeto para o cliente. O projeto é isolado, o que significa que ele não é compartilhado com nenhum outro cliente e o cliente é cobrado apenas pelos recursos fornecidos.
  • Cada serviço do Google cria uma sub-rede para provisionar recursos. O intervalo de endereços IP da sub-rede geralmente é 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 de serviços. Um serviço provisiona novos recursos nas sub-redes regionais atuais que foram criadas anteriormente por esse serviço. Se uma sub-rede estiver cheia, o serviço criará 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 quando o serviço é compatível. No entanto, alguns serviços podem não aceitar a comunicação entre regiões. Para mais informações, consulte a documentação do serviço relevante.
  • Quando uma instância de VM se comunica com recursos de uma região diferente, os custos de saída para tráfego entre regiões continuam sendo aplicáveis.
  • A instância do Cloud SQL recebe o endereço IP 10.240.0.2. Na rede VPC do cliente, as solicitações com o destino 10.240.0.2 são roteadas para a conexão particular pela rede do produtor de serviços. Quando elas alcançam a rede do serviço, essa rede encaminha a solicitação para o recurso correto.
  • O tráfego entre redes VPC é transmitido internamente na rede do Google, e não pela Internet pública.

Referência de intervalo alocado

Ao alocar um intervalo de endereços IP, você precisa considerar o número de instâncias que planeja criar. O número de hosts utilizáveis em um intervalo depende da máscara de sub-rede. Exemplo:

Máscara de sub-rede Endereços Hosts utilizáveis
/24256254
/23512510
/2210241022
/2120482046
/2040964094

Requisitos do IP privado

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 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 será preciso ativar a API Service Networking no projeto host.

  • Para gerenciar uma conexão de acesso a serviços privados, o 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 você estiver usando uma rede VPC compartilhada, também precisará adicionar o mesmo usuário e atribuir as mesmas permissões no projeto host.

Problemas na rede

O Cloud SQL aloca uma sub-rede /24 do intervalo de IP de acesso a serviços particulares para cada região. Por exemplo, para colocar instâncias do SQL Server 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.

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 do Cloud SQL Auth. 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.

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 Auth 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, você precisa executar um procedimento único 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 atual do Cloud SQL. Consulte Como configurar o IP particular para instruções detalhadas.

Toda vez que você alterar uma conexão estabelecida, será preciso atualizar vpc-peerings.

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

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 configurar o IP privado diretamente em uma réplica. Caso esteja se conectando a uma réplica usando um endereço IP privado, você não precisará criar mais uma conexão particular da VPC para a réplica, porque ela é herdada da instância principal.
Proxy do Cloud SQL Auth Para se conectar a uma instância do Cloud SQL usando o IP particular, o proxy do Cloud SQL Auth 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, ele usará como padrão o IP público. Para garantir que ela esteja usando o IP privado, o usuário precisa transmitir a sinalização -ip_address_types=PRIVATE para o proxy do Cloud SQL Auth. Saiba mais.
Acesso VPC sem servidor Para se conectar de uma origem sem servidor, como doAmbiente padrão do App Engine, Cloud Run, ou Cloud Functions , o aplicativo ou função se conecta diretamente à instância pelo acesso VPC sem o proxy de autenticação do Cloud SQL.
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 Service 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 Service Controls. Analise também as limitações do Cloud SQL ao usar o VPC Service Controls. Para usar o VPC Service Controls com o Cloud SQL, consulte Como configurar o VPC Service 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.

Os clientes em um projeto podem se conectar a instâncias do Cloud SQL em vários projetos 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