本頁說明如何建立及管理 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 可用區的名稱,請按照下列步驟操作:
取得 Distributed Cloud connected 可用區中通過認證的機器相關資訊
如要取得 Distributed Cloud connected 可用區中目標認證機器的名稱,請按照下列步驟操作:
如「列出可用區中的機器」一文所述,列出目標 Distributed Cloud connected 可用區中的 Distributed Cloud connected 機器。
如「取得機器相關資訊」一文所述,取得目標機器的詳細資訊。
啟用本機 AI Platform API 和 Vertex AI API 服務
在目標 Distributed Cloud 連線區域中啟用目標 Google Cloud 專案:
gcloud alpha zone-management projects enable PROJECT_ID \ --organization ORGANIZATION_ID \ --location REGION \ --zones 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 \ --zones 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將憑證儲存至檔案。您將在後續步驟中使用這個檔案。
為端點建立 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 \ --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 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
\ --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/my-project/locations/my-region/serviceAccounts/my-service-account" ] } ], "etag": ""以下為 YAML 格式的範例政策:
bindings: - role: roles/aiplatform.geminiDeveloper members: - serviceAccount: projects/my-project/locations/my-region/serviceAccounts/my-service-account etag: ""產生服務帳戶金鑰:
gcloud alpha zone-management service-accounts keys create
\ --service-account \ --project \ --location \ --ca-cert-path 更改下列內容:
SA_KEY_FILE:用於儲存產生的服務帳戶金鑰的檔案。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。CA_CERTIFICATE_FILE:您先前建立的 CA 憑證檔案。
列印服務帳戶的 ID 權杖:
gcloud alpha zone-management auth print-identity-token \ --cred-file=SA_CREDENTIAL_FILE \ --audience=ENDPOINT_URL
更改下列內容:
SA_KEY_FILE:先前建立的服務帳戶金鑰檔案。ENDPOINT_URL:端點的完整網址,包括頂層網域尾碼。
列出 GDC 連線 API 端點上部署的 Gemini
如要列出已部署的 Gemini,請在 GDC 連線的 API 端點執行下列操作:
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 以程式輔助方式與端點互動。
以下是透過 Chat Completions API 發出的請求範例。這項要求產生的不記名權杖有效期限為 12 小時。
BEARER_TOKEN=$(gcloud alpha zone-management auth print-identity-token --cred-file="${CRED_FILE}" --audience="https://${IG_FQDN}" 2>/dev/null | xargs
API_ENDPOINT="https://${IG_FQDN}/v1/projects/${PROJECT}/locations/${LOCATION}/chat/completions"
FLOW_ID="gemini-2.0-flash-001"
REQUEST_BODY='{
> "model": "'${FLOW_ID}'",
> "messages": [
> {
> "role": "system",
> "content": "You are a helpful assistant."
> },
> {
> "role": "user",
> "content": "Hello!"
> }
> ],
}'
curl -X POST -vv -k \
"${API_ENDPOINT}" \
-d "${REQUEST_BODY}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${BEARER_TOKEN}" \
-H "x-goog-user-project: projects/${PROJECT}"
以下是多模態 Chat Completions API 要求範例,其中輸入內容為文件:
BASE64_IMAGE=$(base64 -w 0 sample-image.jpg)
{
"model": "gemini-1.5-flash-002",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What is this image?"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,'"${BASE64_IMAGE}"'"
}
}
]
}
]
}
以下是 ListAllAvailableModels API 要求的範例:
# The request body -d parameter is intentionally omitted.
grpcurl -insecure \
-H "Authorization: Bearer ${BEARER_TOKEN}" \
-H "x-goog-user-project: projects/${PROJECT}" \
"${IG_FQDN}:443" \
cloud.gdc.ai.inference.inferencegateway.GeminiMetadataService.ListAvailableModels
如要進一步瞭解適合 Gemini on Google Distributed Cloud connected API 的工作負載,請參閱「Gemini 總覽」。
刪除 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 代表聯絡,以進行疑難排解。