Sobre serviços publicados

Neste documento, apresentamos uma visão geral de como usar o Private Service Connect para disponibilizar um serviço para os consumidores de serviço.

Como produtor de serviço, use o Private Service Connect para publicar serviços usando endereços IP internos na rede VPC. Os serviços publicados podem ser acessados pelos consumidores de serviços que usam endereços IP internos nas redes VPC.

Para disponibilizar um serviço aos consumidores, crie uma ou mais sub-redes dedicadas. Em seguida, crie um anexo de serviço que se refere a essas sub-redes. O anexo de serviço pode ter diferentes preferências de conexão.

Tipos de consumidores de serviços

Dois tipos de consumidores podem se conectar a um serviço do Private Service Connect:

Endpoints têm base em uma regra de encaminhamento.

Figura 1. Um endpoint permite que os consumidores de serviço enviem tráfego da rede VPC do consumidor para serviços na rede VPC do produtor de serviço (clique para ampliar).

Back-ends têm base em um balanceador de carga.

Figura 2. Um back-end que usa um balanceador de carga de aplicativo externo global permite que consumidores de serviço com acesso à Internet enviem tráfego para serviços na rede VPC do produtor de serviço (clique para ampliar).

Configuração do serviço do Private Service Connect

Ao criar um serviço do Private Service Connect, configure uma sub-rede, um anexo de serviço e uma preferência de conexão. Também é possível configurar opcionalmente um domínio DNS para o serviço. Essas configurações são descritas nas seções a seguir.

Sub-redes NAT

Os anexos de serviço do Private Service Connect são configurados com uma ou mais sub-redes NAT, também conhecidas como sub-redes do Private Service Connect. Os pacotes da rede VPC do consumidor são convertidos usando a NAT de origem (SNAT) para que os endereços IP de origem sejam convertidos em endereços IP de origem da sub-rede NAT na rede VPC do produtor.

Os anexos de serviço podem ter várias sub-redes NAT. É possível adicionar sub-redes NAT extras ao anexo de serviço a qualquer momento sem interromper o tráfego.

Um anexo de serviço pode ter várias sub-redes NAT configuradas, mas uma sub-rede NAT não pode ser usada em mais de um anexo de serviço.

Não é possível usar as sub-redes do Private Service Connect para recursos como instâncias de VM ou regras de encaminhamento. As sub-redes são usadas apenas para fornecer endereços IP para SNAT de conexões de consumidor recebidas.

Dimensionamento de sub-rede NAT

Ao publicar um serviço, você cria uma sub-rede NAT e escolhe um intervalo de endereços IP. O tamanho da sub-rede determina quantos endpoints ou back-ends simultâneos do Private Service Connect podem se conectar ao anexo de serviço. Os endereços IP são consumidos na sub-rede NAT de acordo com o número de conexões do Private Service Connect. Se todos os endereços IP na sub-rede NAT forem consumidos, qualquer outra conexão do Private Service Connect falhará. Por isso, é importante dimensionar a sub-rede NAT adequadamente.

Ao escolher um tamanho de sub-rede, considere o seguinte:

  • Há quatro endereços IP que não podem ser usados em uma sub-rede NAT. Por isso, o número de endereços IP disponíveis é 2(32 - PREFIX_LENGTH) - 4. Por exemplo, se você criar uma sub-rede NAT com tamanho de prefixo /24, o Private Service Connect poderá usar 252 dos endereços IP para SNAT. Uma sub-rede /29 com quatro endereços IP disponíveis é o menor tamanho de sub-rede compatível com redes VPC.

  • Um endereço IP é consumido a partir da sub-rede NAT para cada endpoint ou back-end que está conectado ao anexo de serviço.

  • Ao estimar quantos endereços IP você precisa para endpoints e back-ends, considere todos os serviços multilocatários ou consumidores que usam acesso multiponto para apps particulares Service Connect

  • O número de conexões TCP ou UDP, clientes ou redes VPC de consumidor não afeta o consumo de endereços IP da sub-rede NAT

Por exemplo, se houver dois endpoints conectados a um único anexo de serviço, dois endereços IP serão consumidos na sub-rede NAT. Se o número de endpoints não mudar, será possível usar uma sub-rede /29 com quatro endereços IP utilizáveis para este anexo de serviço.

Monitoramento de sub-rede NAT

Para ajudar a garantir que as conexões do Private Service Connect não falhem devido a endereços IP indisponíveis em uma sub-rede NAT, recomendamos estas ações:

  • Monitore a métrica do anexo de serviço private_service_connect/producer/used_nat_ip_addresses. Verifique se o número de endereços IP NAT usados não excede a capacidade das sub-redes NAT de um anexo de serviço.
  • Monitore o status das conexões do anexo de serviço. Se uma conexão tiver o status Requer atenção, talvez não haja mais endereços IP disponíveis nas sub-redes NAT do anexo.
  • Para serviços com multilocatário, é possível usar Limites de conexão para garantir que um único consumidor não esgote a capacidade de sub-redes NAT de um anexo de serviço.

Se necessário, sub-redes NAT podem ser adicionadas ao anexo de serviço a qualquer momento sem interromper o tráfego.

Número máximo de conexões

Uma única VM de produtor aceita no máximo 65.536 conexões TCP e 65.536 conexões UDP de um único endpoint do Private Service Connect. Não há limite para o número total de conexões TCP e UDP que um endpoint do Private Service Connect pode receber de maneira agregada em todos os back-ends do produtor. As VMs de consumidor podem usar todas as 65.536 portas ao iniciar conexões TCP ou UDP para um endpoint do Private Service Connect. Toda a conversão de endereços de rede é feita localmente no host do produtor, o que não requer um pool de portas NAT alocado centralmente.

Outras considerações

Veja outras considerações sobre sub-redes NAT:

  • O tempo limite de inatividade do mapeamento UDP é de 30 segundos e não pode ser configurado.

  • O tempo limite de inatividade da conexão estabelecida TCP é de 20 minutos e não pode ser configurado.

  • O tempo limite de inatividade da conexão TCP transitiva é de 30 segundos e não pode ser configurado.

  • Há um atraso de dois minutos antes que qualquer 5 tuplas (endereço IP de origem da sub-rede do Private Service Connect e porta de origem mais o protocolo de destino, endereço IP e porta de destino) possa ser reutilizada.

  • A SNAT do Private Service Connect não é compatível com fragmentos de IP.

Anexos de serviço

Os produtores de serviços expõem o serviço deles utilizando um anexo.

  • Para expor um serviço, um produtor de serviço cria um anexo de serviço que se refere à regra de encaminhamento do balanceador de carga do serviço.

  • Para acessar um serviço, um consumidor de serviço cria um endpoint que se refere ao anexo de serviço.

O URI do anexo de serviço tem este formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

Cada balanceador de carga só pode ser referenciado por um anexo de serviço. Não é possível configurar vários anexos de serviço que usam o mesmo balanceador de carga.

Preferências de conexão

Cada anexo de serviço tem uma preferência de conexão que especifica se as solicitações de conexão são aceitas automaticamente. Há três opções:

  • Aceitar automaticamente todas as conexões. O anexo de serviço aceita automaticamente todas as solicitações de conexão de entrada de qualquer consumidor. A aceitação automática pode ser substituída por uma política da organização que bloqueie as conexões de entrada.
  • Aceitar as conexões das redes selecionadas. O anexo de serviço só aceitará solicitações de conexão de entrada se a rede VPC do consumidor estiver na lista de aceitação do consumidor do anexo de serviço.
  • Aceitar conexões para os projetos selecionados. O anexo de serviço só aceitará solicitações de conexão de entrada se o projeto de consumidor estiver na lista de aceitação do consumidor de anexo de serviço.

Recomendamos que você aceite conexões para redes ou projetos selecionados. A aceitação automática de todas as conexões pode ser apropriada se você controla o acesso do consumidor por outros meios e quer ativar o acesso permissivo ao serviço.

Status da conexão

Os anexos de serviço têm status de conexão que descrevem o estado das respectivas conexões. Para mais informações, consulte Status da conexão.

Listas de aceitação e rejeição do consumidor

Listas de aceitação do consumidor e Listas de rejeição do consumidor são um recurso de segurança dos anexos de serviço. As listas de aceitação e rejeição permitem que os produtores de serviços especifiquem quais consumidores podem estabelecer conexões do Private Service Connect com os serviços deles. As listas de aceitação do consumidor especificam se uma conexão é aceita, e as listas de rejeição do consumidor especificam se uma conexão é rejeitada. Ambas as listas permitem especificar consumidores pela rede VPC ou pelo projeto do recurso de conexão. Se você adicionar um projeto ou uma rede à lista de aceitação e à lista de proibições, as solicitações de conexão desse projeto ou rede serão rejeitadas. Não é possível especificar consumidores por pasta.

As listas de aceitação e de rejeição do consumidor permitem que você especifique projetos ou redes VPC, mas não ambos ao mesmo tempo. É possível alterar uma lista de um tipo para outro sem interromper as conexões, mas você precisa fazer a alteração em uma única atualização. Caso contrário, algumas conexões poderão mudar temporariamente para o estado pendente.

Para informações sobre como as listas de aceitação do consumidor interagem com as políticas da organização, consulte Interação entre listas de aceitação do consumidor e políticas da organização.

Reconciliação de conexão

A reconciliação de conexão determina se as atualizações nas listas de aceitação ou rejeição de um anexo de serviço podem afetar as conexões atuais do Private Service Connect. Se a reconciliação de conexão estiver ativada, a atualização de listas de aceitação ou rejeição poderá encerrar as conexões atuais. As conexões que foram rejeitadas anteriormente podem se tornar aceitas. Se a reconciliação de conexão estiver desativada, a atualização das listas de aceitação ou rejeição afetará apenas as conexões novas e pendentes.

Por exemplo, considere um anexo de serviço que tenha várias conexões aceitas de Project-A. Project-A está na lista de aceitação do anexo de serviço. O anexo de serviço é atualizado removendo Project-A da lista de aceitação.

Se a reconciliação de conexão estiver ativada, todas as conexões existentes de Project-A farão a transição para PENDING, o que encerra a conectividade de rede entre as duas redes VPC e interrompe imediatamente o tráfego de rede.

Se a reconciliação de conexão estiver desativada, as conexões atuais de Project-A não serão afetadas. O tráfego de rede ainda pode fluir entre as conexões atuais do Private Service Connect. No entanto, novas conexões do Private Service Connect não são permitidas.

Para informações sobre como configurar a reconciliação de conexão para novos anexos de serviço, consulte Publicar um serviço com aprovação explícita.

Para informações sobre como configurar a reconciliação de conexão para anexos de serviço atuais, consulte Configurar a reconciliação de conexão.

Limites de conexão

As listas de aceitação do consumidor têm limites de conexão. Esses limites definem o número total de conexões que um anexo de serviço pode aceitar do projeto do consumidor ou da rede VPC especificada. Os produtores podem usar esses limites para evitar que consumidores individuais consumam endereços IP ou cotas de recursos na rede VPC do produtor. Cada conexão do Private Service Connect aceita é subtraída do limite configurado para um projeto de consumidor ou rede VPC. Os limites são definidos ao criar ou atualizar listas de aceitação do consumidor. É possível ver as conexões de um anexo de serviço ao descrever um anexo de serviço.

Por exemplo, considere um caso em que um anexo de serviço tenha uma lista de aceitação do consumidor que inclua project-1 e project-2, ambos com um limite de uma conexão. O projeto project-1 solicita duas conexões, project-2 solicita uma conexão e project-3 solicita uma conexão. Como project-1 tem um limite de uma conexão, a primeira é aceita e a segunda permanece pendente. A conexão de project-2 é aceita, e a conexão de project-3 permanece pendente. A segunda conexão de project-1 pode ser aceita ao aumentar o limite de project-1. Se project-3 for adicionado à lista de aceitação do consumidor, essa conexão mudará de pendente para aceita.

Configuração do DNS

Para informações sobre a configuração de DNS para serviços publicados e endpoints que se conectam a serviços publicados, consulte Configuração de DNS para serviços.

Configuração de várias regiões

É possível disponibilizar um serviço em várias regiões criando as configurações a seguir.

Configuração do produtor:

Configuração do consumidor:

Nessa configuração, o endpoint encaminha o tráfego usando a política de balanceamento de carga global padrão: primeiro por integridade, e depois pelo local mais próximo ao cliente.

Figura 3. O uso de um balanceador de carga de aplicativo externo global permite que os consumidores de serviço com acesso à Internet enviem tráfego a serviços na rede VPC do produtor de serviços. Como o serviço é implantado em várias regiões, o balanceador de carga pode encaminhar o tráfego para um NEG na região integra mais próxima (clique para ampliar).

Recursos e compatibilidade

Nas tabelas abaixo, uma marca de seleção indica que um recurso é compatível, e nenhum símbolo indica que um recurso é incompatível.

Dependendo do balanceador de carga do produtor escolhido, o serviço de produtor pode aceitar acesso por endpoints, back-ends ou ambos.

Suporte para endpoints

Veja nesta tabela um resumo das opções de configuração e dos recursos compatíveis dos endpoints que acessam serviços publicados.

Configuração do consumidor (endpoint) Balanceador de carga do produtor
Balanceador de carga de rede de passagem interna Balanceador de carga de aplicativo interno regional Balanceador de carga de rede de proxy interno regional Encaminhamento de protocolo interno (instância de destino)
Acesso global do consumidor

Independentemente da configuração de acesso global no balanceador de carga

Somente se o acesso global estiver ativado no balanceador de carga

Somente se o acesso global estiver ativado no balanceador de carga

Independente da configuração de acesso global no balanceador de carga

Interconectar tráfego

Tráfego do Cloud VPN
Configuração automática de DNS
Pilha de IP IPv4 IPv4 IPv4 IPv4

Veja nesta tabela um resumo das opções de configuração e dos recursos compatíveis dos serviços publicados que são acessados pelos endpoints.

Configuração do produtor (serviço publicado) Balanceador de carga do produtor
Balanceador de carga de rede de passagem interna Balanceador de carga de aplicativo interno regional Balanceador de carga de rede de proxy interno regional Encaminhamento de protocolo interno (instância de destino)
Back-ends de produtor compatíveis
  • NEGs de GCE_VM_IP
  • Grupos de instâncias
  • NEGs de GCE_VM_IP_PORT
  • NEGs híbridos
  • NEGs sem servidor
  • NEGs do Private Service Connect
  • Grupos de instâncias
  • NEGs de GCE_VM_IP_PORT
  • NEGs híbridos
  • NEGs sem servidor
  • NEGs do Private Service Connect
  • Grupos de instâncias
Não relevante
Protocolo de proxy Somente tráfego TCP Somente tráfego TCP
Modos de afinidade de sessão NONE (5 tuplas)
CLIENT_IP_PORT_PROTO
Não relevante Não relevante Não relevante

Diferentes balanceadores de carga oferecem suporte a diversas configurações de porta; alguns balanceadores de carga aceitam uma única porta, alguns aceitam uma variedade de portas e alguns aceitam todas as portas. Para mais informações, consulte Especificações de porta.

Suporte para back-ends

Um back-end do Private Service Connect para serviços publicados requer dois balanceadores de carga: um do consumidor e um do produtor. Nesta tabela, descrevemos a compatibilidade entre diferentes tipos de balanceadores de carga de consumidores e produtores, incluindo quais protocolos de serviço de back-end podem ser usados com cada balanceador de carga de consumidor. Cada linha representa um tipo de balanceador de carga do consumidor, e cada coluna representa um tipo de balanceador de carga do produtor.

Balanceador de carga do consumidor e protocolos de serviço de back-end do consumidor compatíveis Balanceador de carga do produtor
Balanceador de carga de rede de passagem interna Balanceador de carga de aplicativo interno regional Balanceador de carga de rede de proxy interno regional

Balanceador de carga de aplicativo externo global (compatível com várias regiões)

Protocolos: HTTPS e HTTP2

Observação: o balanceador de carga de aplicativo clássico não é compatível.

Balanceador de carga de aplicativo externo regional

Protocolos: HTTP, HTTPS, HTTP2

Balanceador de carga de aplicativo interno regional

Protocolos: HTTP, HTTPS, HTTP2

Balanceador de carga de aplicativo interno entre regiões (pré-lançamento)

Protocolos: HTTPS e HTTP2

Balanceador de carga de rede de proxy interno regional

Protocolo: TCP

Balanceador de carga de rede de proxy interno entre regiões

Protocolo: TCP

Balanceador de carga de rede de proxy externo regional

Protocolo: TCP

Balanceador de carga de rede de proxy externo global (pré-lançamento)

Protocolo: TCP/SSL

Observação: o balanceador de carga de rede de proxy clássico não é compatível.

Nesta tabela, descrevemos a configuração dos balanceadores de carga do produtor que são compatíveis com os back-ends do Private Service Connect.

Configuração Balanceador de carga do produtor
Balanceador de carga de rede de passagem interna Balanceador de carga de aplicativo interno regional Balanceador de carga de rede de proxy interno regional
Back-ends de produtor compatíveis
  • NEGs de GCE_VM_IP
  • Grupos de instâncias
  • NEGs de GCE_VM_IP_PORT
  • NEGs híbridos
  • NEGs sem servidor
  • NEGs do Private Service Connect
  • Grupos de instâncias
  • NEGs de GCE_VM_IP_PORT
  • NEGs híbridos
  • NEGs sem servidor
  • NEGs do Private Service Connect
  • Grupos de instâncias
Protocolos da regra de encaminhamento
  • TCP
  • HTTP
  • HTTPS
  • HTTP/2
  • TCP
Portas da regra de encaminhamento A regra de encaminhamento precisa se referir a uma única porta. A regra de encaminhamento precisa se referir a uma única porta. A regra de encaminhamento precisa se referir a uma única porta.
Protocolo de proxy

VPC compartilhada

Os administradores de projetos de serviço podem criar anexos de serviço em projetos de serviço de VPC compartilhada que se conectam a recursos em redes VPC compartilhadas.

A configuração é a mesma de um anexo de serviço normal, exceto para o seguinte:

  • A regra de encaminhamento do balanceador de carga do produtor está associada a um endereço IP da rede VPC compartilhada. É preciso compartilhar a sub-rede da regra de encaminhamento com o projeto de serviço.
  • O anexo de serviço usa uma sub-rede do Private Service Connect da rede VPC compartilhada. Ela precisa ser compartilhada com o projeto de serviço.

Geração de registros

É possível ativar os registros de fluxo de VPC nas sub-redes que contêm as VMs de back-end. Os registros mostram fluxos entre as VMs de back-end e os endereços IP na sub-rede do Private Service Connect.

VPC Service Controls

O VPC Service Controls e o Private Service Connect são compatíveis entre si. Se a rede VPC em que o endpoint do Private Service Connect estiver implantado estiver em um perímetro do VPC Service Controls, esse endpoint faz parte do mesmo perímetro. Todos os Serviços com suporte com o VPC Service Controls que são acessados por meio do endpoint estão sujeitos às políticas desse perímetro do VPC Service Controls.

Quando você cria um endpoint, as chamadas de API do plano de controle são feitas entre os projetos do consumidor e do produtor para estabelecer uma conexão do Private Service Connect. Estabelecer uma conexão do Private Service Connect entre projetos do consumidor e do produtor que não estão no mesmo perímetro do VPC Service Controls não exige autorização explícita com políticas de saída. A comunicação com os Serviços com suporte com o VPC Service Controls por meio do endpoint é protegida pelo perímetro do VPC Service Controls.

Preços

Os preços do Private Service Connect são descritos na página de preços da VPC.

Cotas

O número de endpoints que podem ser criados para acessar serviços publicados é controlado pela cota PSC Internal LB Forwarding Rules. Para mais informações, consulte Cotas.

Acesso no local

Os serviços do Private Service Connect são disponibilizados usando endpoints. Esses endpoints podem ser acessados de hosts locais compatíveis conectados. Para mais informações, consulte Acessar o endpoint de hosts locais.

Limitações

Os serviços publicados têm as seguintes limitações: