Aceda a serviços publicados através de pontos finais
Este documento explica como aceder a serviços noutra rede de VPC através de pontos finais do Private Service Connect. Pode estabelecer ligação aos seus próprios serviços ou aos fornecidos por outros produtores de serviços, incluindo a Google.
Para mais informações sobre os serviços, consulte o artigo publique serviços geridos.
Antes de começar
- Leia o artigo Acerca da ligação a serviços através de pontos finais, incluindo limitações.
- Tem de ativar a API Compute Engine no seu projeto.
- Tem de ativar a API Service Directory no seu projeto.
- Tem de ativar a API Cloud DNS no seu projeto.
- Identifique ou crie uma sub-rede normal para usar para
atribuir um endereço IP ao ponto final.
- A sub-rede tem de estar na mesma região que o serviço ao qual quer estabelecer ligação.
- Pode usar um endereço IPv4 de uma sub-rede apenas IPv4 ou de uma sub-rede de pilha dupla.
- Pode usar um endereço IPv6 de uma sub-rede apenas IPv6 ou de pilha dupla se a sub-rede tiver um intervalo de endereços IPv6 internos.
- A versão IP do endereço IP afeta os serviços publicados aos quais o ponto final se pode ligar. Para mais informações, consulte o artigo Tradução de versão de IP.
- As regras de firewall de saída têm de permitir o tráfego para o endereço IP interno do ponto final. A regra de firewall de permissão implícita de saída permite a saída para qualquer endereço IP de destino. Se criou regras de firewall de negação de saída na sua rede VPC ou se criou políticas de firewall hierárquicas que modificam o comportamento de saída permitido implícito, o acesso ao ponto final pode ser afetado. Crie uma regra ou uma política de firewall de saída específica para permitir o tráfego para o destino do endereço IP interno do ponto final do serviço.
- Tem de ter o URI da associação de serviço para o serviço. Por
exemplo,
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Funções necessárias
Para receber as autorizações de que precisa para aceder aos serviços publicados através de pontos finais, peça ao seu administrador para lhe conceder as seguintes funções do IAM:
-
Criar, ver e eliminar pontos finais no seu projeto:
Administrador de rede de cálculo (
roles/compute.networkAdmin
) no seu projeto -
Criar, ver e eliminar pontos finais num projeto de serviço de VPC partilhada:
-
Administrador de rede de computação (
roles/compute.networkAdmin
) no projeto de serviço -
Utilizador da rede de computação (
roles/compute.networkUser
) no projeto anfitrião
-
Administrador de rede de computação (
-
Configure automaticamente ou manualmente as entradas de DNS para um ponto final no seu projeto:
-
Administrador de DNS (
roles/dns.admin
) no seu projeto -
Editor do diretório de serviços (
roles/servicedirectory.editor
) no seu projeto
-
Administrador de DNS (
-
Configurar automaticamente ou manualmente as entradas de DNS para um ponto final num projeto de serviço de VPC partilhada:
-
Administrador de DNS (
roles/dns.admin
) no projeto de serviço -
Editor do diretório de serviços (
roles/servicedirectory.editor
) no projeto de serviço
-
Administrador de DNS (
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para aceder aos serviços publicados através de pontos finais. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para aceder a serviços publicados através de pontos finais:
-
Para criar, ver e eliminar pontos finais no seu projeto:
-
compute.networks.use
no seu projeto -
compute.subnetworks.use
no seu projeto -
compute.addresses.createInternal
no seu projeto -
compute.addresses.deleteInternal
no seu projeto -
compute.addresses.get
no seu projeto -
compute.addresses.list
no seu projeto -
compute.addresses.use
no seu projeto -
compute.forwardingRules.create
no seu projeto -
compute.forwardingRules.delete
no seu projeto -
compute.forwardingRules.get
no seu projeto -
compute.forwardingRules.list
no seu projeto -
compute.forwardingRules.pscCreate
no seu projeto -
compute.forwardingRules.pscDelete
no seu projeto -
compute.regionOperations.get
no seu projeto -
servicedirectory.namespaces.create
no seu projeto -
servicedirectory.namespaces.delete
no seu projeto -
servicedirectory.services.create
no seu projeto -
servicedirectory.services.delete
no seu projeto
-
-
Para criar, ver e eliminar pontos finais num projeto de serviço associado a uma rede de VPC partilhada:
-
compute.addresses.createInternal
no projeto de serviço -
compute.addresses.deleteInternal
no projeto de serviço -
compute.addresses.get
no projeto de serviço -
compute.addresses.list
no projeto de serviço -
compute.addresses.use
no projeto de serviço -
compute.forwardingRules.create
no projeto de serviço -
compute.forwardingRules.delete
no projeto de serviço -
compute.forwardingRules.get
no projeto de serviço -
compute.forwardingRules.list
no projeto de serviço -
compute.forwardingRules.pscCreate
no projeto de serviço -
compute.forwardingRules.pscDelete
no projeto de serviço -
compute.regionOperations.get
no projeto de serviço -
servicedirectory.namespaces.create
no projeto de serviço -
servicedirectory.namespaces.delete
no projeto de serviço -
servicedirectory.services.create
no projeto de serviço -
servicedirectory.services.delete
no projeto de serviço -
compute.networks.use
no projeto anfitrião -
compute.subnetworks.use
no projeto anfitrião
-
-
Para configurar automaticamente ou manualmente as entradas de DNS de um ponto final no seu projeto:
-
dns.managedZones.create
no seu projeto -
dns.managedZones.delete
no seu projeto -
dns.networks.bindPrivateDNSZone
no seu projeto -
servicedirectory.namespaces.associatePrivateZone
no seu projeto
-
-
Para configurar automaticamente ou manualmente as entradas de DNS para um ponto final numa rede VPC partilhada:
-
dns.managedZones.create
no projeto de serviço -
dns.managedZones.delete
no projeto de serviço -
dns.networks.bindPrivateDNSZone
no projeto de serviço -
servicedirectory.namespaces.associatePrivateZone
no projeto de serviço
-
-
Para aceder à página do Private Service Connect na Google Cloud consola:
-
compute.forwardingRules.list
no seu projeto -
compute.globalForwardingRules.list
no seu projeto -
compute.networkEndpointGroups.list
no seu projeto -
compute.regionNetworkEndpointGroups.list
no seu projeto -
compute.urlMaps.list
no seu projeto -
compute.backendService.list
no seu projeto -
compute.regionBackendService.list
no seu projeto -
compute.backendBucket.list
no seu projeto -
compute.targetHttpProxy.list
no seu projeto -
compute.targetHttpsProxy.list
no seu projeto -
compute.regionTargetTcpProxy.list
no seu projeto -
compute.targetTcpProxy.list
no seu projeto -
compute.targetSslProxy.list
no seu projeto -
compute.sslCertificate.list
no seu projeto -
compute.sslPolicy.list
no seu projeto -
compute.regionHealthCheck.list
no seu projeto -
compute.healthCheck.list
no seu projeto -
compute.httpHealthCheck.list
no seu projeto -
compute.httpsHealthCheck.list
no seu projeto
-
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Crie um ponto final
Um ponto final liga-se a serviços noutra rede VPC através de uma regra de encaminhamento do Private Service Connect. Cada regra de encaminhamento conta para a quota por projeto de regras de encaminhamento do Private Service Connect para aceder a serviços noutra rede VPC.
Quando cria um ponto final, este é registado automaticamente no Service Directory, através de um espaço de nomes à sua escolha ou do espaço de nomes predefinido, goog-psc-default
.
Se quiser disponibilizar o ponto final a partir de mais do que uma região, ative o acesso global.
Só pode atualizar o campo de acesso global dos pontos finais para serviços publicados. Se quiser atualizar outros campos, elimine o ponto final e, de seguida, crie um novo.
Consola
Na Google Cloud consola, aceda à página Private Service Connect.
Clique no separador Pontos finais ligados.
Clique em Associar ponto final.
Em Segmentar, selecione Serviço publicado.
Para Serviço de destino, introduza o URI do anexo de serviço ao qual quer estabelecer ligação.
O URI do anexo de serviço está neste formato:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Em Nome do ponto final, introduza um nome a usar para o ponto final.
Selecione uma rede para o ponto final.
Selecione uma sub-rede para o ponto final.
Selecione um endereço IP para o ponto final. Se precisar de um novo endereço IP, pode criar um:
- Clique no menu pendente Endereço IP e selecione Criar endereço IP.
- Introduza um Nome e uma Descrição opcional para o endereço IP.
- Selecione uma versão do IP.
Se estiver a criar um endereço IPv4, selecione Atribuir automaticamente ou Permitir-me escolher.
Se selecionou Deixar-me escolher, introduza o endereço IP personalizado que quer usar.
Clique em Reservar.
Para disponibilizar o ponto final a partir de qualquer região, selecione Ativar acesso global.
Selecione um espaço de nomes na lista pendente ou crie um novo espaço de nomes.
A região é preenchida com base na sub-rede selecionada.
Clique em Adicionar ponto final.
gcloud
Reserve um endereço IP interno para atribuir ao ponto final.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET \ --ip-version=IP_VERSION
Substitua o seguinte:
ADDRESS_NAME
: o nome a atribuir ao endereço IP reservado.REGION
: a região do endereço IP do ponto final. Esta tem de ser a mesma região que contém a associação de serviço do produtor de serviços.SUBNET
: o nome da sub-rede para o endereço IP do ponto final.IP_VERSION
: a versão IP do endereço IP, que pode serIPV4
ouIPV6
.IPV4
é a predefinição. Para especificarIPV6
, o endereço IP tem de estar associado a uma sub-rede com um intervalo de endereços IPv6 internos.
Encontre o endereço IP reservado.
gcloud compute addresses list --filter="name=ADDRESS_NAME"
Crie uma regra de encaminhamento para associar o ponto final à associação do serviço do produtor do serviço. Por predefinição, os pontos finais estão disponíveis apenas na respetiva região. Para disponibilizar um ponto final a partir de qualquer região, use a flag
--allow-psc-global-access
.Crie um ponto final que só possa ser acedido a partir da sua própria região.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT \ [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]
Crie um ponto final acessível a partir de qualquer região.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT \ --allow-psc-global-access \ [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]
Substitua o seguinte:
ENDPOINT_NAME
: o nome a atribuir ao ponto final.REGION
: a região do ponto final. Tem de ser a mesma região que contém a associação de serviço do produtor de serviços.NETWORK_NAME
: o nome da rede VPC para o ponto final.ADDRESS_NAME
: o nome da morada reservada.SERVICE_ATTACHMENT
: o URI da associação do serviço do produtor do serviço. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
PROJECT_ID
: o ID do seu projeto.NAMESPACE
: o espaço de nomes do diretório de serviços que quer usar. Se especificar um espaço de nomes que não exista, o espaço de nomes é criado.Se omitir a flag
--service-directory-registration
, é usado o espaço de nomes predefinido degoog-psc-default
.
API
Reserve um endereço IP interno para atribuir ao ponto final.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses { "name": "ADDRESS_NAME", "addressType": "INTERNAL", "subnetwork": "SUBNET_URI", "ipVersion": "IP_VERSION" }
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.REGION
: a região do ponto final. Tem de ser a mesma região que contém a associação de serviço do produtor de serviços.ADDRESS_NAME
: o nome a atribuir ao endereço IP reservado.SUBNET_URI
: a sub-rede do endereço IP. Use o método subnetworks.list ougcloud compute networks subnets list --uri
para encontrar os URLs das suas redes.IP_VERSION
: a versão IP do endereço IP, que pode serIPV4
ouIPV6
.IPV4
é a predefinição. Para especificarIPV6
, o endereço IP tem de estar associado a uma sub-rede com um intervalo de endereços IPv6 internos.
Crie uma regra de encaminhamento para associar o ponto final à associação do serviço do produtor do serviço. Por predefinição, os pontos finais estão disponíveis apenas na respetiva região. Para disponibilizar um ponto final a partir de qualquer região, defina
allowPscGlobalAccess
comotrue
.Crie um ponto final que só possa ser acedido a partir da sua própria região.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules { "name": "ENDPOINT_NAME", "IPAddress": "ADDRESS_URI", "target": "SERVICE_ATTACHMENT", "network": "NETWORK_URI", "serviceDirectoryRegistrations": [ { "namespace": "NAMESPACE" } ] }
Crie um ponto final acessível a partir de qualquer região.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules { "name": "ENDPOINT_NAME", "IPAddress": "ADDRESS_URI", "target": "SERVICE_ATTACHMENT", "network": "NETWORK_URI", "allowPscGlobalAccess": true, "serviceDirectoryRegistrations": [ { "namespace": "NAMESPACE" } ] }
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.REGION
: a região do ponto final.ENDPOINT_NAME
: o nome a atribuir ao ponto final.ADDRESS_URI
: o URI do endereço reservado na rede associada. Use o método addresses.list ougcloud compute addresses list --uri
para encontrar o URL da sua morada reservada.SERVICE_ATTACHMENT
: o URI da associação do serviço do produtor do serviço. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
NETWORK_URI
: a rede VPC para o ponto final. Use o método network.list ougcloud compute networks list --uri
para encontrar o URI da sua rede.NAMESPACE
: o espaço de nomes do ponto final. Se especificar um espaço de nomes que não existe, o espaço de nomes é criado. Se omitir o camponamespace
, é atribuído o espaço de nomes predefinido degoog-psc-default
.
Crie um ponto final com um endereço IP de uma rede VPC partilhada
Os administradores de projetos de serviço podem criar pontos finais em projetos de serviço de VPC partilhada que usam endereços IP de redes de VPC partilhada associadas. A criação de pontos finais deste tipo não está disponível na Google Cloud consola. Tem de usar a CLI Google Cloud ou enviar um pedido de API. Para mais informações, consulte o artigo VPC partilhada.
Este exemplo mostra como criar um ponto final com um endereço IP de uma rede de VPC partilhada que pode ser acedido a partir de uma única região. Para ativar o acesso global ou escolher um espaço de nomes para o Service Directory, consulte o artigo Criar um ponto final.
gcloud
Para reservar um endereço IP interno para atribuir ao ponto final, faça uma das seguintes ações:
- No projeto de serviço, reserve um endereço IPv4 ou IPv6 interno estático de uma sub-rede partilhada da rede de VPC partilhada.
- No projeto anfitrião, peça a um administrador da VPC partilhada que reserve um endereço IPv4 ou IPv6 interno estático de uma sub-rede partilhada da rede VPC partilhada.
O endereço IP tem de estar na mesma região que a associação de serviço do produtor de serviços.
Para criar o ponto final no projeto de serviço, faça uma das seguintes ações.
Se tiver autorização para usar todas as sub-redes no projeto anfitrião, use o seguinte comando:
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=projects/HOST_PROJECT/global/networks/HOST_NETWORK \ --address=projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT
Substitua o seguinte:
ENDPOINT_NAME
: o nome a atribuir ao ponto final.REGION
: a região do ponto final. Esta tem de ser a mesma região que contém a associação de serviço do produtor de serviços.HOST_PROJECT
: o ID do projeto do projeto da rede VPC partilhada.HOST_NETWORK
: o nome da rede de VPC partilhada que contém o endereço IP do ponto final.ADDRESS_PROJECT
: o ID do projeto no qual reservou o endereço IP. Pode ser o projeto de serviço ou o projeto anfitrião.ADDRESS_NAME
: o nome do endereço IP reservado.SERVICE_ATTACHMENT
: o URI da associação do serviço do produtor do serviço. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Se tiver autorização para usar apenas algumas sub-redes no projeto anfitrião, especifique uma sub-rede partilhada através do seguinte comando:
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --subnet=projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET \ --address=projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT
Substitua
HOST_SUBNET
pelo nome da sub-rede que contém o endereço IP do ponto final.
API
Para reservar um endereço IP interno para atribuir ao ponto final, faça uma das seguintes ações:
- No projeto de serviço, reserve um endereço IPv4 ou IPv6 interno estático de uma sub-rede partilhada da rede de VPC partilhada.
- No projeto anfitrião, peça a um administrador do projeto anfitrião para reservar um endereço IPv4 ou IPv6 interno estático de uma sub-rede partilhada da rede de VPC partilhada.
O endereço IP tem de estar na mesma região que o anexo de serviço do produtor de serviços.
Para criar o ponto final no projeto de serviço, faça uma das seguintes ações.
Se tiver autorização para usar todas as sub-redes no projeto anfitrião, faça o seguinte pedido:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "ENDPOINT_NAME", "IPAddress": "projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME", "target": "SERVICE_ATTACHMENT", "network": "projects/HOST_PROJECT/global/networks/HOST_NETWORK" }
Substitua o seguinte:
PROJECT
: o ID do projeto de serviço.REGION
: a região do ponto final. Esta tem de ser a mesma região que contém a associação do serviço do produtor do serviço.ENDPOINT_NAME
: o nome a atribuir ao ponto final.ADDRESS_PROJECT
: o ID do projeto no qual reservou o endereço IP. Pode ser o projeto de serviço ou o projeto anfitrião.ADDRESS_NAME
: o nome do endereço IP reservado.SERVICE_ATTACHMENT
: o URI da associação de serviço do produtor de serviços. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
HOST_PROJECT
: o ID do projeto do projeto da rede VPC partilhada.HOST_NETWORK
: o nome da rede de VPC partilhada que contém o endereço IP do ponto final.
Se tiver autorização para usar apenas algumas sub-redes no projeto anfitrião, especifique uma sub-rede partilhada fazendo o seguinte pedido:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "ENDPOINT_NAME", "IPAddress": "projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME", "target": "SERVICE_ATTACHMENT", "subnetwork": "projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET" }
Substitua
HOST_SUBNET
pelo nome da sub-rede que contém o endereço IP do ponto final.
Apresente pontos finais
Pode listar todos os pontos finais configurados.
Consola
Na Google Cloud consola, aceda à página Private Service Connect.
Clique no separador Pontos finais ligados.
Os pontos finais são apresentados.
gcloud
gcloud compute forwarding-rules list \ --filter 'target~serviceAttachments'
O resultado é semelhante ao seguinte:
NAME REGION IP_ADDRESS IP_PROTOCOL TARGET RULE IP TCP REGION/serviceAttachments/SERVICE_NAME
API
Esta chamada API devolve todas as regras de encaminhamento e não apenas os pontos finais usados para aceder aos serviços.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
Substitua o seguinte:
PROJECT_ID
: o projeto que contém o ponto final.REGION
: a região do ponto final.
Veja os detalhes do ponto final
Pode ver todos os detalhes de configuração de um ponto final, incluindo o estado da ligação do ponto final.
Consola
Na Google Cloud consola, aceda à página Private Service Connect.
Clique no separador Pontos finais ligados.
Clique no ponto final que quer ver.
gcloud
gcloud compute forwarding-rules describe \ ENDPOINT_NAME --region=REGION
Substitua o seguinte:
ENDPOINT_NAME
: o nome do ponto final.REGION
: a região do ponto final.
API
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME
Substitua o seguinte:
PROJECT_ID
: o projeto que contém o ponto final.REGION
: a região do ponto final.ENDPOINT_NAME
: o nome do ponto final.
Etiquete um ponto final
Pode gerir etiquetas para pontos finais. Para ver instruções detalhadas, consulte o artigo sobre a etiquetagem de recursos.
Elimine um ponto final
Pode eliminar um ponto final.
No entanto, as seguintes configurações do diretório de serviços não são eliminadas quando elimina o ponto final:
- Espaço de nomes do diretório de serviços
- Zona DNS do diretório de serviços
O espaço de nomes do Service Directory e a zona DNS do Service Directory podem ser usados por outros serviços. Verifique se o espaço de nomes está vazio antes de eliminar o espaço de nomes do Service Directory ou eliminar a zona DNS do Service Directory.
Consola
Na Google Cloud consola, aceda à página Private Service Connect.
Clique no separador Pontos finais ligados.
Selecione o ponto final que quer eliminar e, de seguida, clique em Eliminar.
gcloud
gcloud compute forwarding-rules delete ENDPOINT_NAME \ --region=REGION
Substitua o seguinte:
ENDPOINT_NAME
: o nome do ponto final.REGION
: a região do ponto final.
API
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME
Substitua o seguinte:
PROJECT_ID
: o projeto que contém o ponto final.REGION
: a região do ponto final.ENDPOINT_NAME
: o nome do ponto final.
Aceda a pontos finais a partir de redes híbridas
Os clientes em redes ligadas Google Cloud com anexos de VLAN para túneis do Cloud Interconnect ou da VPN do Google Cloud podem alcançar os pontos finais do Private Service Connect.O anexo da VLAN ou o túnel da Cloud VPN tem de terminar na mesma rede da VPC (ou rede da VPC partilhada) que o ponto final. Os clientes em redes VPCs com intercâmbio não conseguem alcançar os pontos finais.
O tráfego do cliente de anexos de VLAN ou túneis da Cloud VPN pode alcançar pontos finais noutra região se o acesso global estiver configurado.
O Dataplane v1 e o Dataplane v2 são suportados para as associações de VLAN. Para mais informações sobre as versões do plano de dados, consulte o artigo Plano de dados v2.
Se quiser aceder ao ponto final através do respetivo nome DNS, tem de configurar os sistemas na outra rede para que possam fazer consultas às suas zonas DNS privadas.
Se implementou as zonas DNS privadas através do Cloud DNS, conclua os seguintes passos:
Crie uma política de servidor de entrada na rede VPC à qual a sua outra rede se liga.
Identifique os pontos de entrada do encaminhador de entrada na região onde o anexo da VLAN ou o túnel da VPN na nuvem está localizado, na rede VPC à qual a sua outra rede se liga.
Configure os sistemas e os servidores de nomes DNS na outra rede para encaminhar os nomes DNS do ponto final para um ponto de entrada do encaminhador de entrada na mesma região que a associação de VLAN ou o túnel de VPN do Google Cloud que se liga à rede VPC.
Veja as zonas DNS do Service Directory
Se os pré-requisitos para a
configuração automática de DNS
forem cumpridos, é criada uma
zona DNS com um nome no formato
NAMESPACE--REGION
.
Consola
Na Google Cloud consola, aceda à página Zonas de DNS na nuvem.
Procure uma zona privada com o nome
NAMESPACE--REGION
.
gcloud
Execute o seguinte comando para listar todas as zonas de DNS privado:
gcloud dns managed-zones list \ --filter="visibility=private"
Execute o seguinte comando para obter detalhes de uma zona com o nome
NAMESPACE--REGION
.gcloud dns managed-zones describe NAMESPACE--REGION
Se a zona não estiver presente, veja os detalhes do ponto final e verifique se a configuração do ponto final inclui um valor para o espaço de nomes.
Se o endpoint tiver uma configuração de espaço de nomes, consulte o artigo Configure uma zona DNS do Service Directory.
Se o ponto final não tiver uma configuração de espaço de nomes, consulte o artigo Registe um ponto final no Service Directory.
Outras formas de configurar o DNS
Se os pré-requisitos para a configuração automática do DNS não forem cumpridos, pode criar entradas DNS de outras formas:
Se o ponto final tiver um espaço de nomes configurado, consulte o artigo Configure uma zona DNS do Service Directory.
Se o ponto final não tiver um espaço de nomes configurado, consulte o artigo Registe um ponto final no Service Directory.
Se preferir configurar o DNS manualmente, consulte o artigo Configure o DNS manualmente.
Configure uma zona DNS do diretório de serviços
Se um ponto final estiver registado no Service Directory, mas o serviço publicado ao qual se liga não tiver um nome de domínio configurado, não são feitas alterações ao DNS.
Se quiser replicar a configuração automática de DNS, pode configurar manualmente uma zona DNS do Service Directory que seja suportada pelo espaço de nomes do Service Directory. Depois de criar a zona, as entradas DNS para o ponto final são criadas automaticamente.
Crie uma zona DNS do Service Directory com a seguinte configuração:
Nome da zona: especifique
NAMESPACE--REGION
, ondeNAMESPACE
é o espaço de nomes no qual o ponto final está registado eREGION
é a região onde o ponto final é criado.Nome DNS: o domínio DNS que o produtor do serviço está a usar para os respetivos serviços publicados. Consulte o produtor do serviço para obter estas informações.
O nome DNS pode ter o formato
REGION.p.DOMAIN
. Por exemplo, se o domínio público do produtor de serviços forexample.com
e o respetivo serviço publicado estiver emus-west1
, recomendamos que o produtor disponibilize o serviço através dos nomes de domíniosus-west1.p.example.com
. Inclua um ponto no final, por exemplo,us-west1.p.example.com.
Espaço de nomes do diretório de serviços: o espaço de nomes que configurou para este ponto final.
Veja os detalhes do ponto final para encontrar o espaço de nomes e a região do Service Directory.
Com esta configuração, se tiver configurado uma zona DNS do Service Directory com o nome DNS us-west1.p.example.com
e criar um ponto final com o nome analytics
, é criado automaticamente um registo DNS para analytics.us-west1.p.example.com
.
Registe um ponto final no Service Directory
Os novos pontos finais são automaticamente registados no Service Directory. No entanto, se um ponto final tiver sido criado antes de o registo automático no Service Directory ter sido ativado, esta configuração pode estar em falta.
Pode eliminar o ponto final e criar um novo, que é registado automaticamente no diretório de serviços.
Em alternativa, pode seguir estes passos para registar um ponto final existente num espaço de nomes do Service Directory.
Crie um espaço de nomes do Service Directory para o ponto final,
NAMESPACE
.Crie um serviço do Service Directory para o ponto final,
SERVICE_NAME
.Para o serviço, use o mesmo nome que o nome da regra de encaminhamento usada para o ponto final,
ENDPOINT_NAME
.Crie um ponto final do Service Directory, usando o nome
default
e use o endereço IP e a porta (443
) do ponto final.
Depois de registar o ponto final no Service Directory, siga as instruções para configurar uma zona DNS do Service Directory.
Configure o DNS manualmente
Se tiver impedido a configuração automática de DNS ou se esta não estiver ativada na sua configuração, pode usar o Cloud DNS para criar manualmente registos DNS
Para mais informações, consulte as seguintes páginas:
Controlo de acesso: a função de administrador de DNS (
roles/dns.admin
) fornece as autorizações necessárias para criar zonas e registos de DNS.-
Quando configura uma zona privada, fornece um nome DNS. Use o domínio DNS que o produtor do serviço está a usar para os respetivos serviços publicados. Consulte o produtor do serviço para obter estas informações.
Pode ter este formato:
REGION.p.DOMAIN
. Por exemplo, se o domínio público do produtor de serviços forexample.com
e o respetivo serviço publicado estiver emus-west1
, recomendamos que disponibilize o serviço através dos nomes de domíniosus-west1.p.example.com
.
Problemas conhecidos
Os back-ends em mau estado de funcionamento recebem tráfego com pontos finais de acesso global
É possível ligar 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 saudáveis e ser ignorado.
Ative o acesso global para um ponto final apenas se souber que o balanceador de carga do anexo de serviço está configurado para acesso global.
Se o seu ponto final for afetado por este problema, faça uma das seguintes ações:
- Se não quiser usar o acesso global, desative o acesso global para o seu ponto final.
- Se quiser usar o acesso global, peça ao produtor do serviço para ativar o acesso global para a regra de encaminhamento do balanceador de carga.
Resolução de problemas
A criação da zona DNS privada falha
Quando cria um ponto final, é criada uma zona DNS do Service Directory. A criação de zonas pode falhar pelos seguintes motivos:
Não ativou a API Cloud DNS no seu projeto.
Não tem as autorizações necessárias para criar uma zona DNS do Service Directory.
Já existe uma zona DNS com o mesmo nome de zona nesta rede VPC.
Já existe uma zona DNS para o mesmo nome de domínio nesta rede VPC.
Para criar manualmente a zona DNS do Service Directory, faça o seguinte:
Confirme se a API Cloud DNS está ativada no seu projeto.
Verifique se tem as autorizações necessárias para criar a zona DNS do Service Directory:
dns.managedZones.create
dns.networks.bindPrivateDNSZone
servicedirectory.namespaces.associatePrivateZone
Se existir uma zona em conflito, mas já não for necessária, elimine a zona DNS.
Crie uma zona DNS do Service Directory suportada pelo espaço de nomes do Service Directory associado ao seu ponto final.
A criação do ponto final falha quando o acesso global está configurado
Nem todos os serviços publicados do Private Service Connect suportam pontos finais com acesso global. Se criar um ponto final com acesso global e o serviço publicado não o suportar, é apresentada esta mensagem de erro:
Private Service Connect global access is not supported for the given forwarding
rule, since its producer service does not support consumer global access.
Crie o ponto final sem a opção de acesso global.
A criação do ponto final é bem-sucedida, mas a conetividade não é estabelecida
Se criar com êxito um ponto final para serviços publicados, mas a conetividade não for estabelecida, verifique o estado da associação do ponto final. O estado da ligação pode indicar os passos que pode seguir para resolver o problema.
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 ponto final tem problemas de desempenho ou limites de tempo de ligação
Se o seu ponto final tiver problemas de desempenho ou limites de tempo de ligação intermitentes, tal pode dever-se a pacotes perdidos. Pode investigar os pacotes perdidos verificando as métricas descritas nas secções seguintes.
Pacotes rejeitados para o serviço publicado
A métrica private_service_connect/consumer/dropped_sent_packets_count
monitoriza os pacotes de um consumidor do Private Service Connect, como
um ponto final para um serviço publicado, que são ignorados porque o ponto final
excedeu as ligações máximas
ao serviço.
Se um ponto final comunicar valores para esta métrica, considere as seguintes soluções:
- Crie pontos finais adicionais que se liguem ao serviço publicado.
- Reduza o número de ligações através deste ponto final.
- Peça ao produtor do serviço para aumentar a capacidade do serviço publicado, por exemplo, adicionando mais instâncias de máquinas virtuais (VM) ou pontos finais de rede.
Pacotes rejeitados de serviços publicados
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.
O Private Service Connect pode não encontrar uma correspondência para um pacote de resposta se um serviço publicado enviar pacotes de resposta após o tempo limite de uma ligação ter expirado. Se vir valores para esta métrica, contacte o produtor do serviço. Podem conseguir configurar o respetivo serviço para evitar este problema.