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 Run 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

Regras de firewall são necessárias para a operação do conector e a comunicação dele com outros recursos, incluindo recursos na sua rede.

Regras de firewall para conectores em redes VPC independentes ou em projetos host de VPC compartilhada

Se você criar um conector em uma rede VPC independente ou no projeto host de uma rede VPC compartilhada, o Google Cloud vai criar todas as regras de firewall necessárias. Essas regras de firewall existem apenas enquanto o conector associado existir. Elas são visíveis no console do Google Cloud, mas não podem ser editadas nem excluídas.

Finalidade da regra de firewall Formato de nome Tipo Ação Prioridade Protocolos e portas
Permite o tráfego para as instâncias de VM do conector de intervalos de sondas de verificação de integridade (35.191.0.0/16, 35.191.192.0/18, 130.211.0.0/22) em determinadas portas aet-CONNECTOR_REGION-CONNECTOR_NAME-hcfw Entrada Permitir 100 TCP:667
Permite o tráfego para as instâncias de VM do conector pela infraestrutura sem servidor subjacente do Google (35.199.224.0/19) em determinadas portas aet-CONNECTOR_REGION-CONNECTOR_NAME-rsgfw Entrada Permitir 100 TCP:667, UDP:665-666, ICMP
Permite o tráfego das instâncias de VM do conector para a infraestrutura sem servidor subjacente do Google (35.199.224.0/19) em determinadas portas aet-CONNECTOR_REGION-CONNECTOR_NAME-earfw Saída Permitir 100 TCP:667, UDP:665-666, ICMP
Bloqueia o tráfego das instâncias de VM do conector para a infraestrutura sem servidor subjacente do Google (35.199.224.0/19) para todas as outras portas. aet-CONNECTOR_REGION-CONNECTOR_NAME-egrfw Saída Negar 100 TCP:1-666, 668-65535, UDP:1-664, 667-65535
Permite todo o tráfego das instâncias de VM do conector (com base no endereço IP) para todos os recursos na rede VPC do conector aet-CONNECTOR_REGION-CONNECTOR_NAME-sbntfw Entrada Permitir 1000 TCP, UDP, ICMP
Permite todo o tráfego das instâncias de VM do conector (com base na tag de rede) para todos os recursos na rede VPC do conector aet-CONNECTOR_REGION-CONNECTOR_NAME-tagfw Entrada Permitir 1000 TCP, UDP, ICMP

É possível restringir o acesso do conector a recursos na rede VPC de destino usando regras de firewall da VPC ou regras em políticas de firewall. Ao adicionar regras de firewall, use uma prioridade maior que 100 para que elas não entrem em conflito com regras de firewall ocultas definidas pelo Google Cloud. Para mais informações, consulte Restringir recursos de rede VPC de acesso à VM do conector.

Regras de firewall para conectores em projetos de serviço de VPC compartilhada

Se você criar um conector em um projeto de serviço e ele segmentar uma rede VPC compartilhada no projeto host, será necessário adicionar regras de firewall para permitir o tráfego necessário para a operação do conector.

Você também pode restringir o acesso do seu conector aos recursos na rede VPC de destino usando regras de firewall da VPC ou regras em políticas de firewall. Para mais informações, consulte Acesso aos recursos da VPC.

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 de processamento 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

* Os intervalos de capacidade de processamento máxima são estimativas baseadas na operação regular. A capacidade real depende de muitos fatores. Consulte Largura de banda da rede da VM.

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 o conector, o mínimo padrão de duas e o máximo padrão 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 realiza manutenção quinzenal, 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 retornam com o mesmo número de instâncias que tinham antes do período de manutenção. A manutenção geralmente dura alguns minutos. Para reduzir o impacto durante a manutenção, use pools de conexões e não dependa de conexões que duram mais de um minuto. As instâncias param de aceitar solicitações um minuto antes do desligamento.

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 necessário 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 Run 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.
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 compatíveis

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
Knative serving*
Funções do Cloud Run
Ambiente padrão do App Engine Todos os ambientes de execução, exceto PHP 5
Ambiente flexível do App Engine*

*Se você quiser usar endereços IP internos ao se conectar a partir de Knative serving ou do ambiente flexível do App Engine, não será necessário 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 apenas solicitações para IPs privados Encaminhar todo o tráfego pelo conector
TCP
UDP
ICMP Compatível apenas com endereços IP externos

Regiões aceitas

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 Run functions ou do App Engine.

Para ver as regiões disponíveis:

gcloud compute networks vpc-access locations list

A seguir