Com o Private Service Connect, é possível acessar inferências on-line da Vertex AI com segurança de vários projetos de consumidor e redes VPC sem precisar de endereços IP públicos, acesso à Internet pública ou intervalo de endereços IP internos com peering explícito.
Recomendamos o Private Service Connect para uso de inferência on-line casos que têm os seguintes requisitos:
- Exigir conexões particulares e seguras
- Requer baixa latência
- Não precisam ser acessíveis publicamente
O Private Service Connect usa uma regra de encaminhamento na sua rede VPC para enviar tráfego unidirecionalmente ao serviço de inferência on-line da Vertex AI. A regra de encaminhamento se conecta a uma anexo de serviço que expõe o serviço Vertex AI à sua rede VPC. Para mais informações, consulte Sobre o acesso aos serviços da Vertex AI usando o Private Service Connect. Para saber mais sobre como configurar o Private Service Connect, consulte a Visão geral do Private Service Connect na documentação da nuvem privada virtual (VPC).
Endpoints particulares dedicados são compatíveis com os protocolos de comunicação HTTP e gRPC. Para solicitações gRPC, o cabeçalho x-vertex-ai-endpoint-id precisa ser incluído para a identificação adequada do endpoint. Há suporte para as seguintes APIs:
- Prever
- RawPredict
- StreamRawPredict
- Conclusão de chat (somente no Model Garden)
É possível enviar solicitações de inferência on-line para um endpoint particular dedicado usando o SDK da Vertex AI para Python. Para mais detalhes, consulte Receber inferências on-line.
Funções exigidas
Para receber a permissão necessária para criar um endpoint do Private Service Connect,
peça ao administrador para conceder a você o
papel do IAM de Usuário da Vertex AI (roles/aiplatform.user
)
no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém a permissão
aiplatform.endpoints.create
,
que é necessária para
criar um endpoint do Private Service Connect.
Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.
Para mais informações sobre os papéis e permissões da Vertex AI, consulte Controle de acesso da Vertex AI com IAM e Permissões do IAM da Vertex AI.
Criar o endpoint de inferência on-line
Use um dos métodos a seguir para criar um endpoint de inferência on-line com o Private Service Connect ativado.
O tempo limite padrão de solicitação para um endpoint do Private Service Connect é de 10 minutos.
No SDK da Vertex AI para Python, é possível especificar um tempo limite de solicitação diferente ao definir um novo valor de inference_timeout
, conforme mostrado no exemplo a seguir. O valor máximo do tempo limite é de 3.600 segundos (1 hora).
Console
No console Google Cloud , na Vertex AI, acesse a página Previsão on-line.
Clique em Criar.
Forneça um nome de exibição para o endpoint.
Selecione
Privado.Selecione
Private Service Connect.Clique em Selecionar IDs do projeto.
Selecione projetos para adicionar à lista de permissões do endpoint.
Clique em Continuar.
Escolha as especificações do seu modelo. Para mais informações, consulte Implantar um modelo em um endpoint.
Clique em Criar. para criar o endpoint e implantar o modelo nele.
Anote o ID do endpoint na resposta.
API
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
VERTEX_AI_PROJECT_ID
: o ID do projeto do Google Cloud em que você está criando o endpoint de previsão on-line.REGION
: a região em que você está usando a Vertex AI.VERTEX_AI_ENDPOINT_NAME
: o nome de exibição da previsão on-line. endpoint de API.ALLOWED_PROJECTS
: uma lista separada por vírgulas de IDs de projetos Google Cloud , cada um entre aspas, por exemplo,["PROJECTID1", "PROJECTID2"]
. Se um projeto não estiver nesta lista, você não poderá enviar solicitações de previsão. para o endpoint da Vertex AI. Não se esqueça de incluir VERTEX_AI_PROJECT_ID nessa lista para chamar o endpoint no mesmo projeto em que está.- INFERENCE_TIMEOUT_SECS: (opcional) número de segundos no campo opcional
inferenceTimeout
.
Método HTTP e URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints
Corpo JSON da solicitação:
{ "displayName": "VERTEX_AI_ENDPOINT_NAME", "privateServiceConnectConfig": { "enablePrivateServiceConnect": true, "projectAllowlist": ["ALLOWED_PROJECTS"], "clientConnectionConfig": { "inferenceTimeout": { "seconds": INFERENCE_TIMEOUT_SECS } } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/VERTEX_AI_PROJECT_NUMBER/locations/REGION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
ENDPOINT_ID
.
Python
Antes de testar esse exemplo, siga as instruções de configuração para Python no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Python.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Substitua:
VERTEX_AI_PROJECT_ID
: o ID do Google Cloud projeto em que você está criando o endpoint de inferência on-lineREGION
: a região em que você está usando a Vertex AI.VERTEX_AI_ENDPOINT_NAME
: o nome de exibição do endpoint de inferência on-lineALLOWED_PROJECTS
: uma lista separada por vírgulas de IDs de projetos do Google Cloud, cada um entre aspas. Por exemplo,["PROJECTID1", "PROJECTID2"]
. Se um projeto não estiver nesta lista, você não poderá enviar solicitações de inferência. para o endpoint da Vertex AI. Não se esqueça de incluir VERTEX_AI_PROJECT_ID nessa lista para chamar o endpoint no mesmo projeto em que está.INFERENCE_TIMEOUT_SECS
: (opcional) número de segundos no valor opcionalinference_timeout
.
PROJECT_ID = "VERTEX_AI_PROJECT_ID"
REGION = "REGION"
VERTEX_AI_ENDPOINT_NAME = "VERTEX_AI_ENDPOINT_NAME"
INFERENCE_TIMEOUT_SECS = "INFERENCE_TIMEOUT_SECS"
from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=REGION)
# Create the forwarding rule in the consumer project
psc_endpoint = aiplatform.PrivateEndpoint.create(
display_name=VERTEX_AI_ENDPOINT_NAME,
project=PROJECT_ID,
location=REGION,
private_service_connect_config=aiplatform.PrivateEndpoint.PrivateServiceConnectConfig(
project_allowlist=["ALLOWED_PROJECTS"],
),
inference_timeout=INFERENCE_TIMEOUT_SECS,
)
Anote o ENDPOINT_ID
no final da
URI do endpoint:
INFO:google.cloud.aiplatform.models:To use this PrivateEndpoint in another session:
INFO:google.cloud.aiplatform.models:endpoint = aiplatform.PrivateEndpoint('projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID')
Criar o endpoint de inferência on-line com automação do PSC (prévia)
A inferência on-line se integra à automação de conectividade de serviço, que permite configurar endpoints de inferência com a automação do PSC. Isso simplifica o processo criando automaticamente endpoints de PSC e é particularmente útil para desenvolvedores de ML que não têm permissões para criar recursos de rede, como regras de encaminhamento em um projeto.
Para começar, o administrador de rede precisa estabelecer uma política de conexão de serviço. Essa política é uma configuração única por projeto e rede que permite que a Vertex AI (classe de serviço gcp-vertexai
) gere endpoints do PSC nos seus projetos e redes.
Em seguida, crie endpoints usando a configuração de automação do PSC e implante seus modelos. Quando a implantação for concluída, as informações relevantes do endpoint PSC estarão acessíveis nos endpoints.
Limitações
- O VPC Service Controls não é compatível.
- Um limite regional de 500 endpoints se aplica às configurações de automação do PSC.
- Os resultados da automação do PSC são excluídos quando nenhum modelo é implantado ou está em processo de implantação no endpoint. Após a limpeza e a implantação do modelo, os novos resultados de automação apresentam endereços IP e regras de encaminhamento distintos.
Criar uma política de conexão de serviço
Você precisa ser um administrador de rede para criar a política de conexão de serviço.
Uma política de conexão de serviço é necessária para permitir que a Vertex AI
crie endpoints do PSC nas suas redes. Sem uma política válida, a automação falha com um erro CONNECTION_POLICY_MISSING
.
Crie sua política de conexão de serviço.
- POLICY_NAME: um nome especificado pelo usuário para a política.
PROJECT_ID: o ID do projeto de serviço em que você está criando recursos da Vertex AI.
VPC_PROJECT: o ID do projeto em que a VPC do cliente está localizada. Para a configuração de uma única VPC, é igual a
$PROJECT
. Para a configuração da VPC compartilhada, esse é o projeto host da VPC.NETWORK_NAME: o nome da rede a ser implantada.
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=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 uma configuração de VPC única, um exemplo é assim:
gcloud network-connectivity service-connection-policies create test-policy \ --network=default \ --project=YOUR_PROJECT_ID \ --region=us-central1 \ --service-class=gcp-vertexai \ --subnets=default \ --psc-connection-limit=500 \ --description=test
Criar o endpoint de inferência on-line com a configuração de automação do PSC
No PSCAutomationConfig
, verifique se o projectId
está na
lista de permissões.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGION: a região em que você está usando a Vertex AI.
- VERTEX_AI_PROJECT_ID: o ID do projeto Google Cloud em que você está criando o endpoint de inferência on-line.
- VERTEX_AI_ENDPOINT_NAME: o nome de exibição do endpoint de previsão on-line.
- NETWORK_NAME: o nome completo do recurso, incluindo o ID do projeto, em vez do número do projeto.
Método HTTP e URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints
Corpo JSON da solicitação:
{ { displayName: "VERTEX_AI_ENDPOINT_NAME", privateServiceConnectConfig: { enablePrivateServiceConnect: true, projectAllowlist: ["VERTEX_AI_PROJECT_ID"], pscAutomationConfigs: [ { "project_id": "VERTEX_AI_PROJECT_ID", "network": "projects/VERTEX_AI_PROJECT_ID/global/networks/NETWORK_NAME" }, ], }, },
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/VERTEX_AI_PROJECT_NUMBER/locations/REGION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
ENDPOINT_ID
.
Python
Antes de testar esse exemplo, siga as instruções de configuração para Python no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Python.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Substitua:
VERTEX_AI_PROJECT_ID
: o ID do Google Cloud projeto em que você está criando o endpoint de inferência on-lineREGION
: a região em que você está usando a Vertex AI.VERTEX_AI_ENDPOINT_NAME
: o nome de exibição do endpoint de inferência on-lineNETWORK_NAME
: o nome completo do recurso, incluindo o ID do projeto, em vez do número do projeto.
PROJECT_ID = "VERTEX_AI_PROJECT_ID"
REGION = "REGION"
VERTEX_AI_ENDPOINT_NAME = "VERTEX_AI_ENDPOINT_NAME"
from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=REGION)
config =
aiplatform.compat.types.service_networking.PrivateServiceConnectConfig(
enable_private_service_connect=True,
project_allowlist="VERTEX_AI_PROJECT_ID"
psc_automation_configs=[
aiplatform.compat.types.service_networking.PSCAutomationConfig(
project_id="VERTEX_AI_PROJECT_ID"
network=projects/"VERTEX_AI_PROJECT_ID"/global/networks/"NETWORK_NAME",
)
]
)
psc_endpoint = aiplatform.PrivateEndpoint.create(
display_name="VERTEX_AI_ENDPOINT_NAME"
private_service_connect_config=config,
)
Implantar o modelo
Depois de criar o endpoint de inferência on-line com Private Service Connect ativado, implante seu modelo nele, seguindo as as etapas descritas em Implantar um modelo em um endpoint.
Criar endpoint do PSC manualmente
Acessar o URI do anexo de serviço
Quando você implanta o modelo, um anexo de serviço é criado para o endpoint de inferência on-line. Esse anexo de serviço representa o
serviço de inferência on-line da Vertex AI que está sendo exposto à sua
rede VPC. Execute o comando
Comando gcloud ai endpoints describe
para receber o URI do anexo de serviço.
Liste apenas o valor
serviceAttachment
dos detalhes do endpoint:gcloud ai endpoints describe ENDPOINT_ID \ --project=VERTEX_AI_PROJECT_ID \ --region=REGION \ | grep -i serviceAttachment
Substitua:
ENDPOINT_ID
: o ID do endpoint de inferência on-lineVERTEX_AI_PROJECT_ID
: o ID do projeto Google Cloud em que você criou o endpoint de inferência on-lineREGION
: a região desta solicitação
O resultado será assim:
serviceAttachment: projects/ac74a9f84c2e5f2a1-tp/regions/us-central1/serviceAttachments/gkedpm-c6e6a854a634dc99472bb802f503c1
Anote toda a string no campo
serviceAttachment
. Isto é o URI do anexo de serviço.
Criar uma regra de encaminhamento
É possível reservar um endereço IP interno e criar uma regra de encaminhamento a esse endereço. Para criar a regra de encaminhamento, você precisa do URI do anexo de serviço da etapa anterior.
Para reservar um endereço IP interno para a regra de encaminhamento, use o Comando
gcloud compute addresses create
:gcloud compute addresses create ADDRESS_NAME \ --project=VPC_PROJECT_ID \ --region=REGION \ --subnet=SUBNETWORK \ --addresses=INTERNAL_IP_ADDRESS
Substitua:
ADDRESS_NAME
: um nome para o endereço IP internoVPC_PROJECT_ID
: o ID do projeto Google Cloud que hospeda sua rede VPC. Se o endpoint de inferência on-line e regra de encaminhamento do Private Service Connect são hospedados no mesmo projeto, useVERTEX_AI_PROJECT_ID
para esse parâmetro.REGION
: a região Google Cloud em que a regra de encaminhamento do Private Service Connect será criadaSUBNETWORK
: o nome da sub-rede VPC que contém o endereço IPINTERNAL_IP_ADDRESS
: o endereço IP interno de reservar. Este parâmetro é opcional.- Se esse parâmetro for especificado, o endereço IP deverá estar dentro do do intervalo de endereços IP primário da sub-rede. O endereço IP pode ser um endereço RFC 1918 ou uma sub-rede com intervalos não RFC.
- Se esse parâmetro for omitido, um endereço IP interno é alocado automaticamente.
- Para mais informações, consulte Reserve um novo endereço IPv4 ou IPv6 interno estático.
Para verificar se o endereço IP está reservado, use o comando
gcloud compute addresses list
:gcloud compute addresses list --filter="name=(ADDRESS_NAME)" \ --project=VPC_PROJECT_ID
Na resposta, verifique se o endereço IP tem um status
RESERVED
.Para criar a regra de encaminhamento e apontá-la para o anexo de serviço de inferência on-line, use o comando
gcloud compute forwarding-rules create
:gcloud compute forwarding-rules create PSC_FORWARDING_RULE_NAME \ --address=ADDRESS_NAME \ --project=VPC_PROJECT_ID \ --region=REGION \ --network=VPC_NETWORK_NAME \ --target-service-attachment=SERVICE_ATTACHMENT_URI
Substitua:
PSC_FORWARDING_RULE_NAME
: um nome para a regra de encaminhamentoVPC_NETWORK_NAME
: o nome da rede VPC em que o endpoint será criadoSERVICE_ATTACHMENT_URI
: o anexo de serviço que você criou. observação
Para verificar se o anexo de serviço aceita o endpoint, use o comando
gcloud compute forwarding-rules describe
:gcloud compute forwarding-rules describe PSC_FORWARDING_RULE_NAME \ --project=VPC_PROJECT_ID \ --region=REGION
Na resposta, verifique se um status
ACCEPTED
aparece para o campopscConnectionStatus
.
Opcional: ver o endereço IP interno
Se você não especificou um valor para INTERNAL_IP_ADDRESS
quando
criar a regra de encaminhamento, é possível coletar o endereço
alocado automaticamente usando a
Comando gcloud compute forwarding-rules describe
:
gcloud compute forwarding-rules describe PSC_FORWARDING_RULE_NAME \
--project=VERTEX_AI_PROJECT_ID \
--region=REGION \
| grep -i IPAddress
Substitua:
VERTEX_AI_PROJECT_ID
: ID do projetoREGION
: o nome da região da solicitação.
Opcional: extrair o endpoint do PSC do resultado da automação do PSC
É possível conseguir o endereço IP gerado e a regra de encaminhamento do endpoint de inferência. Veja um exemplo:
"privateServiceConnectConfig": {
"enablePrivateServiceConnect": true,
"projectAllowlist": [
"your-project-id",
],
"pscAutomationConfigs": [
{
"projectId": "your-project-id",
"network": "projects/your-project-id/global/networks/default",
"ipAddress": "10.128.15.209",
"forwardingRule": "https://www.googleapis.com/compute/v1/projects/your-project-id/regions/us-central1/forwardingRules/sca-auto-fr-47b0d6a4-eaff-444b-95e6-e4dc1d10101e",
"state": "PSC_AUTOMATION_STATE_SUCCESSFUL"
},
]
}
Confira alguns detalhes sobre o tratamento de erros.
- A falha Automation não afeta o resultado da implantação do modelo.
- O sucesso ou a falha da operação é indicado no estado.
- Se a operação for bem-sucedida, o endereço IP e a regra de encaminhamento serão exibidos.
- Se não for possível, uma mensagem de erro será exibida.
- As configurações Automation são removidas quando não há modelos implantados ou em processo de implantação no endpoint. Isso resulta em uma mudança no endereço IP e na regra de encaminhamento se um modelo for implantado posteriormente.
- A automação com falha não será recuperada. Em caso de falha, ainda é possível criar o endpoint do PSC manualmente. Consulte Criar endpoint do PSC manualmente.
Receber inferências on-line
Como receber inferências on-line de um endpoint com o Private Service Connect é semelhante a receber inferências on-line de endpoints públicos, exceto conforme as seguintes considerações:
- A solicitação precisa ser enviada de um projeto especificado no
projectAllowlist
quando o endpoint de inferência on-line foi criado. - Se o acesso global não estiver ativado, a solicitação precisa ser enviada da mesma região.
- Há duas portas abertas: 443 com TLS usando certificado autoassinado e 80 sem TLS. As duas portas são compatíveis com HTTP e GRPC. Todo o tráfego vai estar em uma rede privada e não vai passar pela Internet pública.
Para receber inferências, uma conexão precisa ser estabelecida usando o endereço IP estático do endpoint, a menos que um registro DNS seja criado para o endereço IP interno. Por exemplo, envie as solicitações
predict
para o seguinte endpoint:https://INTERNAL_IP_ADDRESS/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict
Substitua
INTERNAL_IP_ADDRESS
pelo endereço IP interno que você reservou anteriormente.Para solicitações gRPC: Para garantir a identificação adequada do endpoint para solicitações gRPC, é necessário incluir o cabeçalho
x-vertex-ai-endpoint-id
. Isso é necessário porque as informações do endpoint não são transmitidas no caminho da solicitação para comunicação gRPC.Conexões seguras (porta 443): ao estabelecer conexões seguras usando a porta 443, o servidor usa um certificado autoassinado. Para continuar com a conexão, recomendamos uma das seguintes abordagens:
- Opção 1: ignorar a validação de certificado: configure o cliente para ignorar a validação de certificado e estabelecer a conexão usando o endereço IP do servidor ou um método de resolução de DNS preferido.
- Opção 2: integração do repositório de confiança: obtenha o certificado autoassinado do servidor, adicione-o ao repositório de confiança local do sistema cliente e use o nome de DNS no formato
*.prediction.p.vertexai.goog
para estabelecer a conexão. Esse método garante a comunicação segura por meio da validação de certificado.
As seções a seguir mostram exemplos de como enviar a predict solicitação usando Python.
Primeiro exemplo
psc_endpoint = aiplatform.PrivateEndpoint("projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID")
REQUEST_FILE = "PATH_TO_INPUT_FILE"
import json
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
with open(REQUEST_FILE) as json_file:
data = json.load(json_file)
response = psc_endpoint.predict(
instances=data["instances"], endpoint_override=INTERNAL_IP_ADDRESS
)
print(response)
Substitua PATH_TO_INPUT_FILE
por um caminho para um arquivo JSON.
que contém a entrada da solicitação.
Segundo exemplo
import json
import requests
import urllib3
import google.auth.transport.requests
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
REQUEST_FILE = "PATH_TO_INPUT_FILE"
# Programmatically get credentials and generate an access token
creds, project = google.auth.default()
auth_req = google.auth.transport.requests.Request()
creds.refresh(auth_req)
access_token = creds.token
# Note: the credential lives for 1 hour by default
# After expiration, it must be refreshed
# See https://cloud.google.com/docs/authentication/token-types#at-lifetime
with open(REQUEST_FILE) as json_file:
data = json.load(json_file)
url = "https://INTERNAL_IP_ADDRESS/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {access_token}" # Add access token to headers
}
payload = {
"instances": data["instances"],
}
response = requests.post(url, headers=headers, json=payload, verify=False)
print(response.json())
Opcional: crie um registro DNS para o endereço IP interno
Recomendamos que você crie um registro DNS para receber inferências on-line do endpoint sem precisar especificar o endereço IP interno.
Para mais informações, consulte Outras maneiras de configurar o DNS.
Crie uma zona DNS particular usando o comando
gcloud dns managed-zones create
. Essa zona está associada à rede VPC em que a regra de encaminhamento foi criada.DNS_NAME_SUFFIX="prediction.p.vertexai.goog." # DNS names have "." at the end. gcloud dns managed-zones create ZONE_NAME \ --project=VPC_PROJECT_ID \ --dns-name=$DNS_NAME_SUFFIX \ --networks=VPC_NETWORK_NAME \ --visibility=private \ --description="A DNS zone for Vertex AI endpoints using Private Service Connect."
Substitua:
ZONE_NAME
: o nome da zona de DNS.
Para criar um registro DNS na zona, use o Comando
gcloud dns record-sets create
:DNS_NAME=ENDPOINT_ID-REGION-VERTEX_AI_PROJECT_NUMBER.$DNS_NAME_SUFFIX gcloud dns record-sets create $DNS_NAME \ --rrdatas=INTERNAL_IP_ADDRESS \ --zone=ZONE_NAME \ --type=A \ --ttl=60 \ --project=VPC_PROJECT_ID
Substitua:
VERTEX_AI_PROJECT_NUMBER
: o número do projetoVERTEX_AI_PROJECT_ID
. Você pode localizar esse número do projeto no console Google Cloud . Para mais informações, consulte Identificar projetos.INTERNAL_IP_ADDRESS
: o endereço IP interno do seu endpoint de inferência on-line
Agora você pode enviar suas solicitações
predict
para:https://ENDPOINT_ID-REGION-VERTEX_AI_PROJECT_NUMBER.prediction.p.vertexai.goog/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict
Este é um exemplo de como enviar a predict solicitação para a zona de DNS usando Python:
REQUEST_FILE = "PATH_TO_INPUT_FILE"
import json
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
with open(REQUEST_FILE) as json_file:
data = json.load(json_file)
response = psc_endpoint.predict(
instances=data["instances"], endpoint_override=DNS_NAME
)
print(response)
Substitua DNS_NAME
pelo nome DNS especificado no
comando gcloud dns record-sets create
.
Limitações
Os endpoints da Vertex AI com o Private Service Connect estão sujeitos à as seguintes limitações:
- A implantação de modelos ajustados do Gemini não é compatível.
- Não há suporte para saída particular de dentro do endpoint. Porque As regras de encaminhamento do Private Service Connect são unidirecionais, outro privado As cargas de trabalho doGoogle Cloud não são acessíveis dentro do contêiner.
- Não é possível mudar o valor de
projectAllowlist
de um endpoint. - Não há suporte para a Vertex Explainable AI.
- Antes de excluir um endpoint, é necessário cancelar a implantação do modelo dele.
- Se todos os modelos forem cancelados por mais de 10 minutos, o anexo de serviço poderá ser excluído. Verifique o status da conexão do Private Service Connect. Se for
CLOSED
, recrie a regra de encaminhamento. - Depois de excluir o endpoint, não será possível reutilizar o nome dele por até sete dias.
- Um projeto pode ter até 10 valores
projectAllowlist
diferentes nas configurações do Private Service Connect.