Endpunkte erstellen und verwalten

Auf dieser Seite wird beschrieben, wie Sie API-Endpunkte für Gemini auf Google Distributed Cloud Connected erstellen und verwalten.

Es wird davon ausgegangen, dass Sie die von Google zertifizierte Hardware wie in den Installationsanforderungen beschrieben bereitgestellt haben.

Vorbereitung

In diesem Abschnitt werden die einmaligen Schritte beschrieben, die Sie ausführen müssen, bevor Sie Gemini auf GDC-verbundenen API-Endpunkten bereitstellen können.

Erforderliche Rollen gewähren

Sie müssen die folgenden erforderlichen Rollen konfigurieren:

Informationen zur Zielzone für Distributed Cloud Edge abrufen

So rufen Sie den Namen Ihrer Zielzone ab, die mit Distributed Cloud verbunden ist:

  1. Rufen Sie den Namen der Zielorganisations-ID Google Cloud ab:

    gcloud organizations list
    
  2. Listen Sie die mit Distributed Cloud verbundenen Zonen in Ihrer Google Cloud Organisation auf:

    gcloud alpha zone-management zones list \
       --organization ORGANIZATION_ID \
       --location REGION
    

    Ersetzen Sie Folgendes:

    • ORGANIZATION_ID: die ID der Zielorganisation Google Cloud .
    • REGION: Die Google Cloud Region, in der die verbundene Zielzone von Distributed Cloud erstellt wurde. Während der öffentlichen Vorschau wird nur die Region us-west2 unterstützt.
  3. Rufen Sie detaillierte Informationen zur Zielzone ab:

    gcloud alpha zone-management zones describe ZONE \
       --organization ORGANIZATION_ID \
       --location REGION
    

    Ersetzen Sie Folgendes:

    • ZONE: die Zielzone für Distributed Cloud Connected.
    • ORGANIZATION_ID: die ID der Zielorganisation Google Cloud .
    • REGION: Die Google Cloud Region, in der die verbundene Zielzone von Distributed Cloud erstellt wurde. Während der öffentlichen Vorschau wird nur die Region us-west2 unterstützt.

Informationen zu den zertifizierten Maschinen in Ihrer mit Distributed Cloud verbundenen Zone abrufen

So rufen Sie die Namen der zertifizierten Zielmaschinen in Ihrer mit Distributed Cloud verbundenen Zone ab:

  1. Listen Sie die mit Distributed Cloud verbundenen Maschinen in der Zielzone auf, wie unter Maschinen in einer Zone auflisten beschrieben.

  2. Rufen Sie detaillierte Informationen zum Zielcomputer ab, wie unter Informationen zu einem Computer abrufen beschrieben.

Lokale AI Platform API- und Vertex AI API-Dienste aktivieren

  1. Aktivieren Sie das Zielprojekt Google Cloud in Ihrer verbundenen Zielzone für Distributed Cloud:

    gcloud alpha zone-management projects enable PROJECT_ID \
       --organization ORGANIZATION_ID \
       --location REGION \
       --zone ZONE
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • ORGANIZATION_ID: die ID der Zielorganisation Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • ZONE: die Zielzone für Distributed Cloud Connected.
  2. Aktivieren Sie den AI Platform-Dienst im Zielprojekt Google Cloud :

    gcloud services enable aiplatform.googleapis.com --project PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die ID des Zielprojekts Google Cloud .

  3. Aktivieren Sie den Vertex AI API-Dienst in der verbundenen Zone von Distributed Cloud:

    gcloud alpha zone-management services enable vertex --project PROJECT_ID \
       --location REGION \
       --zone ZONE
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • ZONE: die Zielzone für Distributed Cloud Connected.

Endpunkt für die DNS-Auflösung konfigurieren

  1. Rufen Sie die verwaltete DNS-Adresse, die Top-Level-Domain (TLD) und das Zertifizierungsstellenzertifikat (CA-Zertifikat) für die verbundene Zielzone von Distributed Cloud ab:

    gcloud alpha zone-management zones describe ZONE \
      --organization ORGANIZATION_ID \
      --location REGION
    

    Ersetzen Sie Folgendes:

    • ORGANIZATION_ID: Die ID der Zielorganisation Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • ZONE: die Zielzone für Distributed Cloud Connected.

    Das folgende Beispiel veranschaulicht die Ausgabe dieses Befehls:

    -----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: 10.200.1.10
    tld: my-tld.google.private.goog
    name: organizations/my-organization/locations/my-region/zones/my-zone
    state: STATE_RUNNING
    

    Speichern Sie das Zertifikat in einer Datei mit dem Namen CA_CERTIFICATE_FILE. Sie verwenden diese Datei später zum Generieren des Dienstkontoschlüssels.

  2. Erstellen Sie die DNS-Konfiguration für den Endpunkt so:

    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
    

    Ersetzen Sie Folgendes:

    • DNS_SERVER_ADDRESS: die IP-Adresse Ihres DNS-Servers.
    • TOP_LEVEL_DOMAIN: die Top-Level-Domain für den Endpunkt.

Gemini-API-Endpunkt mit GDC-Verbindung bereitstellen

So stellen Sie einen mit Gemini on GDC verbundenen API-Endpunkt bereit:

  1. Endpunkt erstellen:

    gcloud beta ai endpoints create \
       --project=PROJECT_ID \
       --region=REGION \
       --gdc-zone=ZONE \
       --display-name=ENDPOINT_NAME \
       --endpoint-id=ENDPOINT_ID
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • ZONE: die Zielzone für Distributed Cloud Connected.
    • ENDPOINT_NAME: Ein aussagekräftiger Name für diesen Endpunkt.
    • ENDPOINT_ID: (optional) Eine eindeutige Kennung für diesen Endpunkt. Wird sie weggelassen, wird eine zufällige Kennung generiert.
  2. Modell bereitstellen:

    gcloud beta ai endpoints deploy-model ENDPOINT_ID \
      --display-name=ENDPOINT_NAME \
      --model=MODEL_PUBLIC_ID \
      --region=REGION
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_ID: die ID des Zielendpunkts.
    • ENDPOINT_NAME: der Name des Zielendpunkts.
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • MODEL_PUBLIC_ID: Die öffentlich zugängliche ID des Modells. Eine Liste der unterstützten Modelle finden Sie unter Unterstützte Modelle.
  3. Bereitgestellte Endpunkte auflisten:

    gcloud beta ai endpoints list \
      --project=PROJECT_ID \
      --region=REGION
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.

    Notieren Sie sich die ID des Zielendpunkts.

  4. Rufen Sie die Endpunktadresse ab:

    gcloud beta ai endpoints describe ENDPOINT_ID \
      --project=PROJECT_ID \
      --region=REGION
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_ID: die ID des Zielendpunkts.
    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
  5. Erstellen Sie das Dienstkonto für den Endpunkt in der Zielzone mit Verbindung zu Distributed Cloud:

    gcloud alpha zone-management service-accounts create SERVICE_ACCOUNT \
      --project PROJECT_ID \
      --location REGION \
      --zone ZONE
    

    Ersetzen Sie Folgendes:

    • SERVICE_ACCOUNT: ein aussagekräftiger Name, der dieses Dienstkonto eindeutig identifiziert.
    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • ZONE: die Zielzone für Distributed Cloud Connected.
  6. Rufen Sie die IAM-Richtlinie (Identity and Access Management) für die verbundene Zielzone von Distributed Cloud ab:

    gcloud alpha zone-management zones get-iam-policy ZONE \
      --project PROJECT_ID \
      --location REGION
    

    Ersetzen Sie Folgendes:

    • ZONE: die Zielzone für Distributed Cloud Connected.
    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
  7. Weisen Sie dem Dienstkonto die Rolle AI Platform Developer zu:

    gcloud alpha zone-management zones set-iam-policy POLICY_FILE \
      --project PROJECT_ID \
      --location REGION \
      --zone ZONE
    

    Ersetzen Sie Folgendes:

    • POLICY_FILE: JSON- oder YAML-Datei mit der Richtlinie für die Rollenzuweisung.
    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • ZONE: die Zielzone für Distributed Cloud Connected.

    Im Folgenden finden Sie ein Beispiel für eine Richtlinie im JSON-Format:

    "bindings": [
       {
          "role": "roles/aiplatform.geminiDeveloper",
          "members": [
          "serviceAccount": "projects/PROJECT_ID/locations/REGION/serviceAccounts/SERVICE_ACCOUNT"
          ]
       }
    ]
    "etag": ""
    

    Nachfolgend ein Beispiel für eine Richtlinie im YAML-Format:

    bindings:
    - role: roles/aiplatform.geminiDeveloper
    members:
    - serviceAccount: projects/PROJECT_ID/locations/REGION/serviceAccounts/SERVICE_ACCOUNT
    etag: ""
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • SERVICE_ACCOUNT: ein aussagekräftiger Name, der dieses Dienstkonto eindeutig identifiziert.
  8. Erstellen Sie einen Schlüssel für das Dienstkonto:

    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
    

    Ersetzen Sie Folgendes:

    • SA_KEY_FILE: Datei, in der der generierte Dienstkontoschlüssel gespeichert werden soll.
    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • CA_CERTIFICATE_FILE: die CA-Zertifikatsdatei, die Sie zuvor erstellt haben.
  9. Rufen Sie die vollständig qualifizierte URL des Endpunkts ab:

    gcloud beta ai endpoints describe ENDPOINT_ID \
      --project=PROJECT_ID \
      --region=REGION
    
  10. Geben Sie das Identitätstoken für das Dienstkonto aus:

    gcloud alpha zone-management auth print-identity-token \
      --cred-file=SA_KEY_FILE \
      --audience=ENDPOINT_URL
    

    Ersetzen Sie Folgendes:

    • SA_KEY_FILE: die Dienstkonto-Schlüsseldatei, die Sie zuvor erstellt haben.
    • ENDPOINT_URL: die vollständig qualifizierte URL des Endpunkts, einschließlich des TLD-Suffixes.

Bereitgestellte Gemini on GDC-API-Endpunkte auflisten

So listen Sie Ihre bereitgestellten API-Endpunkte für Gemini auf GDC auf:

gcloud beta ai endpoints list \
    --project=PROJECT_ID \
    --region=REGION \
    --gdc-zone=ZONE

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Zielprojekts Google Cloud .
  • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
  • ZONE: die Zielzone für Distributed Cloud Connected.

Informationen zu einem Gemini on GDC Connected API-Endpunkt abrufen

So rufen Sie Informationen zu einem bereitgestellten API-Endpunkt ab, der mit Gemini auf GDC verbunden ist:

gcloud beta ai endpoints describe ENDPOINT_ID \
    --project=PROJECT_ID \
    --region=REGION
   

Ersetzen Sie Folgendes:

  • ENDPOINT_ID: die ID des Zielendpunkts.
  • PROJECT_ID: die ID des Zielprojekts Google Cloud .
  • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.

Mit einem Gemini on Google Distributed Cloud Edge-API-Endpunkt interagieren

Ihr Gemini on GDC-API-Endpunkt unterstützt die Interaktion über die ChatCompletions API und die ListAvailableModels API. Mit diesen APIs können Sie programmatisch mit Ihrem Endpunkt interagieren.

Hier ist ein Beispiel für eine Anfrage über die ChatCompletions API. Das in dieser Anfrage generierte Bearer-Token ist 12 Stunden lang gültig.

  1. Legen Sie die folgenden Variablen in Ihrer Shell-Umgebung fest:

    MODEL_NAME="gemini-2.0-flash-001"
    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"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Zielprojekts Google Cloud .
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • SA_KEY_FILE: die Dienstkonto-Schlüsseldatei, die Sie zuvor erstellt haben.
  2. Geben Sie das Inhabertoken aus:

    BEARER_TOKEN=$(gcloud alpha zone-management auth print-identity-token --cred-file="${CRED_FILE}" --audience="https://${IG_FQDN}")
    echo $BEARER_TOKEN
    
  3. Nutzlast erstellen:

    REQUEST_BODY=$(cat <<EOF
    {
    "model": "${MODEL_NAME}",
    "messages": [
       {
          "role": "system",
          "content": "Pizza for everyone!"
       },
       {
          "role": "user",
          "content": "${USER_CONTENT}"
       }
    ],
    "stream": false
    }
    EOF
    )
    
  4. Senden Sie die Anfrage an den Endpunkt:

    curl -X POST \
    "${API_ENDPOINT}" \
    -d "${REQUEST_BODY}" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${BEARER_TOKEN}" \
    -H "x-goog-user-project: projects/${PROJECT}"
    

Beispiel für eine multimodale ChatCompletions API-Anfrage

Das Folgende ist ein Beispiel für eine multimodale ChatCompletions-API-Anfragenutzlast mit einem Dokument als Eingabe:

  1. Nutzlast erstellen:

    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
    
    )
    
  2. Senden Sie die Anfrage an den Endpunkt:

    curl -X POST \
    "${API_ENDPOINT}" \
    -d "${REQUEST_BODY}" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${BEARER_TOKEN}" \
    -H "x-goog-user-project: projects/${PROJECT}"
    

Beispiel für eine ListAllAvailableModels-API-Anfrage

Das folgende Beispiel zeigt eine ListAllAvailableModels-API-Anfrage:

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

Gemini on Google Distributed Cloud Connected-API-Endpunkt löschen

So löschen Sie einen API-Endpunkt, der mit Gemini auf GDC verbunden ist:

  1. Heben Sie die Bereitstellung des Modells auf:

    gcloud beta ai endpoints undeploy-model ENDPOINT_ID \
      --region=REGION \
      --gdc-zone=ZONE \
      --model=MODEL_PUBLIC_ID
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_ID: die ID des Zielendpunkts.
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.
    • ZONE: die Zielzone für Distributed Cloud Connected.
    • MODEL_PUBLIC_ID: Die öffentliche ID des Modells. Eine Liste der unterstützten Modelle finden Sie unter Unterstützte Modelle.
  2. Löschen Sie den Endpunkt:

    gcloud beta ai endpoints delete ENDPOINT_ID \
       --project=PROJECT_ID \
       --region=REGION
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_ID: die ID des Zielendpunkts.
    • PROJECT_ID: der Name des Zielendpunkts.
    • REGION: die Google Cloud Region, in der die Zielzone für Distributed Cloud Connected erstellt wurde.

Fehlerbehebung bei Endpunkten

Wenn ein API-Endpunkt, der mit Gemini auf GDC verbunden ist, nicht mehr funktioniert, wenden Sie sich zur Fehlerbehebung an Ihren Google-Ansprechpartner.