本頁說明如何建立及管理 Google Distributed Cloud Connected API 端點上的 Gemini。
本文假設您已按照安裝需求所述,成功部署 Google 認證硬體。
必要條件
本節說明您必須完成的一次性步驟,才能在 GDC 連線 API 端點上部署 Gemini。
啟用必要的 API
您必須在目標 Google Cloud 專案中啟用下列 API:
aiplatform.googleapis.com
anthos.googleapis.com
anthosaudit.googleapis.com
anthosgke.googleapis.com
cloudresourcemanager.googleapis.com
connectgateway.googleapis.com
compute.googleapis.com
container.googleapis.com
edgecontainer.googleapis.com
gdchardwaremanagement.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
gkeonprem.googleapis.com
iam.googleapis.com
iamcredentials.googleapis.com
kubernetesmetadata.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
multiclustermetering.googleapis.com
opsconfigmonitoring.googleapis.com
oslogin.googleapis.com
serviceusage.googleapis.com
stackdriver.googleapis.com
storage.googleapis.com
sts.googleapis.com
如要瞭解如何啟用 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 connected 可用區中啟用目標 Google Cloud 專案:
gcloud 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 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 ai endpoints create \ --project=PROJECT_ID \ --region=REGION \ --gdc-zone=ZONE \ --display_name=ENDPOINT_NAME
更改下列內容:
PROJECT_ID
:目標 Google Cloud 專案的 ID。REGION
:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE
:目標 Distributed Cloud connected 區域。ENDPOINT_NAME
:可清楚識別這個端點的有意義名稱。
部署模型:
gcloud ai endpoints deploy-model ENDPOINT_NAME \ --region=REGION \ --gdc-zone=ZONE \ --model=MODEL_PUBLIC_ID
更改下列內容:
ENDPOINT_NAME
:目標端點的名稱。REGION
:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE
:目標 Distributed Cloud connected 區域。MODEL_PUBLIC_ID
:模型公開 ID。如需支援的型號清單,請參閱「支援的型號」。
取得端點位址:
gcloud ai endpoints describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION
更改下列內容:
ENDPOINT_NAME
:目標端點的名稱。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
如要列出 GDC 連線 API 端點上部署的 Gemini,請按照下列步驟操作:
gcloud 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 connected API 端點相關資訊,請按照下列步驟操作:
gcloud ai endpoints describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION
更改下列內容:
ENDPOINT_NAME
:目標端點的名稱。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 提出的要求範例:
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 ai endpoints undeploy-model ENDPOINT_NAME \ --region=REGION \ --gdc-zone=ZONE \ --model=MODEL_PUBLIC_ID
更改下列內容:
ENDPOINT_NAME
:目標端點的名稱。REGION
:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。ZONE
:目標 Distributed Cloud connected 區域。MODEL_PUBLIC_ID
:模型公開 ID。如需支援的型號清單,請參閱「支援的型號」。
刪除端點:
gcloud ai endpoints delete ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION
更改下列內容:
PROJECT_ID
:目標端點的名稱。REGION
:已建立目標 Distributed Cloud connected 區域的 Google Cloud 區域。