本頁說明如何建立及管理 Google Distributed Cloud Connected API 端點上的 Gemini。
本文假設您已按照安裝需求所述,成功部署 Google 認證硬體。
必要條件
本節說明部署 Gemini on GDC 連線 API 端點前,必須完成的一次性步驟。
授予必要角色
您必須設定下列必要角色:
如要管理 Gemini on GDC 連線 API 部署作業,請為相關帳戶授予「Distributed Cloud Edge Container API 角色和權限」中列出的角色。
如要透過 GDC 連線的 API 端點與 Gemini 互動,請為帳戶授予「Vertex AI API 角色和權限」一文列出的角色。
取得目標 Distributed Cloud connected 可用區的相關資訊
如要取得目標 Distributed Cloud connected 可用區的名稱,請按照下列步驟操作:
取得目標 Google Cloud 機構 ID 的名稱:
gcloud organizations list
列出機構中的 Distributed Cloud connected 可用區: Google Cloud
gcloud alpha zone-management zones list \ --organization ORGANIZATION_ID \ --location REGION
更改下列內容:
ORGANIZATION_ID:目標 Google Cloud 機構的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。公開測試期間,系統僅支援us-west2區域。
取得目標區域的詳細資訊:
gcloud alpha zone-management zones describe ZONE \ --organization ORGANIZATION_ID \ --location REGION
更改下列內容:
ZONE:目標 Distributed Cloud connected 區域。ORGANIZATION_ID:目標 Google Cloud 機構的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。公開測試期間,系統僅支援us-west2區域。
取得 Distributed Cloud connected 可用區中通過認證的機器相關資訊
如要取得 Distributed Cloud connected 可用區中目標認證機器的名稱,請按照下列步驟操作:
如「列出可用區中的機器」一文所述,列出目標 Distributed Cloud connected 可用區中的 Distributed Cloud connected 機器。
如「取得機器相關資訊」一文所述,取得目標機器的詳細資訊。
啟用本機 AI Platform API 和 Vertex AI API 服務
在目標 Distributed Cloud connected 可用區中啟用目標 Google Cloud 專案:
gcloud alpha zone-management projects enable PROJECT_ID \ --organization ORGANIZATION_ID \ --location REGION \ --zone ZONE
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。ORGANIZATION_ID:目標 Google Cloud 機構的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE:目標 Distributed Cloud connected 區域。
在目標 Google Cloud 專案中啟用 AI Platform 服務:
gcloud services enable aiplatform.googleapis.com --project PROJECT_ID
將
PROJECT_ID替換為目標專案的 ID。 Google Cloud在 Distributed Cloud 連線區域啟用 Vertex AI API 服務:
gcloud alpha zone-management services enable vertex --project PROJECT_ID \ --location REGION \ --zone ZONE
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE:目標 Distributed Cloud connected 區域。
設定端點以進行 DNS 解析
取得目標 Distributed Cloud 連線區域的代管 DNS 位址、頂層網域 (TLD) 和憑證授權單位 (CA) 憑證:
gcloud alpha zone-management zones describe ZONE \ --organization ORGANIZATION_ID \ --location REGION
更改下列內容:
ORGANIZATION_ID:目標 Google Cloud 機構的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE:目標 Distributed Cloud connected 區域。
以下範例說明這項指令的輸出內容:
-----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將憑證儲存到名為
CA_CERTIFICATE_FILE的檔案。您稍後會使用這個檔案產生服務帳戶金鑰。為端點建立 DNS 設定,步驟如下:
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
更改下列內容:
DNS_SERVER_ADDRESS:DNS 伺服器的 IP 位址。TOP_LEVEL_DOMAIN:端點的頂層網域。
部署 Gemini on GDC 連線 API 端點
如要部署 Gemini on GDC 連線 API 端點,請按照下列步驟操作:
建立端點:
gcloud beta ai endpoints create \ --project=PROJECT_ID \ --region=REGION \ --gdc-zone=ZONE \ --display-name=ENDPOINT_NAME \ --endpoint-id=ENDPOINT_ID
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE:目標 Distributed Cloud connected 區域。ENDPOINT_NAME:這個端點的易記名稱。ENDPOINT_ID:(選用) 這個端點的專屬 ID。 如省略此欄位,系統會產生隨機 ID。
部署模型:
gcloud beta ai endpoints deploy-model ENDPOINT_ID \ --display-name=ENDPOINT_NAME \ --model=MODEL_PUBLIC_ID \ --region=REGION
更改下列內容:
ENDPOINT_ID:目標端點的 ID。ENDPOINT_NAME:目標端點的名稱。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。MODEL_PUBLIC_ID:模型的公開 ID。如需支援的型號清單,請參閱「支援的型號」。
列出已部署的端點:
gcloud beta ai endpoints list \ --project=PROJECT_ID \ --region=REGION
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。
記下目標端點的 ID。
取得端點位址:
gcloud beta ai endpoints describe ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
更改下列內容:
ENDPOINT_ID:目標端點的 ID。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。
在目標 Distributed Cloud 連線區域中,為端點建立服務帳戶:
gcloud alpha zone-management service-accounts create SERVICE_ACCOUNT \ --project PROJECT_ID \ --location REGION \ --zone ZONE
更改下列內容:
SERVICE_ACCOUNT:可唯一識別這個服務帳戶的有意義名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE:目標 Distributed Cloud connected 區域。
取得目標 Distributed Cloud 連線區域的身分與存取權管理政策:
gcloud alpha zone-management zones get-iam-policy ZONE \ --project PROJECT_ID \ --location REGION
更改下列內容:
ZONE:目標 Distributed Cloud connected 區域。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。
將 AI Platform 開發人員角色指派給服務帳戶:
gcloud alpha zone-management zones set-iam-policy POLICY_FILE \ --project PROJECT_ID \ --location REGION \ --zone ZONE
更改下列內容:
POLICY_FILE:包含角色指派政策的 JSON 或 YAML 檔案。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE:目標 Distributed Cloud connected 區域。
以下是 JSON 格式的政策範例:
"bindings": [ { "role": "roles/aiplatform.geminiDeveloper", "members": [ "serviceAccount": "projects/PROJECT_ID/locations/REGION/serviceAccounts/SERVICE_ACCOUNT" ] } ] "etag": ""以下是 YAML 格式的政策範例:
bindings: - role: roles/aiplatform.geminiDeveloper members: - serviceAccount: projects/PROJECT_ID/locations/REGION/serviceAccounts/SERVICE_ACCOUNT etag: ""
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。SERVICE_ACCOUNT:可明確識別這個服務帳戶的名稱。
產生服務帳戶金鑰:
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
更改下列內容:
SA_KEY_FILE:用於儲存產生的服務帳戶金鑰的檔案。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。CA_CERTIFICATE_FILE:您先前建立的 CA 憑證檔案。
取得端點的完整網址:
gcloud beta ai endpoints describe ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
列印服務帳戶的 ID 權杖:
gcloud alpha zone-management auth print-identity-token \ --cred-file=SA_KEY_FILE \ --audience=ENDPOINT_URL
更改下列內容:
SA_KEY_FILE:您先前建立的服務帳戶金鑰檔案。ENDPOINT_URL:端點的完整網址,包括頂層網域尾碼。
列出 GDC 連線 API 端點上部署的 Gemini
如要列出 GDC 連線 API 端點上部署的 Gemini,請按照下列步驟操作:
gcloud beta ai endpoints list \
--project=PROJECT_ID \
--region=REGION \
--gdc-zone=ZONE
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE:目標 Distributed Cloud connected 區域。
取得 Gemini on GDC connected API 端點的相關資訊
如要取得已部署的 Gemini on GDC 連線 API 端點相關資訊,請按照下列步驟操作:
gcloud beta ai endpoints describe ENDPOINT_ID \
--project=PROJECT_ID \
--region=REGION
更改下列內容:
ENDPOINT_ID:目標端點的 ID。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。
與 Google Distributed Cloud connected API 端點上的 Gemini 互動
Gemini on GDC 連線 API 端點支援透過 ChatCompletions API 和 ListAvailableModels API 互動。使用這些 API 以程式輔助方式與端點互動。
以下是透過 ChatCompletions API 提出的要求範例。這項要求產生的不記名權杖有效期限為 12 小時。
在 Shell 環境中設定下列變數:
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"更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。SA_KEY_FILE:您先前建立的服務帳戶金鑰檔案。
列印不記名憑證:
BEARER_TOKEN=$(gcloud alpha zone-management auth print-identity-token --cred-file="${CRED_FILE}" --audience="https://${IG_FQDN}") echo $BEARER_TOKEN建構酬載:
REQUEST_BODY=$(cat <<EOF { "model": "${MODEL_NAME}", "messages": [ { "role": "system", "content": "Pizza for everyone!" }, { "role": "user", "content": "${USER_CONTENT}" } ], "stream": false } EOF )將要求傳送至端點:
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}"
多模態 ChatCompletions API 要求範例
以下是多模態 ChatCompletions API 要求酬載的範例,其中以文件做為輸入內容:
建構酬載:
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 )將要求傳送至端點:
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}"
ListAllAvailableModels API 要求範例
以下是 ListAllAvailableModels API 要求的範例:
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 端點
如要刪除 Gemini on GDC 連線 API 端點,請按照下列步驟操作:
取消部署模型:
gcloud beta ai endpoints undeploy-model ENDPOINT_ID \ --region=REGION \ --gdc-zone=ZONE \ --model=MODEL_PUBLIC_ID
更改下列內容:
ENDPOINT_ID:目標端點的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE:目標 Distributed Cloud connected 區域。MODEL_PUBLIC_ID:模型的公開 ID。如需支援的型號清單,請參閱「支援的型號」。
刪除端點:
gcloud beta ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
更改下列內容:
ENDPOINT_ID:目標端點的 ID。PROJECT_ID:目標端點的名稱。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。
排解端點問題
如果 Gemini on GDC 連線的 API 端點發生故障,請與 Google 代表聯絡,以進行疑難排解。