O Private Service Connect permite o consumo particular de serviços em redes VPC que pertencem a diferentes grupos, equipes, projetos e organizações. É possível publicar e consumir serviços usando endereços IP definidos por você e internos à sua rede VPC para que os endpoints da Pesquisa de vetor realizem pesquisas de semelhança vetorial.
A ativação do Private Service Connect em um endpoint do Vector Search é adequada para casos de uso que:
- Exigem baixa latência e uma conexão segura com os back-ends de exibição do Vector Search.
- Têm espaço IP limitado para reservas exclusivas de peering de VPC.
- É preciso acessar os back-ends de exibição em redes VPC de vários usuários.
Para saber mais sobre como configurar o Private Service Connect, acesse a Visão geral do Private Service Connect na documentação da nuvem privada virtual (VPC).
Criar o endpoint do índice
É necessário ativar o Private Service Connect ao criar o endpoint. Esse procedimento é semelhante à criação de outros endpoints na Vertex AI.
REST
PROJECT: o ID do projeto de serviço em que você está criando recursos da Vertex AI.
REGION: a região da rede.
DISPLAY_NAME: um nome de exibição para o endpoint. Esse nome é usado para criar um ID para o endpoint e não pode ser atualizado mais tarde.
VPC_PROJECTS: para a configuração da VPC compartilhada, é uma lista separada por vírgulas de projetos host da VPC. Para a configuração da VPC independente, é igual a PROJECT.
PROJECT=PROJECT_ID
VPC_PROJECT=VPC_PROJECT_ID
REGION=us-central1
VERTEX_ENDPOINT=REGION-aiplatform.googleapis.com
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" \
https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/REGION/indexEndpoints \
-d '{
"displayName": "DISPLAY_NAME",
"privateServiceConnectConfig": {
"enablePrivateServiceConnect": true,
"projectAllowlist": [ "VPC_PROJECT_1", "VPC_PROJECT_2", "VPC_PROJECT_N"]
}
}
Console
Para criar o endpoint:
Clique no botão a seguir para acessar a Pesquisa de vetor no console do Google Cloud. Uma lista dos índices ativos vai aparecer.
Selecione a guia Endpoints de índice. Os endpoints do índice aparecem.
Clique em
Criar novo endpoint. O painel Criar um endpoint de índice é aberto.Em Nome de exibição, insira um nome de exibição para o endpoint do índice. Esse nome é usado para criar um ID para o endpoint e não pode ser atualizado mais tarde.
Selecione uma região no menu suspenso Região.
Em Acesso, clique em Private Service Connect (pré-lançamento).
Um campo de texto aparece para especificar quais projetos de VPC usar. Adicione os IDs ou números dos projetos de VPC que você quer usar.
Clique em Criar.
Sobre as opções de implantação de índice
É possível implantar o índice com conectividade de serviço automática ou manual.
- Implantar com a automação do Private Service Connect: configure uma política de conexão de serviço e implante seus índices. A configuração de uma política de conexão de serviço permite implantar em uma rede específica sem criar um endereço de computação e uma regra de encaminhamento a cada vez.
- Implantar com conexão manual: implante seu índice e crie manualmente um endereço de computação e uma regra de encaminhamento. Escolha essa opção se precisar usar vários endereços IP para o mesmo URI de anexo de serviço, embora esse não seja um caso de uso comum.
Implantar com a automação do Private Service Connect
É possível configurar uma política de conexão de serviço para que você não precise criar manualmente um endereço de computação e uma regra de encaminhamento após cada implantação de índice.
- Primeiro, crie uma política de conexão de serviço que especifique a rede, a classe de serviço e a região para implantar índices. Esta é uma configuração de uma só vez. Se você já fez isso, pule para o próximo procedimento.
- Implantar o índice.
Limitações
A automação permite apenas um endereço IP por projeto e por rede. Se você precisar usar vários endereços IP, consulte Implantar o índice manualmente.
Criar uma política de conexão de serviço
Você precisa ser um administrador de rede para criar uma política de conexão de serviço para automatizar a implantação do índice.
Para automatizar a implantação de índices, siga estas etapas:
Crie sua política de conexão de serviço.
PROJECT: o projeto de serviço em que você está criando recursos da Vertex AI.
VPC_PROJECT: o projeto em que a VPC do cliente está. Para a configuração de VPC única, é o mesmo que $PROJECT. Para a configuração da VPC compartilhada, esse é o projeto host da VPC.
NETWORK_NAME: o nome da rede a ser implantada, no formato
projects/
./global/networks/ REGION: a região da rede.
PSC_SUBNETS: as sub-redes do Private Service Connect a serem usadas.
gcloud network-connectivity service-connection-policies create <policy_name> \ --project=<vpc_project> --network=<network_name> # in the format projects/<project_id>/global/networks/<network_name> \ --service-class=gcp-vertexai --region=<region> --subnets=<psc subnets>
Acesse a política de conexão de serviço.
gcloud network-connectivity service-connection-policies list --project=<vpc_project> -–region=<region>
Para mais informações sobre as políticas de conexão de serviço, acesse Configurar políticas de conexão de serviço.
Implantar o índice
REST
PROJECT: o projeto de serviço em que você está criando recursos da Vertex AI.
VPC_PROJECT: o projeto em que a VPC do cliente está. Para a configuração da VPC compartilhada, esse é o projeto host da VPC.
DISPLAY_NAME: um nome de exibição para o endpoint. Esse nome é usado para criar um ID para o endpoint e não pode ser atualizado mais tarde.
NETWORK_NAME: o nome da rede a ser implantada, no formato
projects/
./global/networks/ REGION: a região da rede.
PSC_SUBNETS: a sub-rede do Private Service Connect a ser usada.
PROJECT=PROJECT
VPC_PROJECTS=VPC_PROJECTS
REGION=REGION
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "Content-Type: application/json; charset=utf-8" "https://REGIONAL_ENDPOINT.googleapis.com/v1/projects/PROJECT_NUMBER/locations/REGION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"
-d '{
"deployedIndex": {
"id": "DEPLOYED_INDEX_ID",
"index": "projects/PROJECT/locations/us-central1/indexes/INDEX_ID ",
"displayName": "DISPLAY_NAME",
"psc_automation_configs": [
{ "project_id": "PROJECT_1", "network": "NETWORK_NAME_1" },
{ "project_id": "PROJECT_2", "network": "NETWORK_NAME_2" },
{ "project_id": "PROJECT_N", "network": "NETWORK_NAME_N" }]
}
}'
Console
Para implantar o endpoint:
Clique no botão a seguir para acessar a Pesquisa de vetor no console do Google Cloud. Uma lista dos índices ativos vai aparecer.
Clique no botão Deploy do endpoint da Pesquisa de vetor ativado pelo Private Service Connect que você quer implantar. O painel deslizante Deploy index aparece.
Em Nome de exibição, insira um nome de exibição para o índice implantado. Esse nome é usado para criar o ID e não pode ser atualizado mais tarde.
Clique em Endpoint e escolha o endpoint do índice em que você quer implantar.
Se quiser, clique em Tipo de máquina para escolher manualmente o tipo de máquina em que o índice será implantado. Por padrão, o tipo de máquina é selecionado automaticamente com base no tamanho do fragmento do índice.
Agora, você precisa adicionar configurações de automação do Private Service Connect. Para fazer isso, siga estas etapas:
Na seção Configurações de automação do PSC, clique em
Adicionar nova configuração.Insira o nome do projeto da VPC com que você quer se conectar.
Insira o nome da rede do projeto da VPC a ser conectado. Ele precisa estar no formato
projects/
<project_number>
/global/networks/
<network_name>
.Também é possível clicar em
Adicionar nova configuração e continuar adicionando configurações de automação do Private Service Connect.Clique em Implantar para concluir.
Excluir política de conexão de serviço
Se você precisar excluir a política de conexão de serviço, execute o seguinte comando:
gcloud network-connectivity service-connection-policies delete --project=<vpc_project> –-region=<region> <policy_name>
Para mais informações sobre as políticas de conexão de serviço, acesse Configurar políticas de conexão de serviço.
Implantar com conexão manual
Implante o índice e crie uma regra de encaminhamento no projeto VPC.
Implantar o índice
Agora que o índice está pronto, nesta etapa, implante o índice no endpoint criado com o Private Service Connect ativado.
gcloud
O exemplo a seguir usa o comandogcloud ai index-endpoints deploy-index
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- INDEX_ENDPOINT_ID: o ID do endpoint do índice.
- DEPLOYED_INDEX_ID: uma string especificada pelo usuário para identificar de maneira exclusiva o índice implantado. Ela precisa começar com uma letra e conter apenas letras, números ou sublinhados. Consulte DeployedIndex.id para ver as diretrizes de formato.
- DEPLOYED_INDEX_ENDPOINT_NAME: nome de exibição do endpoint do índice implantado.
- INDEX_ID: o ID do índice.
- LOCATION: a região em que você está usando a Vertex AI.
- PROJECT_ID: o Google Cloud ID do projeto.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID \ --deployed-index-id=DEPLOYED_INDEX_ID \ --display-name=DEPLOYED_INDEX_ENDPOINT_NAME \ --index=INDEX_ID \ --region=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ` --deployed-index-id=DEPLOYED_INDEX_ID ` --display-name=DEPLOYED_INDEX_ENDPOINT_NAME ` --index=INDEX_ID ` --region=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ^ --deployed-index-id=DEPLOYED_INDEX_ID ^ --display-name=DEPLOYED_INDEX_ENDPOINT_NAME ^ --index=INDEX_ID ^ --region=LOCATION ^ --project=PROJECT_ID
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- INDEX_ENDPOINT_ID: o ID do endpoint do índice.
- DEPLOYED_INDEX_ID: uma string especificada pelo usuário para identificar de maneira exclusiva o índice implantado. Ela precisa começar com uma letra e conter apenas letras, números ou sublinhados. Consulte DeployedIndex.id para ver as diretrizes de formato.
- DEPLOYED_INDEX_ENDPOINT_NAME: nome de exibição do endpoint do índice implantado.
- INDEX_ID: o ID do índice.
- LOCATION: a região em que você está usando a Vertex AI.
- PROJECT_ID: o Google Cloud ID do projeto.
- PROJECT_NUMBER: o número do projeto gerado automaticamente.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
Corpo JSON da solicitação:
{ "deployedIndex": { "id": "DEPLOYED_INDEX_ID", "index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID", "displayName": "DEPLOYED_INDEX_ENDPOINT_NAME" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata", "genericMetadata": { "createTime": "2022-10-19T17:53:16.502088Z", "updateTime": "2022-10-19T17:53:16.502088Z" }, "deployedIndexId": "DEPLOYED_INDEX_ID" } }
Terraform
O exemplo a seguir usa o recurso vertex_ai_index_endpoint_deployed_index
do Terraform para criar um endpoint de índice implantado.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
SDK da Vertex AI para Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Console
Use estas instruções para implantar seu índice.
- Na seção Vertex AI do console do Google Cloud, acesse
a seção Implantar e usar. Selecione Pesquisa de vetor.
Acesse a Pesquisa vetorial. Uma lista dos índices ativos será exibida.
- Selecione o nome do índice que você quer implantar. A página de detalhes do índice é aberta.
- Na página de detalhes do índice, clique em Implantar no endpoint. O painel de implantação do índice será aberto.
- Insira um nome de exibição. Ele funciona como um ID e não pode ser atualizado.
- No menu suspenso Endpoint, selecione o endpoint em que você quer implantar esse índice. Observação: o endpoint ficará indisponível se o índice já estiver implantado nele.
- Opcional: no campo Tipo de máquina, selecione "Padrão" ou "Alta memória".
- Opcional. Selecione Ativar escalonamento automático para redimensionar automaticamente o número de nós com base nas demandas das cargas de trabalho. Se o escalonamento automático estiver desativado, o número padrão de réplicas será 2.
- Clique em Implantar para implantar o modelo no endpoint. Observação: a implantação leva cerca de 30 minutos.
Criar uma regra de encaminhamento no projeto VPC
Após a conclusão da implantação do índice, o endpoint do índice retorna um URI de anexo de serviço em vez de um endereço IP. Você precisa criar um endereço de computação e uma regra de encaminhamento no projeto de VPC que segmenta o anexo de serviço usando o endereço de computação criado. Para criar um endereço de computação, use o exemplo a seguir:
gcloud compute addresses create ${ADDRESS_NAME:?} \
--region=${REGION:?} \
--subnet=${SUBNET_NAME:?} \
--project=${VPC_PROJECT:?}
Para criar uma regra de encaminhamento que segmenta o URI do anexo de serviço usando o endereço de computação criado, use o exemplo a seguir:
SERVICE_ATTACHMENT_URI=`gcloud ai index-endpoints describe {INDEX_ENDPOINT_ID}
--format="value(deployedIndexes.privateEndpoints.serviceAttachment)"`
gcloud compute forwarding-rules create ${ENDPOINT_NAME:?} \
--network=${NETWORK_NAME:?} \
--address=${ADDRESS_NAME:?} \
--target-service-attachment=${SERVICE_ATTACHMENT_URI:?} \
--project=${VPC_PROJECT:?} \
--region=${REGION:?}
(Opcional) Criar um registro DNS para o endereço IP
Se você quiser se conectar e carregar sem memorizar o endereço IP real, crie um registro DNS. Esta etapa é opcional.
DNS_NAME_SUFFIX=matchingengine.vertexai.goog. # Don't forget the "." in the end.
DNS_NAME=${INDEX_ENDPOINT_ID:?}.${REGION:?}.${DNS_NAME_SUFFIX:?}
gcloud dns managed-zones create ${DNS_ZONE_NAME:?} \
--dns-name=${DNS_NAME_SUFFIX:?} \
--visibility=private \
--project=${VPC_PROJECT:?} \
--region=${REGION:?}
gcloud dns record-sets create ${DNS_NAME:?} \
--rrdatas=${IP_ADDRESS:?} \
--type=A --ttl=60 \
--zone=${DNS_ZONE_NAME:?} \
--project=${VPC_PROJECT:?} \
--region=${REGION:?}
Enviar consultas para o endpoint do índice
Agora que você criou um endpoint com o Private Service Connect e criou o índice, é possível começar a executar consultas.
Para consultar o índice, acesse Consultar índices para saber os vizinhos mais próximos.
A seguir
- Saiba como atualizar e recriar o índice
- Saiba como monitorar o endpoint do índice