Acessar serviços publicados por meio de endpoints
Neste documento, explicamos como acessar serviços em outra rede VPC por endpoints do Private Service Connect. É possível se conectar aos seus próprios serviços ou a provedores fornecidos por outros produtores, incluindo o Google.
Para ver mais informações sobre serviços, consulte Publicar serviços gerenciados.
Antes de começar
- Leia Sobre a conexão a serviços usando endpoints, incluindo limitações.
- É necessário ativar a API Compute Engine no projeto.
- É necessário ativar a API Service Directory no projeto.
- É necessário ativar a API Cloud DNS no seu projeto.
- Identifique ou crie uma sub-rede regular para usar na
atribuição de um endereço IP ao endpoint.
- A sub-rede precisa estar na mesma região do serviço ao qual você quer se conectar.
- É possível usar um endereço IPv4 de uma sub-rede somente IPv4 ou de pilha dupla.
- É possível usar um endereço IPv6 de uma sub-rede somente IPv6 (Prévia) ou de pilha dupla se ela tiver um intervalo de endereços IPv6 internos.
- A versão do IP do endereço afeta a quais serviços publicados o endpoint pode se conectar. Para mais informações, consulte Conversão de versão de IP.
- As regras de firewall de saída precisam permitir o tráfego para o endereço IP interno do endpoint. A regra de firewall de saída de permissão implícita permite a saída para qualquer endereço IP de destino. Se você tiver criado regras de firewall de negação de saída na rede VPC ou políticas de firewall hierárquicas que modificam o comportamento de saída implícito permitido, o acesso ao endpoint poderá ser afetado. Crie uma regra ou política de firewall específica de permissão de saída para permitir o tráfego para o destino de endereço IP interno do endpoint do serviço.
- É necessário ter o URI do anexo de serviço para o serviço. Por exemplo,
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Funções exigidas
Para receber as permissões necessárias para acessar serviços publicados por endpoints, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Criar, visualizar e excluir endpoints no seu projeto:
Administrador de rede do Compute (
roles/compute.networkAdmin
) no seu projeto -
Crie, veja e exclua endpoints em um projeto de serviço de VPC compartilhada:
-
Administrador de rede do Compute (
roles/compute.networkAdmin
) no projeto de serviço -
Usuário da rede do Compute (
roles/compute.networkUser
) no projeto host
-
Administrador de rede do Compute (
-
Configure de maneira automática ou manual as entradas DNS para um endpoint no seu projeto:
-
Administrador do DNS (
roles/dns.admin
) no projeto -
Editor do Diretório de serviços (
roles/servicedirectory.editor
) no seu projeto
-
Administrador do DNS (
-
Configure de maneira automática ou manual as entradas DNS para um endpoint em um projeto de serviço de VPC compartilhada:
-
Administrador do 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 do DNS (
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para acessar serviços publicados por endpoints. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para acessar serviços publicados por endpoints:
-
Para criar, visualizar e excluir endpoints 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, visualizar e excluir endpoints em um projeto de serviço anexado a uma rede VPC compartilhada:
-
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 host -
compute.subnetworks.use
no projeto host
-
-
Para configurar de maneira automática ou manual as entradas DNS de um endpoint 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 DNS de um endpoint em uma rede VPC compartilhada:
-
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 acessar a página do Private Service Connect no console Trusted Cloud :
-
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
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Crie um endpoint
Um endpoint se conecta aos serviços em outra rede VPC usando uma regra de encaminhamento do Private Service Connect. Cada regra de encaminhamento é contabilizada na cota por projeto das regras de encaminhamento do Private Service Connect para acessar serviços em outra rede VPC.
Quando você cria um endpoint, ele é
registrado automaticamente no
Diretório de serviços, usando
um namespace escolhido ou o namespace padrão goog-psc-default
.
Se você quiser disponibilizar o endpoint de mais de uma região, ative o acesso global.
Só é possível atualizar o campo de acesso global dos endpoints em serviços publicados. Se você quiser atualizar outros campos, exclua o endpoint e crie um novo.
Console
No console Trusted Cloud , acesse a página Private Service Connect.
Clique na guia Endpoints conectados.
Clique em Conectar endpoint.
Em Destino, selecione Serviço publicado.
Em Serviço de destino, digite o URI do anexo de serviço ao qual você quer se conectar.
O URI do anexo de serviço está neste formato:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Em Nome do endpoint, digite um nome para usar o endpoint.
Selecione uma Rede para o endpoint.
Selecione uma Sub-rede para o endpoint.
Selecione um Endereço IP para o endpoint. Se você precisar de um novo endereço IP, crie um:
- Clique no menu suspenso Endereço IP e selecione Criar endereço IP.
- Digite um Nome e uma Descrição opcional para o endereço IP.
- Selecione uma versão do IP.
Se você estiver criando um endereço IPv4, selecione Atribuir automaticamente ou Deixe-me escolher.
Se você selecionou Quero escolher, insira o Endereço IP personalizado que quer usar.
Clique em Reservar.
Para disponibilizar o endpoint a partir de qualquer região, selecione Ativar acesso global.
Selecione um Namespace na lista suspensa ou crie um novo namespace.
A Região é preenchida com base na sub-rede selecionada.
Clique em Adicionar endpoint.
gcloud
Reserve um endereço IP interno para atribuir ao endpoint.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET \ --ip-version=IP_VERSION
Substitua:
ADDRESS_NAME
: o nome a ser atribuído ao endereço IP reservado.REGION
: a região do endereço IP do endpoint. Precisa ser a mesma região que contém o anexo de serviço do produtor de serviço.SUBNET
: o nome da sub-rede do endereço IP do endpoint.IP_VERSION
: a versão do IP do endereço IP, que pode serIPV4
ouIPV6
. O padrão éIPV4
. Para especificarIPV6
, o endereço IP precisa estar conectado 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 conectar o endpoint ao anexo de serviço do produtor de serviço. Por padrão, os endpoints estão disponíveis apenas na própria região. Para disponibilizar um endpoint de qualquer região, use a sinalização
--allow-psc-global-access
.Crie um endpoint que só possa ser acessado na 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 endpoint que possa ser acessado 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:
ENDPOINT_NAME
: o nome a ser atribuído ao endpoint.REGION
: a região do endpoint. Precisa ser a mesma região que contém o anexo de serviço do produtor de serviço.NETWORK_NAME
: o nome da rede VPC do endpoint.ADDRESS_NAME
: o nome do endereço reservado.SERVICE_ATTACHMENT
: o URI do anexo de serviço do produtor de serviço. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
PROJECT_ID
: o ID do projeto.NAMESPACE
: o namespace do Diretório de serviços que você quer usar. Se você especificar um namespace que não existe, o namespace será criado.Se você omitir a sinalização
--service-directory-registration
, o namespace padrão degoog-psc-default
será usado.
API
Reserve um endereço IP interno para atribuir ao endpoint.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/addresses { "name": "ADDRESS_NAME", "addressType": "INTERNAL", "subnetwork": "SUBNET_URI", "ipVersion": "IP_VERSION" }
Substitua:
PROJECT_ID
: o ID do projeto.REGION
: a região do endpoint. Precisa ser a mesma região que contém o anexo de serviço do produtor de serviço.ADDRESS_NAME
: o nome a ser atribuído ao endereço IP reservado.SUBNET_URI
: a sub-rede do endereço IP. Use o método network.list ougcloud compute networks subnets list --uri
para encontrar os URLs das suas redes.IP_VERSION
: a versão do IP do endereço IP, que pode serIPV4
ouIPV6
. O padrão éIPV4
. Para especificarIPV6
, o endereço IP precisa estar conectado a uma sub-rede com um intervalo de endereços IPv6 internos.
Crie uma regra de encaminhamento para conectar o endpoint ao anexo de serviço do produtor de serviço. Por padrão, os endpoints estão disponíveis apenas na própria região. Para disponibilizar um endpoint de qualquer região, defina
allowPscGlobalAccess
comotrue
.Crie um endpoint que só possa ser acessado na própria região.
POST https://compute.s3nsapis.fr/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 endpoint que possa ser acessado de qualquer região.
POST https://compute.s3nsapis.fr/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:
PROJECT_ID
: o ID do projeto.REGION
: a região do endpoint.ENDPOINT_NAME
: o nome a ser atribuído ao endpoint.ADDRESS_URI
: o URL do endereço reservado na rede associada. Use o método endereços.list ougcloud compute addresses list --uri
para encontrar o URL do seu endereço reservado.SERVICE_ATTACHMENT
: o URI do anexo de serviço do produtor de serviços. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
NETWORK_URI
: a rede VPC do endpoint. Use o método network.list ougcloud compute networks list --uri
para encontrar o URI da sua rede.NAMESPACE
: o namespace do endpoint. Se você especificar um namespace que não existe, o namespace será criado. Se você omitir o camponamespace
, o namespace padrão degoog-psc-default
será atribuído.
Criar um endpoint com um endereço IP de uma rede VPC compartilhada
Os administradores de projetos de serviço podem criar endpoints em projetos de serviço de VPC compartilhada que usam endereços IP de redes VPC compartilhadas conectadas. A criação de endpoints desse tipo não está disponível no console Trusted Cloud . Você precisa usar o Google Cloud CLI ou enviar uma solicitação de API. Para mais informações, consulte VPC compartilhada.
Neste exemplo, mostramos como criar um endpoint com um endereço IP de uma rede VPC compartilhada que pode ser acessada de uma única região. Para ativar o acesso global ou escolher um namespace para o Diretório de serviços, consulte Criar um endpoint.
gcloud
Para reservar um endereço IP interno e atribuir ao endpoint, siga um destes procedimentos:
- No projeto de serviço, reserve um endereço IPv4 ou IPv6 interno estático em uma sub-rede compartilhada da rede VPC compartilhada.
- No projeto host, peça a um administrador da VPC compartilhada para reservar um endereço IPv4 ou IPv6 interno estático em uma sub-rede compartilhada da rede VPC compartilhada.
O endereço IP precisa estar na mesma região que o anexo do produtor de serviços.
Para criar o endpoint no projeto de serviço, faça o seguinte:
Se você tiver permissão para usar todas as sub-redes no projeto host, 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:
ENDPOINT_NAME
: o nome a ser atribuído ao endpoint.REGION
: a região do endpoint. Precisa ser a mesma região que contém o anexo de serviço do produtor de serviços.HOST_PROJECT
: o ID do projeto da rede VPC compartilhada.HOST_NETWORK
: o nome da rede VPC compartilhada que contém o endereço IP do endpoint.ADDRESS_PROJECT
: o ID do projeto em que você reservou o endereço IP. Pode ser o projeto de serviço ou o projeto host.ADDRESS_NAME
: o nome do endereço IP reservado.SERVICE_ATTACHMENT
: o URI do anexo de serviço do produtor de serviço. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Se você tiver permissão para usar apenas algumas sub-redes no projeto de host, especifique uma sub-rede compartilhada usando o 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 endpoint.
API
Para reservar um endereço IP interno e atribuir ao endpoint, siga um destes procedimentos:
- No projeto de serviço, reserve um endereço IPv4 ou IPv6 interno estático em uma sub-rede compartilhada da rede VPC compartilhada.
- No projeto host, peça a um administrador do projeto host para reservar um endereço IPv4 ou IPv6 interno estático em uma sub-rede compartilhada da rede VPC compartilhada.
O endereço IP precisa estar na mesma região que o anexo do serviço do produtor de serviços.
Para criar o endpoint no projeto de serviço, faça o seguinte:
Se você tiver permissão para usar todas as sub-redes no projeto host, faça a seguinte solicitação:
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:
PROJECT
: o ID do projeto de serviço.REGION
: a região do endpoint. Precisa ser a mesma região que contém o anexo de serviço do produtor de serviços.ENDPOINT_NAME
: o nome a ser atribuído ao endpoint.ADDRESS_PROJECT
: o ID do projeto em que você reservou o endereço IP. Pode ser o projeto de serviço ou o projeto host.ADDRESS_NAME
: o nome do endereço IP reservado.SERVICE_ATTACHMENT
: o URI do anexo de serviço do produtor de serviços. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
HOST_PROJECT
: o ID do projeto da rede VPC compartilhada.HOST_NETWORK
: o nome da rede VPC compartilhada que contém o endereço IP do endpoint.
Se você tiver permissão para usar apenas algumas sub-redes no projeto de host, especifique uma sub-rede compartilhada fazendo a seguinte solicitação:
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 endpoint.
Listar endpoints
É possível listar todos os endpoints configurados.
Console
No console Trusted Cloud , acesse a página Private Service Connect.
Clique na guia Endpoints conectados.
Os endpoints são exibidos.
gcloud
gcloud compute forwarding-rules list \ --filter 'target~serviceAttachments'
A resposta será semelhante a:
NAME REGION IP_ADDRESS IP_PROTOCOL TARGET RULE IP TCP REGION/serviceAttachments/SERVICE_NAME
API
Essa chamada de API retorna todas as regras de encaminhamento, não apenas os endpoints usados para acessar serviços.
GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
Substitua:
PROJECT_ID
: o projeto que contém o endpoint.REGION
: a região do endpoint.
Ver detalhes do endpoint
É possível visualizar todos os detalhes de configuração de um endpoint, incluindo o status da conexão do endpoint.
Console
No console Trusted Cloud , acesse a página Private Service Connect.
Clique na guia Endpoints conectados.
Clique no endpoint que você quer visualizar.
gcloud
gcloud compute forwarding-rules describe \ ENDPOINT_NAME --region=REGION
Substitua:
ENDPOINT_NAME
: o nome do endpoint.REGION
: a região do endpoint.
API
GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME
Substitua:
PROJECT_ID
: o projeto que contém o endpoint.REGION
: a região do endpoint.ENDPOINT_NAME
: o nome do endpoint.
Rotular um endpoint
É possível gerenciar rótulos para endpoints. Para instruções detalhadas, consulte Como rotular recursos.
Excluir um endpoint
É possível excluir um endpoint.
No entanto, as seguintes configurações do diretório de serviços não são excluídas quando você exclui o endpoint:
- Namespace do diretório de serviços
- Zona de DNS do Diretório de serviços
O namespace do Diretório de serviços e a zona DNS do Diretório de serviços podem ser usados por outros serviços. Verifique se o namespace está vazio antes de excluir o namespace do Diretório de serviços ou excluir a zona de DNS do Diretório de serviços.
Console
No console Trusted Cloud , acesse a página Private Service Connect.
Clique na guia Endpoints conectados.
Selecione o endpoint que você quer excluir e clique em Excluir.
gcloud
gcloud compute forwarding-rules delete ENDPOINT_NAME \ --region=REGION
Substitua:
ENDPOINT_NAME
: o nome do endpoint.REGION
: a região do endpoint.
API
DELETE https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME
Substitua:
PROJECT_ID
: o projeto que contém o endpoint.REGION
: a região do endpoint.ENDPOINT_NAME
: o nome do endpoint.
Acessar endpoints de redes híbridas
Os clientes em redes conectadas ao Trusted Cloud com anexos da VLAN para túneis do Cloud Interconnect ou do Cloud VPN podem alcançar endpoints do Private Service Connect.O anexo da VLAN ou o túnel do Cloud VPN precisa terminar na mesma rede VPC (ou rede VPC compartilhada) como endpoint. Os clientes em redes VPC com peering não podem alcançar os endpoints.
O tráfego de cliente de anexos da VLAN ou túneis do Cloud VPN pode alcançar endpoints em outra região se o acesso global estiver configurado.
O Dataplane v1 e o Dataplane v2 têm suporte para os anexos da VLAN. Para mais informações sobre as versões do Dataplane, consulte Dataplane v2.
Se você quiser acessar o endpoint do Private Service Connect usando o nome de DNS, configure sistemas na outra rede para que eles possam fazer consultas às zonas de DNS particulares.
Se você tiver implementado as zonas de DNS particular usando o Cloud DNS, conclua estas etapas:
Crie uma política de servidor de entrada na rede VPC a que a outra rede se conecta.
Identifique os pontos de entrada do encaminhador de entrada na região em que o anexo da VLAN ou o túnel do Cloud VPN está localizado, na rede VPC a que sua outra rede se conecta.
Configure sistemas e servidores de nomes DNS na outra rede para encaminhar os Nomes DNS para o endpoint a um ponto de entrada do encaminhador de entrada na mesma região do anexo da VLAN ou do túnel do Cloud VPN que se conecta à rede VPC.
Visualizar zonas de DNS do Diretório de serviços
Se os pré-requisitos da configuração automática de DNS forem atendidos, uma
zona DNS é criada com um nome no formato
NAMESPACE--REGION
.
Console
No console Trusted Cloud , acesse a página Zonas do Cloud DNS.
Procure uma zona particular com o nome
NAMESPACE--REGION
.
gcloud
Execute o seguinte comando para listar todas as zonas DNS particulares:
gcloud dns managed-zones list \ --filter="visibility=private"
Execute o comando a seguir para ver os detalhes de uma zona com o nome
NAMESPACE--REGION
.gcloud dns managed-zones describe NAMESPACE--REGION
Se a zona não estiver presente, visualize os detalhes do endpoint e verifique se a configuração do endpoint inclui um valor para o namespace.
Se o endpoint tiver uma configuração de namespace, consulte Configurar uma zona DNS do diretório de serviços.
Se o endpoint não tiver uma configuração de namespace, consulte Registrar um endpoint com o Diretório de serviços.
Outras maneiras de configurar o DNS
Se os pré-requisitos da configuração automática de DNS não forem atendidos, é possível criar entradas DNS de outras maneiras:
Se o endpoint tiver um namespace configurado, consulte Configurar uma zona DNS do diretório de serviços.
Se o endpoint não tiver um namespace configurado, consulte Registrar um endpoint com o Diretório de serviços.
Se você preferir configurar o DNS manualmente, consulte Configurar o DNS manualmente.
Configurar uma zona de DNS do diretório de serviços
Se um endpoint estiver registrado no Diretório de serviços, mas o serviço publicado ao qual ele se conecta não tiver um nome de domínio configurado, nenhuma alteração de DNS será feita.
Se você quiser replicar a configuração automática de DNS, é possível configurar manualmente uma zona DNS do Diretório de serviços com suporte do namespace do Diretório de serviços. Depois que a zona é criada, as entradas DNS do endpoint são criadas automaticamente.
Crie uma zona do Diretório de serviços com a seguinte configuração:
Nome da zona: especifique
NAMESPACE--REGION
, em queNAMESPACE
é o namespace em que o endpoint é registrado eREGION
é a região em que o endpoint é criado.Nome do DNS: o domínio DNS que o fornecedor de serviços está usando para os serviços publicados. Consulte o produtor de serviços para saber mais.
O nome do 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 serviço publicado estiver emus-west1
, recomendamos que ele disponibilize o serviço usando os nomes de domínious-west1.p.example.com
. Inclua um ponto à direita, por exemplo,us-west1.p.example.com.
Namespace do diretório de serviços: o namespace que você configurou para este endpoint.
Confira os detalhes do endpoint para encontrar o namespace e a região do Diretório de serviços.
Com essa configuração, se você tiver configurado uma zona DNS do Diretório de serviços com o nome DNS us-west1.p.example.com
e criar um endpoint com o nome analytics
, um registro DNS para analytics.us-west1.p.example.com
é criada automaticamente.
Registrar um endpoint com o Diretório de serviços
Novos endpoints são registrados automaticamente no Diretório de serviços. No entanto, se um endpoint foi criado antes da ativação do registro automático com o Diretório de serviços, essa configuração pode estar ausente.
É possível excluir o endpoint e criar um novo, que é registrado no Diretório de serviços automaticamente.
Se preferir, siga estas etapas para registrar um endpoint atual com um namespace do Diretório de serviços.
Crie um namespace do Diretório de serviços para o endpoint
NAMESPACE
.Crie um serviço do diretório de serviços para o endpoint
SERVICE_NAME
.Para o serviço, use o mesmo nome da regra de encaminhamento usada para o endpoint,
ENDPOINT_NAME
.Crie um endpoint do diretório de serviços usando o nome
default
e o endereço IP e a porta (443
) do endpoint.
Depois de registrar o endpoint no Diretório de serviços, siga as instruções para Configurar uma zona DNS do Diretório de serviços.
Configurar o DNS manualmente
Se você tiver impedido a configuração automática de DNS ou se ela não estiver ativada na configuração, poderá usar o Cloud DNS para criar registros DNS manualmente.
Para mais informações, consulte as seguintes páginas:
Controle de acesso: o papel de Administrador de DNS (
roles/dns.admin
) fornece as permissões necessárias para criar zonas e registros DNS.-
Ao configurar uma zona particular, você fornece um nome de DNS. Use o domínio DNS que o fornecedor de serviços está usando para os serviços publicados. Consulte o produtor de serviços para saber mais.
Ele pode ter o seguinte formato:
REGION.p.DOMAIN
. Por exemplo, se o domínio público do produtor de serviços forexample.com
e o serviço publicado estiver emus-west1
, recomendamos que ele disponibilize o serviço usando os nomes de domínious-west1.p.example.com
.
Problemas conhecidos
Back-ends não íntegros recebem tráfego com acesso global
Ative o acesso global somente se souber que o balanceador de carga do produtor de serviços está configurado para acesso global. Se você criar um endpoint de acesso global para um serviço publicado que não usa acesso global, o tráfego poderá ser enviado para back-ends não íntegros e descartado.
Solução de problemas
Falha na criação da zona de DNS privado
Quando você cria um endpoint, uma zona DNS do diretório de serviços é criada. A criação da zona pode falhar por estes motivos:
Você não ativou a API do Cloud DNS no projeto.
Você não tem as permissões necessárias para criar uma zona de DNS do Diretório de serviços.
Há uma zona DNS com o mesmo nome de zona nessa rede VPC.
Já existe uma zona DNS para o mesmo nome de domínio nesta rede VPC.
Para criar a zona DNS do Diretório de serviços, faça o seguinte:
Verifique se a API do Cloud DNS está ativada no projeto.
Verifique se você tem as permissões necessárias para criar a zona DNS do Diretório de serviços:
dns.managedZones.create
dns.networks.bindPrivateDNSZone
servicedirectory.namespaces.associatePrivateZone
Se houver uma zona conflitante, mas ela não for mais necessária, exclua a zona DNS.
Crie uma zona DNS do Diretório de serviços que tenha o namespace do Diretório de serviços associado ao seu endpoint.
A criação do endpoint falha quando o acesso global é configurado.
Nem todos os serviços publicados do Private Service Connect são compatíveis com endpoints com acesso global. Se você criar um endpoint com acesso global e o serviço publicado não for compatível, você verá 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 endpoint sem a opção de acesso global.
O endpoint foi criado, mas a conectividade não foi estabelecida
Se você tiver criado um endpoint para os serviços publicados, mas a conectividade não tiver sido estabelecida, verifique o status da conexão do endpoint. O status da conexão pode indicar as etapas que você pode seguir para resolver o problema.
Erros de conexão propagados
Para informações sobre como resolver problemas de conexões propagadas, consulte Resolver problemas de erros de propagação de conexão do Private Service Connect.
O endpoint tem problemas de desempenho ou tempos limite de conexão
Se o endpoint tiver problemas de desempenho ou tempos limite de conexão intermitentes, isso pode ser devido a pacotes descartados. Para investigar pacotes descartados, confira as métricas descritas nas seções a seguir.
Pacotes descartados para o serviço publicado
A métrica private_service_connect/consumer/dropped_sent_packets_count
rastreia pacotes de um consumidor do Private Service Connect, como um endpoint para um serviço publicado, que são descartados porque o endpoint excedeu o número máximo de conexões com o serviço.
Se um endpoint informar valores para essa métrica, considere as seguintes soluções:
- Crie outros endpoints que se conectem ao serviço publicado.
- Reduza o número de conexões por esse endpoint.
- Peça ao produtor de serviços para aumentar a capacidade do serviço publicado, por exemplo, adicionando mais instâncias de máquina virtual (VM) ou endpoints de rede.
Pacotes descartados de serviços publicados
A métrica
private_service_connect/consumer/dropped_received_packets_count
rastreia pacotes enviados de um serviço publicado para um
consumidor do Private Service Connect, como um endpoint, que são
descartados porque o Private Service Connect não consegue encontrar uma
conexão correspondente para pacotes de resposta.
O Private Service Connect só permite conexões iniciadas na rede VPC do consumidor. Quando um consumidor inicia uma conexão, ela é rastreada para corresponder pacotes de resposta do serviço publicado a uma conexão existente. Se o Private Service Connect não encontrar uma correspondência para um pacote de resposta, ele será descartado.
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 depois que uma conexão atingir o tempo limite. Se você encontrar valores para essa métrica, entre em contato com o produtor de serviços. Talvez eles possam configurar o serviço para evitar esse problema.