Cette page explique comment créer et gérer des points de terminaison Gemini sur l'API Google Distributed Cloud connecté.
Prérequis
Cette section décrit les étapes à suivre une seule fois avant de pouvoir déployer Gemini sur les points de terminaison de l'API GDC connecté. Effectuez les étapes sur la machine de mise en service.
Effectuer la mise en service du matériel
Avant de suivre les étapes de cette page, vous devez :
déployer le matériel certifié par Google comme décrit dans la section Exigences d'installation ;
collaborer avec votre représentant Google pour créer les clusters Distributed Cloud connecté requis.
Attribuer les rôles requis
Vous devez configurer les rôles requis suivants :
Pour les comptes utilisés pour gérer votre déploiement de Gemini sur l'API GDC connecté, attribuez les rôles listés dans Rôles et autorisations de l'API Distributed Cloud Edge Container.
Pour les comptes utilisés pour interagir avec Gemini sur les points de terminaison de l'API GDC connecté, attribuez les rôles listés dans Rôles et autorisations de l'API Vertex AI.
Obtenir des informations sur la zone Distributed Cloud connecté cible
Pour obtenir le nom de votre zone Distributed Cloud connecté cible, procédez comme suit :
Obtenez le nom de l'ID de l'organisation cible : Google Cloud
gcloud organizations list
Répertoriez les zones Distributed Cloud connecté dans votre Google Cloud organisation :
gcloud alpha zone-management zones list \ --organization ORGANIZATION_ID \ --location REGION
Remplacez les éléments suivants :
ORGANIZATION_ID: ID de l'organisation cible Google Cloud .REGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google Cloud Pendant la preview publique, la seule région compatible estus-west2.
Obtenez des informations détaillées sur la zone cible :
gcloud alpha zone-management zones describe ZONE \ --organization ORGANIZATION_ID \ --location REGION
Remplacez les éléments suivants :
ZONE: zone Distributed Cloud connecté cible.ORGANIZATION_ID: ID de l'organisation cible Google Cloud .REGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google Cloud Pendant la preview publique, la seule région compatible estus-west2.
Obtenir des informations sur les machines certifiées dans votre zone Distributed Cloud connecté
Pour obtenir les noms des machines certifiées cibles dans votre zone Distributed Cloud connecté, procédez comme suit :
Répertoriez les machines Distributed Cloud connecté dans la zone Distributed Cloud connecté cible comme décrit dans la section Répertorier les machines dans une zone.
Obtenez des informations détaillées sur la machine cible, comme décrit dans la section Obtenir des informations sur une machine.
Activer les services locaux de l'API AI Platform et de l'API Vertex AI
Activez leprojet cible dans votre zone Distributed Cloud connecté cible : Google Cloud
gcloud alpha zone-management projects enable PROJECT_ID \ --organization ORGANIZATION_ID \ --location REGION \ --zone ZONE
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudORGANIZATION_ID: ID de l'organisation cible Google Cloud .REGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudZONE: zone Distributed Cloud connecté cible.
Activez le service AI Platform sur leprojet cible Google Cloud :
gcloud services enable aiplatform.googleapis.com --project PROJECT_ID
Remplacez
PROJECT_IDpar l'ID duprojet cible. Google CloudActivez le service de l'API Vertex AI dans la zone Distributed Cloud connecté :
gcloud alpha zone-management services enable vertex --project PROJECT_ID \ --location REGION \ --zone ZONE
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudZONE: zone Distributed Cloud connecté cible.
Configurer le point de terminaison pour la résolution DNS
Obtenez l'adresse DNS gérée, le domaine de premier niveau (TLD) et le certificat de l'autorité de certification (CA) pour la zone Distributed Cloud connecté cible.
gcloud alpha zone-management zones describe ZONE \ --organization ORGANIZATION_ID \ --location REGION \ --format="value(certificateAuthorities)" \ > CA_CERTIFICATE_FILE
Remplacez les éléments suivants :
ORGANIZATION_ID: ID de l'organisation cible Google Cloud .REGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudZONE: zone Distributed Cloud connecté cible.CA_CERTIFICATE_FILE: fichier dans lequel la charge utile du certificat générée par la commande est enregistrée. Vous utiliserez ce fichier ultérieurement pour générer la clé du compte de service.
La commande renvoie une sortie semblable à celle qui est stockée dans le fichier :
-----BEGIN CERTIFICATE----- MIIDATCCAemgAwIBAgIRAOsIG15loHwPBpjQe9FZYUAwDQYJKoZIhvcNAQELBQAw GjEYMBYGA1UEAxMPZ2RjZS1jbHVzdGVyLWNhMB4XDTI1MDcyOTEyMTAwNloXDTQ5 MDcyMzEyMTAwNlowGjEYMBYGA1UEAxMPZ2RjZS1jbHVzdGVyLWNhMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3YdoASubyzHdgZ0vIU5g1dxdFRT1T4wc o9FaRXftSTDfiNVNKj/vC+De9EZokpyLZkdZNep6p0TLJAsPZYq+yiTCiaJ6Ihwy 3LBn8j2PessSIte2LUhkft1yCQqfkgpYfKcjM3IauIXETS961m0uJb4sntgLJ4nM Scb5vpW1f70D1V27bqnEsE7+rbxzeFTosHC+DGBcLqIE0ptdionm/4xoltH7yv2O qKfcc/46TyPwGRzxifEdNzjKZ1kRdTThESfW+L7TQNv6VF5TC4FPksYX/ID/X7Fz G9BRey0mikvc4J7qQIeyMRlpIKqRh/1FCdRDC9vVEQipT2Ls0MwwTwIDAQABo0Iw QDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUmES2 pyMLOnnsKug8amFmenOaTr8wDQYJKoZIhvcNAQELBQADggEBADn71zo7cNFZ0kQE C2lS6b0DLz4Nd1yCz5fGDvxzcTRdOT60wyq/TAx1YlYse33cGk/cQ7RkVsM56UX1 T8RMvi09UcEQG3wFrYuU62ZjXF1a3RrOnHxyvVdyvbUYAO5gvzBQrj4tMZYX9kL3 6H/9FwXuHVyqWAm0xpWvZfszwJjY4C1VxoDwmRiZPYzTrWI6/rY0QmORgcZXLnPL OVufbAX30aRGdTRnVXxE0fKmXwzbtbSHilU5hJT7EQWMvV5hJfyNqdXG0gbrhrsk sB0yRjk5PHQd9pOMcXcYIgfNnUEcQl4qeSll3g5cZ+cRrcTO1USFLRo8dcbQpJ6Y 6ykzvKs= -----END CERTIFICATE----- createTime: '2025-08-25T20:46:50.269384028Z' dnsServers: - ipAddress: DNS_SERVER_ADDRESS tld: TOP_LEVEL_DOMAIN name: organizations/ORGANIZATION_ID/locations/REGION/zones/ZONE state: STATE_RUNNING
Créez la configuration DNS pour le point de terminaison comme suit à l'aide de l'adresse IP du serveur DNS et du nom de domaine de premier niveau (TLD) obtenus à l'étape précédente. Vous devez exécuter cette commande à partir d'une machine qui se trouve sur le même réseau local que la machine certifiée Gemini sur l'API GDC connecté.
mkdir /etc/systemd/resolved.conf.d echo '[Resolve] DNS=DNS_SERVER_ADDRESS Domains=~TOP_LEVEL_DOMAIN' > /etc/systemd/resolved.conf.d/dns.conf sudo systemctl restart systemd-resolved
Remplacez les éléments suivants :
DNS_SERVER_ADDRESS: adresse IP de votre serveur DNS.TOP_LEVEL_DOMAIN: domaine de premier niveau pour le point de terminaison.
Déployer un point de terminaison Gemini sur l'API GDC connecté
Pour déployer un point de terminaison Gemini sur l'API GDC connecté, procédez comme suit :
Créez le point de terminaison :
gcloud beta ai endpoints create \ --project=PROJECT_ID \ --region=REGION \ --gdc-zone=ZONE \ --display-name=ENDPOINT_NAME \ --endpoint-id=ENDPOINT_ID
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudZONE: zone Distributed Cloud connecté cible.ENDPOINT_NAME: nom explicite pour ce point de terminaison.ENDPOINT_ID: (facultatif) identifiant unique pour ce point de terminaison. Si vous ne le spécifiez pas, un identifiant aléatoire est généré.
Déployez le modèle :
gcloud beta ai endpoints deploy-model ENDPOINT_ID \ --display-name=ENDPOINT_NAME \ --model=MODEL_PUBLIC_ID \ --region=REGION
Remplacez les éléments suivants :
ENDPOINT_ID: ID du point de terminaison cible.ENDPOINT_NAME: nom du point de terminaison cible.REGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudMODEL_PUBLIC_ID: ID public du modèle. Pour obtenir la liste des modèles compatibles, consultez la section Modèles compatibles.
Répertoriez les points de terminaison déployés :
gcloud beta ai endpoints list \ --project=PROJECT_ID \ --region=REGION
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google Cloud
Notez l'ID du point de terminaison cible.
Obtenez l'adresse du point de terminaison :
gcloud beta ai endpoints describe ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
Remplacez les éléments suivants :
ENDPOINT_ID: ID du point de terminaison cible.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google Cloud
Créez le compte de service pour le point de terminaison dans la zone Distributed Cloud connecté cible :
gcloud alpha zone-management service-accounts create SERVICE_ACCOUNT \ --project PROJECT_ID \ --location REGION \ --zone ZONE
Remplacez les éléments suivants :
SERVICE_ACCOUNT: nom explicite qui identifie de manière unique ce compte de service. Ce nom ne doit comporter que des lettres minuscules, des chiffres, des tirets (-) ou des points (.), et doit commencer et se terminer par un caractère alphanumérique. Les lettres majuscules ne sont pas autorisées.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudZONE: zone Distributed Cloud connecté cible.
Obtenez la stratégie Identity and Access Management pour la zone Distributed Cloud connecté cible :
gcloud alpha zone-management zones get-iam-policy ZONE \ --project PROJECT_ID \ --location REGION
Remplacez les éléments suivants :
ZONE: zone Distributed Cloud connecté cible.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google Cloud
Attribuez le rôle Développeur AI Platform au compte de service :
gcloud alpha zone-management zones set-iam-policy POLICY_FILE \ --project PROJECT_ID \ --location REGION \ --zone ZONE
Remplacez les éléments suivants :
POLICY_FILE: fichier JSON ou YAML contenant la stratégie d'attribution de rôle.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudZONE: zone Distributed Cloud connecté cible.
Voici un exemple de stratégie au format JSON :
"bindings": [ { "role": "roles/aiplatform.geminiDeveloper", "members": [ "serviceAccount": "projects/PROJECT_ID/locations/REGION/serviceAccounts/SERVICE_ACCOUNT" ] } ] "etag": ""Voici un exemple de stratégie au format YAML :
bindings: - role: roles/aiplatform.geminiDeveloper members: - serviceAccount: projects/PROJECT_ID/locations/REGION/serviceAccounts/SERVICE_ACCOUNT etag: ""
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudSERVICE_ACCOUNT: nom explicite qui identifie de manière unique ce compte de service.
Générez une clé pour le compte de service :
gcloud alpha zone-management service-accounts keys create SA_KEY_FILE \ --service-account SERVICE_ACCOUNT \ --project PROJECT_ID \ --location REGION \ --ca-cert-path CA_CERTIFICATE_FILE
Remplacez les éléments suivants :
SA_KEY_FILE: fichier dans lequel stocker la clé de compte de service générée.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudCA_CERTIFICATE_FILE: fichier de certificat de l'autorité de certification que vous avez créé précédemment.
Obtenez l'URL complète du point de terminaison :
gcloud beta ai endpoints describe ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
Imprimez le jeton d'identité pour le compte de service. Vous devez exécuter cette commande à partir d'une machine qui se trouve sur le même réseau local que la machine certifiée Gemini sur l'API GDC connecté.
gcloud alpha zone-management auth print-identity-token \ --cred-file=SA_KEY_FILE \ --audience=ENDPOINT_URL
Remplacez les éléments suivants :
SA_KEY_FILE: fichier de clé de compte de service que vous avez créé précédemment.ENDPOINT_URL: URL complète du point de terminaison, y compris le suffixe TLD.
Lister les points de terminaison Gemini sur l'API GDC connecté déployés
Pour lister vos points de terminaison Gemini sur l'API GDC connecté déployés, procédez comme suit :
gcloud beta ai endpoints list \
--project=PROJECT_ID \
--region=REGION \
--gdc-zone=ZONE
Remplacez les éléments suivants :
PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudZONE: zone Distributed Cloud connecté cible.
Obtenir des informations sur un point de terminaison Gemini sur l'API GDC connecté
Pour obtenir des informations sur un point de terminaison Gemini sur l'API GDC connecté déployé, procédez comme suit :
gcloud beta ai endpoints describe ENDPOINT_ID \
--project=PROJECT_ID \
--region=REGION
Remplacez les éléments suivants :
ENDPOINT_ID: ID du point de terminaison cible.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google Cloud
Interagir avec un point de terminaison Gemini sur l'API Google Distributed Cloud connecté
Votre point de terminaison Gemini sur l'API GDC connecté est compatible avec l'interaction via l'API ChatCompletions et l'API ListAvailableModels. Utilisez ces API pour interagir par programmation avec votre point de terminaison.
Voici un exemple de requête via l'API ChatCompletions. Le jeton de support généré dans cette requête est valide pendant 12 heures.
Définissez les variables suivantes dans votre environnement shell :
MODEL_NAME="MODEL_NAME" USER_CONTENT="Who invented the light bulb?" PROJECT="PROJECT_ID" LOCATION="REGION" IG_FQDN="inference-gateway.vai.ZONE.google.private.goog" CRED_FILE="SA_KEY_FILE" API_ENDPOINT="https://${IG_FQDN}/v1/projects/${PROJECT}/locations/${LOCATION}/chat/completions"Remplacez les éléments suivants :
MODEL_NAME: nom du modèle cible.PROJECT_ID: ID duprojet cible. Google CloudREGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudSA_KEY_FILE: fichier de clé de compte de service que vous avez créé précédemment.
Imprimez le jeton de support. Vous devez exécuter cette commande à partir d'une machine qui se trouve sur le même réseau local que la machine certifiée Gemini sur l'API GDC connecté.
BEARER_TOKEN=$(gcloud alpha zone-management auth print-identity-token --cred-file="${CRED_FILE}" --audience="https://${IG_FQDN}") echo $BEARER_TOKENCréez la charge utile :
REQUEST_BODY=$(cat <<EOF { "model": "${MODEL_NAME}", "messages": [ { "role": "system", "content": "Pizza for everyone!" }, { "role": "user", "content": "${USER_CONTENT}" } ], "stream": false } EOF )Envoyez la requête au point de terminaison. Vous devez exécuter cette commande à partir d'une machine qui se trouve sur le même réseau local que la machine certifiée Gemini sur l'API GDC connecté.
curl -k -X POST \ "${API_ENDPOINT}" \ -d "${REQUEST_BODY}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${BEARER_TOKEN}" \ -H "x-goog-user-project: projects/${PROJECT}"
Exemple de requête API ChatCompletions multimodale
Voici un exemple de charge utile de requête API ChatCompletions multimodale avec un document comme entrée :
Créez la charge utile :
BASE64_IMAGE=$(base64 -w 0 JPEG_FILE) REQUEST_BODY=$(cat <<EOF { "model": "${MODEL_NAME}", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "What is this image?" }, { "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,${BASE64_IMAGE}" } } ] } ] } EOF )Envoyez la requête au point de terminaison. Vous devez exécuter cette commande à partir d'une machine qui se trouve sur le même réseau local que la machine certifiée Gemini sur l'API GDC connecté.
curl -k -X POST \ "${API_ENDPOINT}" \ -d "${REQUEST_BODY}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${BEARER_TOKEN}" \ -H "x-goog-user-project: projects/${PROJECT}"
Exemple de requête API ListAllAvailableModels
Voici un exemple de requête API ListAllAvailableModels :
BEARER_TOKEN=$(gcloud alpha zone-management auth print-identity-token --cred-file="${CRED_FILE}" --audience="https://${IG_FQDN}")
# The request body -d parameter is intentionally omitted.
grpcurl -insecure \
-H "Authorization: Bearer ${BEARER_TOKEN}" \
-H "x-goog-user-project: projects/${PROJECT}" \
"${IG_FQDN}" \
cloud.gdc.ai.inference.inferencegateway.GeminiMetadataService.ListAvailableModels
Supprimer un point de terminaison Gemini sur l'API Google Distributed Cloud connecté
Pour supprimer un point de terminaison Gemini sur l'API GDC connecté, procédez comme suit :
Annulez le déploiement du modèle :
gcloud beta ai endpoints undeploy-model ENDPOINT_ID \ --region=REGION \ --gdc-zone=ZONE \ --model=MODEL_PUBLIC_ID
Remplacez les éléments suivants :
ENDPOINT_ID: ID du point de terminaison cible.REGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google CloudZONE: zone Distributed Cloud connecté cible.MODEL_PUBLIC_ID: ID public du modèle. Pour obtenir la liste des modèles compatibles, consultez la section Modèles compatibles.
Supprimez le point de terminaison :
gcloud beta ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
Remplacez les éléments suivants :
ENDPOINT_ID: ID du point de terminaison cible.PROJECT_ID: nom du point de terminaison cible.REGION:région dans laquelle la zone Distributed Cloud connecté cible a été créée. Google Cloud
Résoudre les problèmes liés aux points de terminaison
Si votre point de terminaison Gemini sur l'API GDC connecté ne fonctionne plus, contactez votre représentant Google pour résoudre le problème.