Publique serviços através do Private Service Connect

Enquanto produtor de serviços, pode usar o Private Service Connect para publicar serviços através de endereços IP internos na sua rede VPC. Os seus serviços publicados são acessíveis aos consumidores de serviços através de endereços IP internos nas redes VPC do consumidor.

Este guia descreve como usar o Private Service Connect para publicar um serviço. Para publicar um serviço, faça o seguinte:

O Private Service Connect oferece dois métodos para estabelecer ligação a serviços publicados:

Estes tipos de pontos finais requerem configurações de produtor ligeiramente diferentes. Para mais informações, consulte o artigo Funcionalidades e compatibilidade.

Funções

A seguinte função de IAM fornece as autorizações necessárias para realizar as tarefas neste guia.

Antes de começar

  • Leia o artigo Acerca dos serviços publicados para ver informações sobre a publicação de serviços, incluindo limitações.

  • Decida se o serviço deve estar acessível a partir de todos os projetos ou se quer controlar os projetos que podem aceder ao seu serviço.

  • Decida se quer que este serviço suporte pontos finais, backends ou ambos. Para mais informações sobre pontos finais e back-ends, consulte os tipos de Private Service Connect.

    Para mais informações sobre os requisitos de configuração do serviço, consulte o artigo Funcionalidades e compatibilidade.

  • Decida se quer configurar um nome de domínio para o serviço, que automatiza a configuração de DNS para os pontos finais do consumidor de serviços. Se configurar um nome de domínio, o mesmo principal da IAM que publica o serviço tem de validar que tem autorizações de proprietário para o domínio na Google Search Console. Se configurar um nome de domínio, mas não for o proprietário do domínio, a publicação do serviço falha. Para validar a propriedade, aceda à Google Search Console.

    O nome do domínio que especificar no anexo de serviço pode ser um subdomínio do domínio que validar. Por exemplo, pode validar example.com e, em seguida, criar uma associação de serviço com um nome de domínio de us-west1.p.example.com.

  • Decida se o seu serviço vai usar o protocolo PROXY para fornecer detalhes sobre as ligações dos consumidores. Se planeia usar o protocolo PROXY, certifique-se de que é suportado pelo tipo de serviço de destino e pelo software do servidor Web de back-end do serviço. Para obter informações sobre os tipos de serviços de destino que suportam o protocolo PROXY, consulte o artigo Funcionalidades e compatibilidade.

Crie um serviço de destino

Para alojar o serviço, crie um dos seguintes serviços de destino numa rede VPC do produtor de serviços:

Para ver informações sobre as configurações suportadas para cada serviço de destino, consulte o artigo Funcionalidades e compatibilidade.

Pode associar cada anexo de serviço a um único serviço de destino. Não é possível associar vários anexos de serviços ao mesmo serviço de destino.

A versão IP do seu serviço de destino (IPv4 ou IPv6) afeta os consumidores que podem estabelecer ligação ao seu serviço publicado. Para mais informações, consulte o artigo Tradução de versões de IP.

Para equilibradores de carga de rede de proxy interno regionais, os back-ends podem estar localizados em Google Cloud, noutras nuvens, num ambiente no local ou em qualquer combinação destas localizações.

Também pode publicar um serviço alojado num equilibrador de carga de passagem interno no Google Kubernetes Engine. Esta configuração, incluindo o balanceador de carga e a configuração da associação de serviços, é descrita no artigo Crie um balanceador de carga de rede de passagem interno com o Private Service Connect na documentação do GKE.

Crie uma sub-rede para o Private Service Connect

Crie uma ou mais sub-redes dedicadas para usar com o Private Service Connect. Tem de criar a sub-rede na mesma região que o balanceador de carga do serviço.

Se estiver a usar a Google Cloud consola para publicar um serviço, pode criar as sub-redes durante esse procedimento.

Pode criar uma sub-rede do Private Service Connect num projeto anfitrião da VPC partilhada.

Não é possível converter uma sub-rede normal numa sub-rede do Private Service Connect.

O tipo de pilha de IP da sub-rede que criar tem de ser compatível com a versão de IP da regra de encaminhamento do balanceador de carga:

  • Para regras de encaminhamento IPv4, crie uma sub-rede apenas IPv4 ou de pilha dupla.
  • Para regras de encaminhamento IPv6, crie uma sub-rede apenas IPv6 ou de pilha dupla que tenha um intervalo de endereços IPv6 internos.
  • Se usar uma sub-rede de pilha dupla, é usado o intervalo de endereços IPv4 ou IPv6, mas não ambos.

Se precisar de disponibilizar mais endereços IP a um serviço existente, consulte o artigo Adicione ou remova sub-redes de um serviço publicado.

Consola

  1. Na Google Cloud consola, aceda à página Redes VPC.

    Aceda a redes de VPC

  2. Clique no nome de uma rede de VPC para mostrar a página de detalhes da rede de VPC.

  3. Clique em Sub-redes.

  4. Clique em Adicionar sub-rede. No painel apresentado, faça o seguinte:

    1. Indique um nome.
    2. Selecione uma região.
    3. Na secção Finalidade, selecione Private Service Connect.
    4. Na secção Tipo de pilha de IP, selecione um tipo de pilha de IP.
    5. Se estiver a criar uma sub-rede apenas IPv4 ou de pilha dupla, introduza um intervalo de endereços IPv4, por exemplo, 10.10.10.0/24.
    6. Se estiver a criar uma sub-rede apenas IPv6 ou de pilha dupla, clique em Tipo de acesso IPv6 e selecione Interno.
    7. Clique em Adicionar.

gcloud

Use o comando gcloud compute networks subnets create.

  • Para criar uma sub-rede do Private Service Connect apenas IPv4, faça o seguinte:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    
  • Para criar uma sub-rede do Private Service Connect de pilha dupla, faça o seguinte:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=INTERNAL \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    
  • Para criar uma sub-rede do Private Service Connect apenas IPv6, faça o seguinte:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --stack-type=IPV6_ONLY \
        --ipv6-access-type=INTERNAL \
        --purpose=PRIVATE_SERVICE_CONNECT
    

Substitua o seguinte:

  • SUBNET_NAME: o nome a atribuir à sub-rede.

  • NETWORK_NAME: o nome da VPC para a nova sub-rede.

  • REGION: a região da nova sub-rede. Tem de ser a mesma região que o serviço que está a publicar.

  • SUBNET_RANGE: o intervalo de endereços IPv4 a usar para a sub-rede, por exemplo, 10.10.10.0/24.

API

Envie um pedido POST para o método subnetworks.insert.

  • Para criar uma sub-rede do Private Service Connect apenas IPv4, faça o seguinte:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    
    {
      "ipCidrRange": "SUBNET_RANGE",
      "name": "SUBNET_NAME",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "purpose": "PRIVATE_SERVICE_CONNECT"
    }
    
  • Para criar uma sub-rede do Private Service Connect de pilha dupla, faça o seguinte:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    
    {
      "ipCidrRange": "SUBNET_RANGE",
      "name": "SUBNET_NAME",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "purpose": "PRIVATE_SERVICE_CONNECT",
      "stackType": "IPV4_IPV6",
      "ipv6AccessType": "INTERNAL"
    }
    
  • Para criar uma sub-rede do Private Service Connect apenas IPv6, faça o seguinte:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    
    {
      "name": "SUBNET_NAME",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "purpose": "PRIVATE_SERVICE_CONNECT",
      "stackType": "IPV6_ONLY",
      "ipv6AccessType": "INTERNAL"
    }
    

Substitua o seguinte:

  • PROJECT_ID: o projeto da sub-rede.

  • REGION: a região da nova sub-rede. Tem de ser a mesma região que o serviço que está a publicar.

  • SUBNET_RANGE: o intervalo de endereços IPv4 a usar para a sub-rede. Por exemplo, 10.10.10.0/24.

  • SUBNET_NAME: o nome a atribuir à sub-rede.

  • NETWORK_NAME: o nome da rede VPC para a nova sub-rede.

Configure regras de firewall

Configure regras de firewall para permitir o tráfego entre os pontos finais ou os back-ends e a associação de serviço. Os pedidos de clientes têm origem em localizações diferentes, consoante o tipo de Private Service Connect.

Tipo de Private Service Connect Intervalos de endereços IP para tráfego de clientes Detalhes
Ponto final (com base numa regra de encaminhamento) Os intervalos de endereços IP das sub-redes do Private Service Connect associadas a este serviço. Se estiver a usar a rede predefinida, a regra pré-preenchida default-allow-internal permite este tráfego, a menos que exista uma regra de prioridade mais alta que o bloqueie.
Back-end (com base num balanceador de carga de aplicações externo global)
  • 130.211.0.0/22
  • 35.191.0.0/16
Os balanceadores de carga de aplicações externos globais são implementados em front-ends da Google (GFEs), que usam estes intervalos de endereços IP.

Se a configuração da firewall ainda não permitir o tráfego do tipo de ponto final adequado, configure as regras da firewall para o permitir.

A seguinte configuração de exemplo permite-lhe criar regras de firewall da VPC para permitir o tráfego de intervalos de endereços IP de clientes para as VMs de back-end no balanceador de carga do serviço produtor. Esta configuração pressupõe que as VMs de back-end foram configuradas com uma etiqueta de rede.

Exemplo de regra de entrada:

gcloud compute firewall-rules create NAME \
    --network=NETWORK_NAME \
    --direction=ingress \
    --action=allow \
    --target-tags=TAG \
    --source-ranges=CLIENT_IP_RANGES_LIST \
    --rules=RULES_LIST

Substitua o seguinte:

  • NAME: o nome da regra de firewall.

  • NETWORK_NAME: a rede que contém o serviço e a sub-rede do Private Service Connect.

  • TAG: a etiqueta de destino que é aplicada às VMs de back-end no balanceador de carga do serviço de produtor.

  • CLIENT_IP_RANGES_LIST: os intervalos de endereços IP de onde o tráfego de clientes tem origem. Para mais informações, consulte a tabela anterior.

  • RULES_LIST: uma lista separada por vírgulas de protocolos e portas de destino aos quais a regra se aplica. Por exemplo, tcp,udp.

Exemplo de regra de saída:

gcloud compute firewall-rules create NAME \
    --network=NETWORK_NAME \
    --direction=egress \
    --action=allow \
    --target-tags=TAG \
    --destination-ranges=CLIENT_IP_RANGES_LIST \
    --rules=RULES_LIST

Substitua o seguinte:

  • NAME: o nome da regra de firewall.

  • NETWORK_NAME: a rede que contém o serviço e a sub-rede do Private Service Connect.

  • TAG: a etiqueta de destino que é aplicada às VMs de back-end no balanceador de carga do serviço de produtor.

  • CLIENT_IP_RANGES_LIST: os intervalos de endereços IP de onde o tráfego de clientes tem origem. Para mais informações, consulte a tabela anterior.

  • RULES_LIST: uma lista separada por vírgulas de protocolos e portas de destino aos quais a regra se aplica. Por exemplo, tcp,udp.

Para mais informações sobre a configuração de regras de firewall de VPC, consulte o artigo Regras de firewall de VPC. Para configurar regras de firewall hierárquicas para permitir este tráfego, consulte o artigo Políticas de firewall hierárquicas.

Publique um serviço

Para publicar um serviço, crie uma associação de serviço. Pode disponibilizar o serviço de duas formas:

Crie a associação de serviço na mesma região que o balanceador de carga do serviço.

Cada associação de serviço pode apontar para uma ou mais sub-redes do Private Service Connect, mas não é possível usar uma sub-rede do Private Service Connect em mais do que uma associação de serviço.

Se quiser ver as informações de ligação do consumidor, pode ativar o protocolo PROXY nos serviços suportados. Ative o protocolo PROXY apenas se for suportado pelo tipo de serviço de destino (problema conhecido) e pelo software do servidor Web de back-end do serviço. Para ver informações sobre os tipos de serviços de destino que suportam o protocolo PROXY, consulte o artigo Funcionalidades e compatibilidade. Para mais informações sobre o protocolo PROXY, consulte as Informações de ligação do consumidor.

Esta secção fornece instruções para publicar um serviço baseado num equilibrador de carga. Para obter informações sobre como criar uma associação de serviço que faça referência a uma instância do proxy Web seguro, consulte o artigo Implemente o proxy Web seguro como uma associação de serviço do Private Service Connect.

Publique um serviço com aprovação automática

Use estas instruções para publicar um serviço e permitir automaticamente que qualquer consumidor se ligue a este serviço. Se quiser aprovar explicitamente as associações de consumidores, consulte o artigo Publicar um serviço com aprovação explícita.

Quando publica um serviço, cria uma associação de serviço. Os consumidores de serviços usam os detalhes da associação de serviços para se ligarem ao seu serviço.

Quando publica um serviço com aprovação automática, o limite de ligações propagado aplica-se a cada projeto consumidor que se liga ao seu anexo de serviço.

Consola

  1. Na Google Cloud consola, aceda à página Private Service Connect.

    Aceda ao Private Service Connect

  2. Clique no separador Serviços publicados.

  3. Clique em Publicar serviço.

  4. Na secção Detalhes do destino, selecione Equilibrador de carga.

  5. Selecione um tipo de balanceador de carga.

  6. Selecione o balanceador de carga interno que aloja o serviço que quer publicar. Os campos de rede e região são preenchidos com os detalhes do balanceador de carga interno selecionado.

    Os administradores do projeto de serviço podem selecionar um equilibrador de carga interno que tenha um endereço IP de uma rede VPC partilhada. Para mais informações, consulte o artigo VPC partilhada.

  7. Se lhe for pedido, selecione a regra de encaminhamento associada ao serviço que quer publicar.

  8. Em Nome do serviço, introduza um nome para a associação de serviço.

  9. Selecione uma ou mais sub-redes do Private Service Connect para o serviço. A lista é preenchida com sub-redes da rede VPC do balanceador de carga interno selecionado, incluindo sub-redes partilhadas com um projeto de serviço através da VPC partilhada.

    Se a associação de serviço usar um equilibrador de carga interno com um endereço IP de uma rede de VPC partilhada, tem de selecionar uma sub-rede partilhada da mesma rede de VPC partilhada.

    Se quiser adicionar uma nova sub-rede, pode criar uma:

    1. Clique em Sub-redes e, de seguida, em Reservar nova sub-rede.
    2. Introduza um nome e uma descrição opcional para a sub-rede.
    3. Selecione uma região para a sub-rede.
    4. Selecione um tipo de pilha de IP.
    5. Se estiver a criar uma sub-rede apenas IPv4 ou de pilha dupla, introduza um intervalo de endereços IPv4 a usar para a sub-rede.
    6. Clique em Adicionar.
  10. Se quiser ver informações de ligação do consumidor, selecione Usar protocolo de proxy.

  11. Selecione Aceitar automaticamente todas as ligações.

  12. Se quiser desativar a conciliação de associações, desmarque a caixa de verificação Ativar conciliação de associações.

  13. Opcional: clique em Configuração avançada e, de seguida, faça o seguinte:

    1. Se quiser configurar um nome de domínio, introduza um nome de domínio, incluindo um ponto final.

      O formato recomendado para o nome do domínio é REGION.p.DOMAIN.

      Tem de ser proprietário do nome de domínio. Para mais informações, consulte o artigo Configuração de DNS.

    2. Introduza um limite de associações propagadas. Se não for especificado, o valor predefinido é 250.

  14. Clique em Adicionar serviço.

gcloud

Use o comando gcloud compute service-attachments create.

gcloud compute service-attachments create ATTACHMENT_NAME \
    --region=ATTACHMENT_REGION \
    --target-service=TARGET_SERVICE \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=PSC_SUBNET_LIST \
    [ --propagated-connection-limit=PROPAGATED_CONNECTION_LIMIT ] \
    [ --enable-proxy-protocol ] \
    [ --domain-names=DOMAIN_NAME ]

Substitua o seguinte:

  • ATTACHMENT_NAME: o nome a atribuir ao anexo de serviço.

  • ATTACHMENT_REGION: a região do novo anexo de serviço. Tem de ser a mesma região que o endereço IP da regra de encaminhamento de destino.

  • TARGET_SERVICE: o URI da regra de encaminhamento associada ao serviço que está a publicar.

    • Para balanceadores de carga de aplicações internos entre regiões, use o seguinte formato: projects/PROJECT_ID/global/forwardingRules/RULE_NAME
    • Para todas as outras regras de encaminhamento de produtores, use o seguinte formato: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

    Os administradores do projeto de serviço podem especificar a regra de encaminhamento de um balanceador de carga interno que tenha um endereço IP de uma rede VPC partilhada. Para mais informações, consulte o artigo VPC partilhada.

  • PSC_SUBNET_LIST: uma lista separada por vírgulas de um ou mais nomes de sub-redes a usar com esta associação de serviço.

    Se estiver a criar uma associação de serviço com uma regra de encaminhamento que tenha um endereço IP de uma rede VPC partilhada, use sub-redes partilhadas da mesma rede VPC partilhada. Para cada sub-rede partilhada, especifique o URI do recurso completo, por exemplo, --nat-subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET.

  • PROPAGATED_CONNECTION_LIMIT: o limite de associações propagado por projeto. O valor predefinido é 250.

  • DOMAIN_NAME: um nome de domínio DNS para o serviço, incluindo um ponto final. Formato recomendado: REGION.p.DOMAIN.

    Para mais informações, consulte o artigo Configuração de DNS.

API

Envie um pedido POST para o método serviceAttachments.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments
{
  "name": "ATTACHMENT_NAME",
  "connectionPreference": "ACCEPT_AUTOMATIC",
  "targetService": "TARGET_SERVICE",
  "enableProxyProtocol": false,
  "natSubnets": [
    "PSC_SUBNET_1_URI",
    "PSC_SUBNET_2_URI"
  ],
  "propagatedConnectionLimit": "PROPAGATED_CONNECTION_LIMIT",
  "domainNames": [
    "DOMAIN_NAME"
  ]
}

Substitua o seguinte:

  • PROJECT_ID: o projeto do anexo de serviço.

  • ATTACHMENT_REGION: a região do novo anexo de serviço. Tem de ser a mesma região que o endereço IP da regra de encaminhamento de destino.

  • ATTACHMENT_NAME: o nome a atribuir ao anexo de serviço.

  • TARGET_SERVICE: o URI da regra de encaminhamento associada ao serviço que está a publicar.

    • Para balanceadores de carga de aplicações internos entre regiões, use o seguinte formato: projects/PROJECT_ID/global/forwardingRules/RULE_NAME
    • Para todas as outras regras de encaminhamento de produtores, use o seguinte formato: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

    Os administradores do projeto de serviço podem especificar a regra de encaminhamento de um balanceador de carga interno que tenha um endereço IP de uma rede VPC partilhada. Para mais informações, consulte o artigo VPC partilhada.

  • PSC_SUBNET_1_URI e PSC_SUBNET_2_URI: os URIs da sub-rede a usar para esta associação de serviço. Pode especificar uma ou mais sub-redes por URI.

    Se estiver a criar uma associação de serviço com uma regra de encaminhamento que tenha um endereço IP de uma rede VPC partilhada, use sub-redes partilhadas da mesma rede VPC partilhada.

  • DOMAIN_NAME: um nome de domínio DNS para o serviço, incluindo um ponto final. Formato recomendado: REGION.p.DOMAIN.

    Para mais informações, consulte o artigo Configuração de DNS.

  • PROPAGATED_CONNECTION_LIMIT: o limite de associações propagado por projeto. O valor predefinido é 250.

Publique um serviço com aprovação explícita

Use estas instruções para publicar um serviço se quiser aprovar explicitamente os consumidores antes de estes poderem estabelecer ligação a este serviço. Se quiser aprovar automaticamente as associações de consumidores, consulte o artigo sobre publicar um serviço com aprovação automática.

Quando publica um serviço, cria uma associação de serviço. Os consumidores de serviços usam os detalhes da associação de serviços para se ligarem ao seu serviço.

Cada anexo de serviço tem uma lista de aceitação de consumidores e uma lista de rejeição de consumidores, que são usadas para determinar que pontos finais podem estabelecer ligação ao serviço. Um anexo de serviço especificado pode usar projetos ou redes nestas listas, mas não ambos. A especificação de consumidores por pasta não é suportada.

Se alterar a aceitação de consumidores com base no projeto para a aceitação de consumidores com base na rede ou vice-versa, faça o seguinte:

  • Substituir todos os projetos ou redes aprovados numa única operação.
  • Se precisar de conceder o mesmo acesso que antes, certifique-se de que as novas listas de aceitação e rejeição são equivalentes às anteriores.

Se adicionar um projeto ou uma rede à lista de aceitação e à lista de rejeição, os pedidos de ligação desse projeto ou rede são rejeitados.

Se as listas de aceitação e rejeição do consumidor fizerem referência a projetos, o limite de ligação propagado aplica-se aos projetos do consumidor. Se as suas listas de aceitação e rejeição de consumidores fizerem referência a redes de VPC, o limite de ligações propagado aplica-se às redes de VPC de consumidores.

Consola

  1. Na Google Cloud consola, aceda à página Private Service Connect.

    Aceda ao Private Service Connect

  2. Clique no separador Serviços publicados.

  3. Clique em Publicar serviço.

  4. Na secção Detalhes do destino, selecione Equilibrador de carga.

  5. Selecione um tipo de balanceador de carga.

  6. Selecione o equilibrador de carga interno que aloja o serviço que quer publicar. Os campos de rede e região são preenchidos com os detalhes do balanceador de carga interno selecionado.

    Os administradores do projeto de serviço podem selecionar um equilibrador de carga interno que tenha um endereço IP de uma rede VPC partilhada. Para mais informações, consulte o artigo VPC partilhada.

  7. Se lhe for pedido, selecione a regra de encaminhamento associada ao serviço que quer publicar.

  8. Em Nome do serviço, introduza um nome para a associação de serviço.

  9. Selecione uma ou mais sub-redes do Private Service Connect para o serviço. A lista é preenchida com sub-redes da rede VPC do balanceador de carga interno selecionado, incluindo sub-redes partilhadas com um projeto de serviço através da VPC partilhada.

    Se a associação de serviço usar um equilibrador de carga interno com um endereço IP de uma rede de VPC partilhada, tem de selecionar uma sub-rede partilhada da mesma rede de VPC partilhada.

    Se quiser adicionar uma nova sub-rede, pode criar uma:

    1. Clique em Sub-redes e, de seguida, em Reservar nova sub-rede.
    2. Introduza um nome e uma descrição opcional para a sub-rede.
    3. Selecione uma região para a sub-rede.
    4. Selecione um tipo de pilha de IP.
    5. Se estiver a criar uma sub-rede apenas IPv4 ou de pilha dupla, introduza um intervalo de endereços IPv4 a usar para a sub-rede.
    6. Clique em Adicionar.
  10. Se quiser ver informações de ligação do consumidor, selecione Usar protocolo de proxy.

  11. Se quiser aceitar associações para projetos selecionados, selecione Aceitar associações para projetos selecionados.

    1. Para cada projeto do qual quer aceitar associações, faça o seguinte:
      1. Clique em Adicionar projeto aceite e, de seguida, introduza o seguinte:
        • O ID do projeto ou o número do projeto do projeto do qual quer aceitar ligações.
        • Um limite de ligações para especificar o número máximo de pontos finais do projeto especificado que podem estabelecer ligação.
    2. Opcional: para cada projeto do qual quer rejeitar explicitamente as ligações, clique em Adicionar projeto rejeitado e, de seguida, introduza o ID do projeto ou o número do projeto.
  12. Se quiser aceitar ligações para redes selecionadas, selecione Aceitar ligações para redes selecionadas.

    1. Para cada rede a partir da qual quer aceitar ligações, faça o seguinte:
      1. Clique em Adicionar rede aceite e, de seguida, introduza o seguinte:
        • O ID do projeto ou o número do projeto principal da rede da qual quer aceitar ligações.
        • O nome da rede da qual quer aceitar ligações.
        • Um limite de ligações para especificar o número máximo de pontos finais da rede especificada que podem estabelecer ligação.
    2. Opcional: para cada rede da qual quer rejeitar explicitamente ligações, clique em Adicionar rede rejeitada e, de seguida, introduza o ID ou o número do projeto principal da rede e o nome da rede.
  13. Se quiser desativar a conciliação de associações, desmarque a caixa de verificação Ativar conciliação de associações.

  14. Opcional: clique em Configuração avançada e, de seguida, faça o seguinte:

    1. Se quiser configurar um nome de domínio, introduza um nome de domínio, incluindo um ponto final.

      O formato recomendado para o nome do domínio é REGION.p.DOMAIN.

      Tem de ser proprietário do nome de domínio. Para mais informações, consulte o artigo Configuração de DNS.

    2. Introduza um limite de associações propagadas. Se não for especificado, o valor predefinido é 250.

  15. Clique em Adicionar serviço.

gcloud

Use o comando gcloud compute service-attachments create.

gcloud compute service-attachments create ATTACHMENT_NAME \
    --region=ATTACHMENT_REGION \
    --target-service=TARGET_SERVICE \
    --connection-preference=ACCEPT_MANUAL \
    --consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2 \
    --consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2 \
    --nat-subnets=PSC_SUBNET_LIST \
    [ --propagated-connection-limit=PROPAGATED_CONNECTION_LIMIT ] \
    [ --enable-proxy-protocol ] \
    [ --domain-names=DOMAIN_NAME ] \
    [ --reconcile-connections ]

Substitua o seguinte:

  • ATTACHMENT_NAME: o nome a atribuir ao anexo de serviço.

  • ATTACHMENT_REGION: a região do novo anexo de serviço. Tem de ser a mesma região que o endereço IP da regra de encaminhamento de destino.

  • TARGET_SERVICE: o URI da regra de encaminhamento associada ao serviço que está a publicar.

    • Para balanceadores de carga de aplicações internos entre regiões, use o seguinte formato: projects/PROJECT_ID/global/forwardingRules/RULE_NAME
    • Para todas as outras regras de encaminhamento de produtores, use o seguinte formato: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

    Os administradores do projeto de serviço podem especificar a regra de encaminhamento de um balanceador de carga interno que tenha um endereço IP de uma rede VPC partilhada. Para mais informações, consulte o artigo VPC partilhada.

  • ACCEPTED_PROJECT_OR_NETWORK_1 e ACCEPTED_PROJECT_OR_NETWORK_2: os IDs dos projetos, os nomes dos projetos ou os URIs de rede a aceitar. --consumer-accept-list é opcional e pode conter um ou mais projetos ou redes, mas não uma combinação de ambos os tipos.

  • LIMIT_1 e LIMIT_2: os limites de ligação para os projetos ou as redes. O limite de ligações é o número de pontos finais ou back-ends do consumidor que podem estabelecer ligação a este serviço. Cada projeto ou rede aceite tem de ter um limite de ligações configurado.

  • REJECTED_PROJECT_OR_NETWORK_1 e REJECTED_PROJECT_OR_NETWORK_2: os IDs dos projetos, os nomes dos projetos ou os URIs de rede a rejeitar. --consumer-reject-list é opcional e pode conter um ou mais projetos ou redes, mas não uma combinação de ambos os tipos.

  • PSC_SUBNET_LIST: uma lista separada por vírgulas de um ou mais nomes de sub-redes a usar com esta associação de serviço.

    Se estiver a criar uma associação de serviço com uma regra de encaminhamento que tenha um endereço IP de uma rede VPC partilhada, use sub-redes partilhadas da mesma rede VPC partilhada. Para cada sub-rede partilhada, especifique o URI do recurso completo, por exemplo, --nat-subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET.

  • PROPAGATED_CONNECTION_LIMIT: o limite de associação propagado. O valor predefinido é 250.

  • DOMAIN_NAME: um nome de domínio DNS para o serviço, incluindo um ponto final. Formato recomendado: REGION.p.DOMAIN.

    Para mais informações, consulte o artigo Configuração de DNS.

API

Envie um pedido POST para o método serviceAttachments.insert.

  • Para publicar um serviço e aprovar explicitamente os consumidores com base no projeto, envie o seguinte pedido:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments
    {
      "name": "ATTACHMENT_NAME",
      "region": "ATTACHMENT_REGION",
      "connectionPreference": "ACCEPT_MANUAL",
      "targetService": "TARGET_SERVICE",
      "enableProxyProtocol": false,
      "natSubnets": [
        "PSC_SUBNET_1_URI",
        "PSC_SUBNET_2_URI"
      ],
      "consumerRejectLists": [
        "REJECTED_PROJECT_1",
        "REJECTED_PROJECT_2"
      ],
      "consumerAcceptLists": [
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_1",
          "connectionLimit": "LIMIT_1"
        },
        {
          "projectIdOrNum": "ACCEPTED_PROJECT_2",
          "connectionLimit": "LIMIT_2"
        }
      ],
      "propagatedConnectionLimit": "PROPAGATED_CONNECTION_LIMIT",
      "domainNames": [
        "DOMAIN_NAME"
      ]
    }
    

    Substitua o seguinte:

    • PROJECT_ID: o projeto do anexo de serviço.

    • ATTACHMENT_REGION: a região do novo anexo de serviço. Tem de ser a mesma região que o endereço IP da regra de encaminhamento de destino.

    • ATTACHMENT_NAME: o nome a atribuir ao anexo de serviço.

    • TARGET_SERVICE: o URI da regra de encaminhamento associada ao serviço que está a publicar.

      • Para balanceadores de carga de aplicações internos entre regiões, use o seguinte formato: projects/PROJECT_ID/global/forwardingRules/RULE_NAME
      • Para todas as outras regras de encaminhamento de produtores, use o seguinte formato: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

      Os administradores do projeto de serviço podem especificar a regra de encaminhamento de um balanceador de carga interno que tenha um endereço IP de uma rede VPC partilhada. Para mais informações, consulte o artigo VPC partilhada.

    • PSC_SUBNET_1_URI e PSC_SUBNET_2_URI: os URIs da sub-rede a usar para esta associação de serviço. Pode especificar uma ou mais sub-redes por URI.

      Se estiver a criar uma associação de serviço com uma regra de encaminhamento que tenha um endereço IP de uma rede VPC partilhada, use sub-redes partilhadas da mesma rede VPC partilhada.

    • REJECTED_PROJECT_1 e REJECTED_PROJECT_2: os IDs ou os números dos projetos a rejeitar. consumerRejectLists é opcional e pode conter um ou mais projetos.

    • ACCEPTED_PROJECT_1 e ACCEPTED_PROJECT_2: os IDs ou os números dos projetos a aceitar. consumerAcceptLists é opcional e pode conter um ou mais projetos.

    • LIMIT_1 e LIMIT_2: os limites de ligação para os projetos. O limite de ligações é o número de pontos finais ou back-ends de consumidores que podem estabelecer ligação a este serviço. Cada projeto aceite tem de ter um limite de ligações configurado.

    • DOMAIN_NAME: um nome de domínio DNS para o serviço, incluindo um ponto final. Formato recomendado: REGION.p.DOMAIN. Para mais informações, consulte Configuração de DNS.
  • Para publicar um serviço e aprovar explicitamente os consumidores com base na rede VPC, envie o seguinte pedido:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments
    {
      "name": "ATTACHMENT_NAME",
      "region": "ATTACHMENT_REGION",
      "connectionPreference": "ACCEPT_MANUAL",
      "targetService": "TARGET_SERVICE",
      "enableProxyProtocol": false,
      "natSubnets": [
        "PSC_SUBNET_1_URI",
        "PSC_SUBNET_2_URI"
      ],
      "consumerRejectLists": [
        "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1",
        "projects/REJECTED_PROJECT_ID_2/global/networks/REJECTED_NETWORK_2"
      ],
      "consumerAcceptLists": [
        {
          "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/networks/ACCEPTED_NETWORK_1",
          "connectionLimit": "LIMIT_1"
        },
        {
          "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/networks/ACCEPTED_NETWORK_2",
          "connectionLimit": "LIMIT_2"
        }
      ],
      "propagatedConnectionLimit": PROPAGATED_CONNECTION_LIMIT,
      "domainNames": [
        "DOMAIN_NAME"
      ]
    }
    

    Substitua o seguinte:

    • REJECTED_PROJECT_ID_1 e REJECTED_PROJECT_ID_2: os IDs dos projetos principais das redes que quer rejeitar. consumerRejectLists é opcional e pode conter uma ou mais redes.
    • REJECTED_NETWORK_1 e REJECTED_NETWORK_2: os nomes das redes que quer rejeitar.
    • ACCEPTED_PROJECT_ID_1 e ACCEPTED_PROJECT_ID_2: os IDs dos projetos principais das redes que quer aceitar. consumerAcceptLists é opcional e pode conter uma ou mais redes.
    • ACCEPTED_NETWORK_1 e ACCEPTED_NETWORK_2: os nomes das redes que quer aceitar.
    • LIMIT_1 e LIMIT_2: os limites de ligação para as redes. O limite de ligações é o número de pontos finais ou back-ends do consumidor que podem estabelecer ligação a este serviço. Cada projeto aceite tem de ter um limite de ligações configurado.
    • DOMAIN_NAME: um nome de domínio DNS para o serviço, incluindo um ponto final. Formato recomendado: REGION.p.DOMAIN. Para mais informações, consulte Configuração de DNS.
  • Para publicar um serviço com a conciliação de associações ativada, envie um pedido semelhante aos pedidos anteriores, mas inclua o seguinte campo:

    {
      ...
      "reconcileConnections": true
      ...
    }
    

Veja informações de associação de consumidores

Para ver informações sobre como ver informações de ligação do consumidor através do protocolo PROXY, consulte o artigo Ver informações de ligação do consumidor.

Faça a gestão de pedidos de acesso a um serviço publicado

Se tiver um serviço publicado com aprovação explícita, pode aceitar ou rejeitar pedidos de ligação de projetos ou redes de consumidores. Para mais informações, consulte o artigo Faça a gestão de pedidos de acesso a um serviço publicado.

Também pode alternar entre a aceitação automática e explícita de projetos para um serviço publicado. Para mais informações, consulte o artigo Altere a preferência de associação de um serviço publicado

Adicione ou remova sub-redes de um serviço publicado

Pode adicionar ou remover sub-redes de um serviço publicado. Para mais informações, consulte o artigo Adicione ou remova sub-redes de um serviço publicado.

Apresente os serviços publicados

Pode listar todos os serviços.

Consola

  1. Na Google Cloud consola, aceda à página Private Service Connect.

    Aceda ao Private Service Connect

  2. Clique no separador Serviços publicados.

    As associações do serviço do Private Service Connect são apresentadas.

gcloud

Use o comando gcloud compute service-attachments list.

gcloud compute service-attachments list [--regions=REGION_LIST]

Substitua REGION_LIST por uma lista separada por vírgulas de uma ou mais regiões para as quais quer ver associações de serviços. Por exemplo, us-central1 ou us-west1,us-central1.

API

Para ver todos os anexos de serviços numa determinada região ou em todas as regiões, envie um pedido GET ao método serviceAttachments.list.

  • Ver todos os anexos de serviços numa região:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
    
  • Ver todos os anexos de serviços em todas as regiões:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/serviceAttachments
    

    Substitua o seguinte:

    • PROJECT_ID: o projeto do anexo de serviço.

    • REGION: a região do anexo de serviço.

    • ATTACHMENT_NAME: o nome do anexo de serviço.

Veja os detalhes de um serviço publicado

Pode ver os detalhes da configuração de um serviço publicado. Pode ver alguns detalhes de configuração na consola, por exemplo, o URI de associação do serviço que os consumidores do serviço precisam para se ligarem ao seu serviço. Google Cloud Para ver todos os detalhes, incluindo os valores pscConnectionId para os consumidores do anexo de serviço, use a Google Cloud CLI ou a API.

Consola

Pode ver os detalhes de um serviço publicado. O campo Service attachment contém o URI da associação do serviço.

  1. Na Google Cloud consola, aceda à página Private Service Connect.

    Aceda ao Private Service Connect

  2. Clique no separador Serviços publicados.

  3. Clique no serviço que quer ver.

gcloud

Para ver detalhes de um serviço publicado, use o comando gcloud compute service-attachments describe. O campo selfLink contém o URI do anexo de serviço.

gcloud compute service-attachments describe \
    ATTACHMENT_NAME --region=REGION

API

Para ver os detalhes de um serviço publicado, envie um pedido GET para o método serviceAttachments.get. O campo selfLink contém o URI do anexo de serviço.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

Substitua o seguinte:

  • PROJECT_ID: o projeto do anexo de serviço.

  • REGION: a região do anexo de serviço.

  • ATTACHMENT_NAME: o nome do anexo de serviço.

Elimine um serviço publicado

Pode eliminar um serviço publicado, mesmo que existam ligações de consumidor ao anexo de serviço. A eliminação do serviço publicado remove apenas a associação de serviço. O balanceador de carga associado não foi eliminado. Quando elimina um serviço publicado, aplica-se o seguinte:

Consola

  1. Na Google Cloud consola, aceda à página Private Service Connect.

    Aceda ao Private Service Connect

  2. Clique no separador Serviços publicados.

  3. Clique no serviço que quer eliminar.

  4. Clique em Eliminar.

gcloud

Use o comando gcloud compute service-attachments delete.

gcloud compute service-attachments delete \
    ATTACHMENT_NAME --region=REGION

API

Envie um pedido DELETE para o método serviceAttachments.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

Substitua o seguinte:

  • PROJECT_ID: o projeto do anexo de serviço.

  • REGION: a região do anexo de serviço.

  • ATTACHMENT_NAME: o nome do anexo de serviço.

Problemas conhecidos

Falhas na verificação de funcionamento com pontos finais de consumidor de acesso global

Os consumidores podem associar um ponto final de acesso global a um serviço publicado que não esteja configurado para acesso global. No entanto, as verificações de estado não funcionam corretamente nesta configuração. Como resultado, o tráfego pode ser enviado para back-ends não íntegros e ser eliminado.

Se publicar um serviço através de um balanceador de carga de passagem interno ou de encaminhamento de protocolos interno (instância de destino) e o seu serviço for afetado por este problema, faça o seguinte.

  • Se quiser usar o acesso global, faça o seguinte:
    1. Ative o acesso global para a regra de encaminhamento do balanceador de carga.
    2. Se o equilibrador de carga for gerido pelo Google Kubernetes Engine, também tem de atualizar o manifesto do serviço correspondente e aplicá-lo ao cluster. Para mais informações sobre esta configuração específica do GKE, consulte Acesso global.
    3. Atualize qualquer automatização para que os novos balanceadores de carga do produtor que suportam pontos finais do Private Service Connect de acesso global sejam configurados para acesso global.
  • Se não quiser usar o acesso global, peça ao consumidor para desativar o acesso global para o ponto final.

Falhas na verificação de estado com NEGs do Private Service Connect de acesso global

Existe um problema conhecido com os NEGs do Private Service Connect do consumidor que estão configurados para acesso global. Um NEG do Private Service Connect está configurado para acesso global se estiver associado a um serviço de back-end global.

Se um consumidor associar um NEG do Private Service Connect configurado para acesso global a um balanceador de carga do produtor e o produtor de serviços desativar o acesso global para esse balanceador de carga, as verificações de estado não funcionam corretamente. Como resultado, o tráfego pode ser enviado para back-ends não íntegros e eliminado.

Se publicar um serviço através de um balanceador de carga interno que suporte o acesso global e o seu serviço for afetado por este problema, faça o seguinte.

  • Se quiser usar o acesso global, faça o seguinte:
    1. Ative o acesso global para a regra de encaminhamento do balanceador de carga.
    2. Se o equilibrador de carga for gerido pelo Google Kubernetes Engine, também tem de atualizar o manifesto do serviço correspondente e aplicá-lo ao seu cluster. Para mais informações sobre esta configuração específica do GKE, consulte o artigo Acesso global.
    3. Atualize qualquer automatização para que os novos balanceadores de carga do produtor que suportam NEGs do Private Service Connect de acesso global sejam configurados para acesso global.
  • Se não quiser usar o acesso global, peça ao consumidor que reconfigure o NEG do Private Service Connect para acesso regional. Para o fazer, o consumidor tem de remover o respetivo NEG do Private Service Connect do serviço de back-end global e, em seguida, anexar o NEG a um serviço de back-end regional.

Desligamentos após a atualização do fornecedor Google para o Terraform

Se usou o fornecedor Google para o Terraform com versões anteriores a 4.76.0 para criar associações de serviços, não atualize para as versões 4.76.0 a 4.81.x. Quando executa o terraform apply após a atualização para as versões 4.76.0 a 4.81.x, o Terraform pode eliminar e recriar involuntariamente as associações de serviços e fechar as ligações existentes do Private Service Connect. As associações de serviços recriadas não restabelecem automaticamente as ligações do Private Service Connect.

Se atualizar para a versão 4.82.0 e, em seguida, executar terraform apply, as associações de serviços não são eliminadas, mas a definição reconcile connections é definida como verdadeira. Se a definição tiver sido definida anteriormente como falsa, algumas ligações do Private Service Connect podem ser fechadas.

  • Atualizar para as versões 4.76.0 a 4.81.x dos fornecedores Google. Neste cenário, a saída de terraform plan inclui o seguinte:

    -/+ resource "google_compute_service_attachment" "SERVICE_NAME" {
      ...
            ~ reconcile_connections = false -> true # forces replacement
      ...
    

    Use a solução alternativa para evitar este problema.

  • Atualizar para as versões 4.82.0 do fornecedor Google. Neste cenário, o resultado de terraform plan inclui o seguinte:

    ~ reconcile_connections = false -> true
    

    Se ignorar este aviso e aplicar as alterações, o Terraform atualiza o anexo de serviço para ativar a conciliação de ligações. Consoante o estado da ligação, a mudança de false para true pode fechar algumas ligações existentes. Para mais informações, consulte o artigo Reconciliação de associações.

    Use a solução alternativa para evitar este problema.

Alternativa

Recomendamos que atualize o fornecedor Google para o Terraform para a versão 4.82.0 ou posterior. Esta versão impede a eliminação e a recriação não intencionais de anexos de serviços.

Se não puder atualizar imediatamente ou se puder atualizar, mas também quiser impedir que o Terraform altere a definição de conciliação da associação, atualize a configuração do Terraform para definir explicitamente a definição de conciliação da associação.

  1. Veja a configuração detalhada da associação de serviço e tome nota da definição reconcileConnections.

    gcloud compute service-attachments describe SERVICE_NAME --region=REGION
    

    O resultado inclui o campo reconcileConnections, que pode ser verdadeiro ou falso.

    reconcileConnections: false
    
  2. Atualize o ficheiro de configuração do Terraform para usar explicitamente a mesma definição que é usada na associação de serviço.

    resource "google_compute_service_attachment" "SERVICE_NAME" {
      ...
      reconcile_connections    = false
    }
    

    Para ver um exemplo de configuração, consulte Service Attachment Reconcile Connections no GitHub.

Erros de TLS com o protocolo PROXY

Se publicar um serviço com o protocolo PROXY ativado, mas o tipo de serviço de destino não suportar o protocolo PROXY, os consumidores podem estabelecer ligação ao seu serviço com pontos finais. No entanto, o tráfego não flui através da ligação e as cargas de trabalho recebem erros relacionados com TLS.

Para resolver este problema, atualize a associação de serviço para desativar o protocolo PROXY.

Para ver informações sobre os tipos de serviços de destino que suportam o protocolo PROXY, consulte Funcionalidades e compatibilidade.

Resolução de problemas

Erro ao atualizar uma associação de serviço

Se vir a seguinte mensagem de erro quando atualiza uma associação de serviço, a lista de aceitação ou a lista de rejeição podem incluir projetos eliminados: The resource PROJECT was not found.

Remova os projetos eliminados da configuração da associação de serviço para resolver o problema.

  1. Use o comando gcloud compute service-attachments describe para mostrar a configuração da associação de serviço que quer modificar.

    • Para gerar a lista de aceitação num formato que pode usar mais tarde para atualizar a associação de serviço, faça o seguinte:

      gcloud compute service-attachments describe ATTACHMENT_NAME \
          --region=REGION --flatten="consumerAcceptLists[]" \
          --format="csv[no-heading,separator='='](consumerAcceptLists.projectIdOrNum,consumerAcceptLists.connectionLimit)" \
          | xargs | sed -e 's/ /,/g'
      

      O resultado da lista de aceitação tem um aspeto semelhante ao seguinte:

      PROJECT_1=LIMIT_1,PROJECT_2=LIMIT_2,PROJECT_3=LIMIT_3
      
    • Para gerar a lista de rejeição num formato que pode usar mais tarde para atualizar a associação de serviço, faça o seguinte:

      gcloud compute service-attachments describe ATTACHMENT_NAME \
          --region=REGION \
          --format="value[delimiter=','](consumerRejectLists[])"
      

      O resultado da lista de rejeição tem um aspeto semelhante ao seguinte:

      PROJECT_1,PROJECT_2,PROJECT_3
      
  2. Edite o resultado do comando para remover todos os projetos eliminados da lista de aceitação e da lista de rejeição.

  3. Atualize a associação de serviços para remover os projetos eliminados.

    • Para atualizar a lista de aceitação, faça o seguinte:

      gcloud compute service-attachments update ATTACHMENT_NAME \
          --region=REGION \
          --consumer-accept-list=UPDATED_ACCEPT_LIST
      
    • Para atualizar a lista de rejeição, faça o seguinte:

      gcloud compute service-attachments update ATTACHMENT_NAME \
          --region=REGION \
          --consumer-reject-list=UPDATED_REJECT_LIST
      

A conetividade não está estabelecida

Se um consumidor tiver criado um ponto final ou um back-end que faça referência à sua associação de serviço, mas a conetividade não for estabelecida, verifique o estado da ligação da associação de serviço. O estado da ligação pode indicar os passos que pode seguir para resolver o problema.

As ligações de consumidores excedem o tempo limite

Se as ligações de consumidores excederem o tempo limite, verifique se o seu serviço requer ligações de longa duração. O limite de tempo de inatividade da ligação TCP estabelecida para o NAT do Private Service Connect é de 20 minutos. Se o seu serviço precisar de um limite de tempo mais longo, pode ter de fazer algumas alterações de configuração para ajudar a garantir que as ligações não atingem o limite de tempo. Para mais informações, consulte as especificações de NAT.

Erros de ligação propagados

Para obter informações sobre a resolução de problemas de ligações propagadas, consulte o artigo Resolva problemas de erros de propagação de ligações do Private Service Connect.

O serviço publicado tem problemas de desempenho ou limites de tempo de ligação

Se o seu serviço publicado tiver problemas de desempenho ou limites de tempo de ligação intermitentes, pode dever-se a pacotes perdidos. Pode investigar os pacotes perdidos verificando as métricas descritas nas secções seguintes.

Pacotes perdidos de consumidores

A métrica private_service_connect/producer/dropped_received_packets_count monitoriza pacotes de um ponto final ou um back-end para um serviço publicado que são ignorados porque o ponto final ou o back-end excedeu o respetivo número máximo de ligações ao serviço.

Se um serviço publicado comunicar valores para esta métrica, considere as seguintes soluções:

  • Aumentar a capacidade do seu serviço publicado, por exemplo, adicionando mais instâncias de máquinas virtuais (VM) ou pontos finais de rede.
  • Peça ao consumidor do serviço para criar pontos finais ou back-ends adicionais que se liguem ao serviço publicado.
  • Peça ao consumidor do serviço para reduzir o número de ligações através do respetivo ponto final ou back-end.

Pacotes perdidos para os consumidores

A métrica private_service_connect/producer/dropped_sent_packets_count monitoriza os pacotes enviados de um serviço publicado para um ponto final ou um back-end que são rejeitados porque o Private Service Connect não consegue encontrar uma associação correspondente para pacotes de resposta.

O Private Service Connect só permite ligações iniciadas a partir da rede VPC do consumidor. Quando um consumidor inicia uma ligação, a ligação é monitorizada para fazer corresponder os pacotes de resposta do serviço publicado a uma ligação existente. Se o Private Service Connect não conseguir encontrar uma correspondência para um pacote de resposta, o pacote é rejeitado.

Isto pode acontecer se um serviço publicado enviar pacotes de resposta após o tempo limite de uma ligação ter expirado. Para obter informações sobre como evitar problemas com o tempo limite das ligações, consulte as especificações de NAT.