Criar um anexo de endpoint
Para configurar a conectividade particular nos Integration Connectors, você precisa criar um Anexo do PSC (Private Service Connect). No entanto, para usar o anexo do PSC, você também precisa crie um anexo de endpoint, já que não é possível usar o anexo PSC diretamente. Você pode pensar o anexo de endpoint como uma interface para o anexo de serviço do PSC. Uma vez criado, é possível use os detalhes do anexo de endpoint ao configurar um conector para conectividade particular. Esta página explica como criar um anexo de endpoint e pressupõe que você esteja familiarizado com o conceitos a seguir:
- Nuvem privada virtual (VPC) do Google Cloud
- Private Service Connect
- Cloud DNS
- Conectores de integração
É possível criar o anexo de endpoint como um endereço IP ou um nome de host.
Crie um anexo de endpoint como um endereço IP
Para criar um anexo de endpoint como um endereço IP, use o console do Cloud ou pela linha de comando (gcloud).Console
Para criar um anexo de endpoint no console do Cloud, faça o seguinte:
- Abra a página Anexos de endpoint para o Integration Connectors.
- Clique em Criar. A página Criar anexo de endpoint é aberta.
- Insira valores para os seguintes campos:
- Nome: um nome para o anexo de endpoint. O nome precisa ser único. Pode haver nenhum outro anexo de endpoint com o mesmo nome, e não será possível alterá-lo posteriormente. O nome precisa começar com uma letra minúscula seguida por até 63 letras minúsculas. números ou hifens, mas não podem terminar com um hífen. O comprimento mínimo é 2.
- ID do anexo de serviço: nome do anexo de serviço do PSC que você já tem. criados.
- (Opcional) Descrição: digite uma descrição para o anexo de endpoint.
- (Opcional) Rótulos: insira os rótulos de recursos como pares de chave-valor. Para mais informações sobre marcadores, consulte O que são marcadores?
- (Opcional) Ativar acesso global ao endpoint: selecione essa opção se você quiser
enviar tráfego para seu back-end de uma conexão presente em qualquer região.
Por padrão, o anexo de endpoint exige que a conexão e o back-end da mesma região. Portanto, se você ativar o acesso global para o endpoint, uma conexão presente em qualquer região pode enviar tráfego para seu back-end.
- Clique em Criar.
A coluna Endereço IP especifica o endereço IP do anexo de endpoint. Você deve use esse endereço IP ao configurar um conector para conectividade particular.
gcloud
Para criar um anexo de endpoint na linha de comando, faça o seguinte:
- Acesse o recurso de anexo do serviço PSC:
gcloud compute service-attachments list
O comando retorna a lista de anexos de serviço. Exemplo:
NAME REGION TARGET_SERVICE CONNECTION_PREFERENCE demo-sa us-west1 k8s2-tcp-tgysilgj-apps-ingressgateway-fzdhwstg ACCEPT_AUTOMATIC
Você precisará dessas informações do anexo de serviço nas próximas etapas.
- Receba um token de autenticação antes de executar a API CreateEndpointAttachment:
TOKEN="$(gcloud auth print-access-token)"
- Crie o anexo de endpoint usando a API CreateEndpointAttachment. Por exemplo:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "projects/PROJECT_ID/locations/LOCATION/endpointAttachments/ENDPOINT_ATTACHMENT_NAME", "serviceAttachment": "projects/demo/serviceAttachments/?SERVICE_ATTACHMENT_NAME" }' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpointAttachments?endpointAttachmentId=ENDPOINT_ATTACHMENT_NAME
Em que:
- LOCATION é a região do anexo de serviço. Por exemplo,
us-west1
. - PROJECT_ID é o projeto do Google Cloud em que você criou o anexo de serviço do PSC.
- ENDPOINT_ATTACHMENT_NAME é o nome do anexo de endpoint. O nome precisa ser único. Não pode haver outro endpoint anexos com o mesmo nome, e não será possível alterá-lo posteriormente. O nome precisa começar com uma letra minúscula seguida por até 31 letras minúsculas, números ou hífens, mas não pode terminar com um hífen. O comprimento mínimo é 2.
- SERVICE_ATTACHMENT_NAME: é o nome do anexo de serviço. Usar o PSC
o nome da conta de serviço retornado pelo
execute o comando
gcloud compute service-attachments list
.
Depois que você chama a API, o Integration Connectors inicia uma operação de longa duração que pode levar algum tempo para ser concluída. O endpoint anexo será criado depois que a operação for concluída com êxito.
- LOCATION é a região do anexo de serviço. Por exemplo,
- Consiga o ID do projeto do diretório de serviços associado ao seu projeto do Google Cloud e coloque-o na lista de permissões no anexo de serviço.
- Verifique se o anexo de endpoint foi criado usando a API GetEndpointAttachment.
Por exemplo:
curl -X GET -H "Authorization: Bearer $TOKEN" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpointAttachments/ENDPOINT_ATTACHMENT_NAME
A API retorna uma resposta semelhante a esta:
{ "name": "projects/demo-project/locations/us-central1/endpointAttachments/demo-ea", "createTime": "2023-04-17T04:34:59.569527046Z", "updateTime": "2023-04-17T04:37:25.189074195Z", "description": "demo endpoint attachment", "serviceAttachment": "projects/demo-project/regions/us-central1/serviceAttachments/demo-sa", "endpointIp": "10.0.0.0", "labels": {"team":"sre"}, }
O endereço IP do anexo de endpoint está disponível no campo
endpointIp
. Neste exemplo de resposta, o endereço IP será10.0.0.0
. Use este endereço IP ao configurar um conector para conectividade particular.
Se a criação do anexo de endpoint for bem-sucedida, o anexo recém-criado será listados na página Anexos do endpoint, semelhante à seguinte imagem:
![endpoint-attachment](https://cloud.google.com/static/integration-connectors/images/endpoint-attachments.png?authuser=8&hl=pt-br)
![endpoint-attachment](https://cloud.google.com/static/integration-connectors/images/endpoint-attachments.png?authuser=8&hl=pt-br)
As etapas, descritas até agora, mostram como criar um anexo de endpoint como um endereço IP. No entanto, Também é possível criar um anexo de endpoint como nome do host e usá-lo para configurar um conector para conectividade particular. Para entender como criar um anexo de endpoint com um nome de host, consulte Criar um anexo de endpoint como nome do host.
Criar um anexo de endpoint como nome do host
Para criar um anexo de endpoint como um nome de host, execute as seguintes tarefas:
- Crie um anexo de endpoint como endereço IP. Para mais informações, consulte Crie um anexo de endpoint como endereço IP.
- Criar uma zona gerenciada privada do Cloud DNS em qualquer um dos seus projetos do Google Cloud.
Nessa zona de DNS, precisa adicionar o nome do host a ser usado na configuração do conector e mapear esse nome ao endereço IP do anexo de endpoint que você recebeu na etapa 1. Para informações sobre como criar uma zona gerenciada privada do Cloud DNS, consulte Criar uma zona particular e Adicionar um registro.
- Criar uma zona gerenciada do Integration Connectors no projeto do Google Cloud que você usa para os Integration Connectors. Os Integration Connectors
A zona gerenciada (zona de peering) se comunica com a zona gerenciada privada do Cloud DNS (criada na etapa 2).
para resolução de nomes.
Antes de criar a zona gerenciada, você precisa conceder os seguintes papéis e permissões:
- Conceda a permissão
connectors.managedZones.create
para o usuário criando a zona gerenciada do Integration Connectors.A permissão
connectors.managedZones.create
é disponível no papel do IAMroles/connectors.admin
ou no papel do IAMroles/connectors.managedZonesAdmin
. Para informações sobre vários papéis do IAM e as permissões correspondentes disponíveis para o Integration Connectors, consulte Papéis e permissões do IAM para Integration Connectors. - Conceder o papel
role/dns.peer
aos Integration Connectorsservice-PROJECT_NUMBER@gcp-sa-connectors.iam.gserviceaccount.com
conta de serviço.Se o projeto do Google Cloud no Cloud DNS for diferente dos Integration Connectors projeto do Google Cloud e conceda o papel
roles/dns.peer
ao Conta de serviço do Integration Connectors no projeto do Google Cloud do Cloud DNS. Por exemplo: você quer criar a zona gerenciada do Integration Connectors no projeto 12345 do Google Cloud e a do Cloud DNS está no projeto 67890 do Google Cloud. Nesse caso, você deve conceder o papelroles/dns.peer
ao Conta de serviçoservice-12345@gcp-sa-connectors.iam.gserviceaccount.com
no projeto 67890 do Google Cloud.
Para criar uma zona gerenciada do Integration Connectors, use o console do Cloud ou a linha de comando (gcloud).
Console
Para criar uma zona gerenciada do Integration Connectors no console do Cloud, faça o seguinte:
- Acesse a página "Zonas gerenciadas" do Integration Connectors.
- Insira valores para os seguintes campos:
- Nome: um nome para a zona gerenciada.
- Nome do DNS de destino: nome completo do Cloud DNS para o qual você está criando a zona gerenciada (peering). Por exemplo,
server8.stage.user.private
. - Projeto de destino: nome do projeto do Google Cloud que tem a zona particular do Cloud DNS.
- Rede de destino: nome da rede VPC em que a zona particular do Cloud DNS é mantida.
- (Opcional) Descrição: digite uma descrição para o anexo de endpoint.
- (Opcional) Rótulos: insira os rótulos de recursos como pares de chave-valor. Para mais informações sobre marcadores, consulte O que são marcadores?
- Clique em Criar.
gcloud
Para criar uma zona gerenciada do Integration Connectors na linha de comando, faça o seguinte:
- Receba um token de autenticação antes de executar a API CreateManagedZone:
TOKEN="$(gcloud auth print-access-token)"
- Crie a zona gerenciada usando a API CreateManagedZone. Por exemplo:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "description": "DESCRIPTION", "dns": "DNS_NAME", "target_project": "TARGET_PROJECT", "target_vpc": "TARGET_VPC" }' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones?managedZoneId=MANAGED_ZONE_NAME
Em que:
- DESCRIPTION é uma descrição opcional da zona gerenciada.
- DNS_NAME: nome completo do Cloud DNS em que você está criando a zona gerenciada (peering). Por exemplo,
server8.stage.user.private
. - TARGET_PROJECT é o nome do projeto do Google Cloud que tem a zona particular do Cloud DNS.
- TARGET_NETWORK é o nome da rede VPC em que a zona particular do Cloud DNS é mantida.
- PROJECT_ID é o projeto do Google Cloud que você está usando para os Integration Connectors.
- MANAGED_ZONE_NAME é o nome da zona gerenciada. O nome precisa ser único. Não é possível ser outras zonas gerenciadas com o mesmo nome, e não será possível alterá-lo posteriormente. O nome deve começar com letra minúscula seguida por até 63 letras minúsculas, números ou hifens, mas não pode terminam com um hífen. O comprimento mínimo é 2.
Depois que você chama a API, o Integration Connectors inicia uma operação de longa duração que pode levar algum tempo para ser concluída. O modelo zona será criada após a conclusão da operação.
- Verifique se a zona gerenciada foi criada usando a API GetManagedZone.
Por exemplo:
curl -X GET -H "Authorization: Bearer $TOKEN" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones/MANAGED_ZONE_NAME
A API retorna uma resposta semelhante a esta:
{ "name": "projects/demo-project/locations/global/managedZones/demo-mz", "createTime": "2023-04-17T04:34:59.569527046Z", "updateTime": "2023-04-17T04:37:25.189074195Z", "description": "demo managed zone", "dns": "api.private.service.com.", "targetVpc": "target-project-vpc", "targetProject": "target-project" }
- Conceda a permissão
Se a criação da zona gerenciada for bem-sucedida, a zona gerenciada recém-criada será listados na página Zonas gerenciadas, semelhante à seguinte imagem:
![zona gerenciada](https://cloud.google.com/static/integration-connectors/images/managed-zones.png?authuser=8&hl=pt-br)
![zona gerenciada](https://cloud.google.com/static/integration-connectors/images/managed-zones.png?authuser=8&hl=pt-br)
Verificar a configuração do anexo de endpoint
É possível verificar a conectividade do endpoint criando uma conexão com seu sistema de back-end. Quando
você criar a conexão, na seção Destinations
, selecione
Destination type
como Endpoint attachment
e selecione o anexo de endpoint apropriado. Se o
a conexão for criada, o status da conexão recém-criada será
ser Active
na sua página Conexões
no console do Cloud.