Acesso VPC sem servidor

O acesso VPC sem servidor permite que você se conecte diretamente à rede de nuvem privada virtual (VPC) a partir de ambientes sem servidor, como o Cloud Run, o App Engine ou o Cloud Functions. Configurar o acesso VPC sem servidor permite que o ambiente sem servidor envie solicitações à rede VPC usando endereços IP internos e de DNS internos (conforme definido por RFC 1918 e RFC 6598). As respostas a essas solicitações também usam a rede interna.

Há dois benefícios principais em usar o acesso VPC sem servidor:

  • As solicitações enviadas à rede VPC nunca são expostas à Internet.
  • A comunicação via o acesso VPC sem servidor pode ter menos latência em comparação com a Internet.

O acesso VPC sem servidor envia o tráfego interno da rede VPC para o ambiente sem servidor somente quando esse tráfego é uma resposta a uma solicitação enviada do ambiente sem servidor pelo conector de acesso VPC sem servidor. Para saber mais sobre como enviar outro tráfego interno para o ambiente sem servidor, consulte Acesso privado do Google.

Para acessar recursos em várias redes VPC e projetos do Google Cloud, você também precisa configurar uma VPC compartilhada ou peering de rede VPC.

Como funciona

O acesso VPC sem servidor é baseado em um recurso chamado conector. Um conector processa o tráfego entre o ambiente sem servidor e a rede VPC. Ao criar um conector no seu projeto do Google Cloud, é preciso anexá-lo a uma rede VPC e região específicas. Em seguida, configure os serviços sem servidor para usar o conector em tráfego de rede de saída.

Intervalos de endereços IP

Há duas opções para definir o intervalo de endereços IP de um conector:

  • Sub-rede: é possível especificar uma sub-rede /28 se não houver recursos que já usem a sub-rede.
  • Intervalo CIDR: é possível especificar um intervalo CIDR /28 não utilizado. Ao especificar esse intervalo, verifique se ele não se sobrepõe a nenhum intervalo CIDR em uso.

O tráfego enviado pelo conector para a rede VPC tem origem na sub-rede ou no intervalo CIDR especificado.

Regras de firewall

Se a sub-rede não for compartilhada, uma regra de firewall implícita com prioridade 1.000 será criada na rede VPC para permitir a entrada a partir da sub-rede do conector ou do intervalo de IP personalizado em todos os destinos na rede. A regra de firewall implícita não é visível no Console do Google Cloud e existe apenas enquanto o conector associado existir.

Capacidade e escalonamento

Um conector de acesso VPC sem servidor consiste em instâncias de conector. As instâncias do conector podem usar um dos vários tipos de máquina. Tipos de máquinas maiores oferem mais capacidade. É possível ver a capacidade estimada e o custo de cada tipo de máquina no Console do Google Cloud e na tabela a seguir.

Tipo de máquina Intervalo de capacidade estimado em Mbps Preço
(instância do conector mais custos da transferência de dados de saída da rede)
f1-micro 100-500 Preços do f1-micro
e2-micro 200-1000 Preços do e2-micro
e2-standard-4 3200-16000 Preços do e2 padrão

Você pode definir o número mínimo e máximo de instâncias de conector permitidas para seu conector. O mínimo deve ser pelo menos 2. O número máximo é 10, e o valor precisa ser maior que o mínimo. Se você não especificar o número mínimo e máximo de instâncias para seu conector, os valores padrão mínimo de 2 e máximo de 10 serão aplicados. Um conector pode exceder temporariamente o valor definido para o número máximo de instâncias quando o Google faz manutenção, como atualizações de segurança. Durante a manutenção, instâncias extras podem ser adicionadas para garantir o serviço ininterrupto. Após a manutenção, os conectores são retornados com o mesmo número de instâncias que tinham antes do período de manutenção. A manutenção geralmente dura alguns minutos.

O acesso VPC sem servidor escalona automaticamente o número de instâncias no seu conector à medida que o tráfego aumenta. As instâncias adicionadas são do tipo que você especificou para o conector. Os conectores não podem combinar tipos de máquinas. Os conectores não são escalonados verticalmente. Para evitar que os conectores sejam escalonados mais do que o necessário, defina o número máximo de instâncias como baixo. Se você tiver um escalonamento horizontal do conector e preferir menos instâncias, recrie-o com o número desejado de instâncias.

Exemplo

Se você escolher f1-micro como o tipo de máquina e usar os valores padrão dos números mínimo e máximo de instâncias (2 e 10, respectivamente), a capacidade estimada do conector será de 100 Mbps com o número mínimo padrão de instâncias e 500 Mbps com o número máximo padrão de instâncias.

Gráfico de capacidade

É possível monitorar a capacidade atual na página de detalhes do conector no Console do Google Cloud. O gráfico de capacidade nesta página exibe uma visualização detalhada das métricas de capacidade do conector.

Tags de rede

Com as tags de rede de acesso VPC sem servidor, é possível se referir a conectores VPC em regras de firewall e rotas.

Todo conector de acesso VPC sem servidor recebe automaticamente as duas tags de rede a seguir (às vezes chamadas de tags de instância):

  • Tag universal da rede (vpc-connector): se aplica a todos os conectores e aqueles criados no futuro.

  • Tag de rede exclusiva (vpc-connector-REGION-CONNECTOR_NAME): aplica-se ao conector CONNECTOR_NAME na região REGION.

Essas tags de rede não podem ser excluídas. Não é possível adicionar novas tags de rede.

Casos de uso

É possível usar o acesso VPC sem servidor para acessar instâncias de VM do Compute Engine, instâncias do Memorystore e qualquer outro recurso com DNS interno ou endereço IP interno. Por exemplo:

  • O Memorystore é usado para armazenar dados de um serviço sem servidor.
  • Suas cargas de trabalho sem servidor usam softwares de terceiros que você executa em uma VM do Compute Engine.
  • Você executa um serviço de back-end em um grupo gerenciado de instâncias no Compute Engine e precisa do ambiente sem servidor para se comunicar com esse back-end sem exposição à Internet.
  • Seu ambiente sem servidor precisa acessar dados do banco de dados local por meio do Cloud VPN.

Exemplo

Neste exemplo, um projeto do Google Cloud está executando vários serviços nos seguintes ambientes sem servidor: App Engine, Cloud Functions e Cloud Run.

Um conector de acesso VPC sem servidor foi criado e recebeu o intervalo de IP 10.8.0.0/28. Portanto, o endereço IP de origem de qualquer solicitação enviada do conector está nesse intervalo.

Há dois recursos na rede VPC. Um dos recursos tem o endereço IP interno 10.0.0.4. O outro recurso tem o endereço IP interno 10.1.0.2 e está em uma região diferente do conector de acesso VPC sem servidor.

O conector processa o envio e o recebimento de solicitações e respostas diretamente desses endereços IP internos. Quando o conector envia solicitações ao recurso com o endereço IP interno 10.1.0.2, os custos da transferência de dados de saída são aplicados porque esse recurso está em uma região diferente.

Todas as solicitações e respostas entre os ambientes sem servidor e os recursos na rede VPC acontecem internamente.

As solicitações enviadas para endereços IP externos ainda passam pela Internet e não usam o conector de acesso VPC sem servidor.

O diagrama a seguir mostra essa configuração.

Exemplo de Acesso VPC sem servidor (clique para ampliar)
Exemplo de acesso VPC sem servidor (clique para ampliar)

Preços

Para ver os preços do acesso VPC sem servidor, consulte Acesso VPC sem servidor na página de preços.

Serviços com suporte

A tabela a seguir mostra os tipos de rede que podem ser acessados usando o acesso VPC sem servidor:

Serviço de conectividade Compatível com o acesso VPC sem servidor
VPC
VPC compartilhada
Redes legadas
Redes conectadas ao Cloud Interconnect
Redes conectadas ao Cloud VPN
Redes conectadas ao peering de rede VPC

A tabela a seguir mostra quais ambientes sem servidor são compatíveis com o acesso VPC sem servidor:

Ambiente sem servidor Compatível com o acesso VPC sem servidor
Cloud Run
Cloud Run for Anthos*
Cloud Functions
Ambiente padrão do App Engine Todos os ambientes de execução, exceto PHP 5
Ambiente flexível do App Engine*

Se quiser usar endereços internos ao se conectar do Cloud Run for Anthos ou do ambiente flexível do App Engine, você não precisa configurar o acesso VPC sem servidor. Basta verificar se o serviço está implantado em uma rede VPC que tenha conectividade com os recursos que você quer alcançar.

Protocolos de rede compatíveis

A tabela a seguir descreve os protocolos de rede compatíveis com conectores de acesso VPC sem servidor.

Protocolo Direcionar pelo conector VPC apenas solicitações para IPs privados Direcionar todo o tráfego pelo conector VPC
TCP
UDP
ICMP Compatível apenas com endereços IP externos

Regiões compatíveis

Os conectores de acesso VPC sem servidor são compatíveis com todas as regiões compatíveis com o ambiente padrão do Cloud Run, do Cloud Functions ou do App Engine.

Para ver as regiões disponíveis:

gcloud compute networks vpc-access locations list

A seguir