Halaman ini menjelaskan cara membuat dan mengelola endpoint API yang terhubung ke Gemini di Google Distributed Cloud.
Dokumen ini mengasumsikan bahwa Anda telah berhasil men-deploy hardware bersertifikasi Google seperti yang dijelaskan dalam Persyaratan penginstalan.
Prasyarat
Bagian ini menjelaskan langkah-langkah sekali saja yang harus Anda selesaikan sebelum dapat men-deploy Gemini di endpoint API yang terhubung ke GDC.
Mengaktifkan API yang diperlukan
Anda harus mengaktifkan API berikut di target Google Cloud project:
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
Untuk mengetahui informasi tentang cara mengaktifkan API, lihat Mengaktifkan layanan.
Memberikan peran yang diperlukan
Anda harus mengonfigurasi peran wajib berikut:
Untuk akun yang digunakan untuk mengelola deployment API yang terhubung dengan Gemini di GDC, berikan peran yang tercantum dalam Peran dan izin Distributed Cloud Edge Container API.
Untuk akun yang digunakan untuk berinteraksi dengan Gemini di endpoint API yang terhubung ke GDC, berikan peran yang tercantum dalam Peran dan izin Vertex AI API.
Mendapatkan informasi tentang zona target Distributed Cloud terhubung
Untuk mendapatkan nama zona target yang terhubung ke Distributed Cloud, lakukan hal berikut:
Buat daftar zona yang terhubung Distributed Cloud di project Google Cloud Anda seperti yang dijelaskan dalam Membuat daftar zona.
Dapatkan informasi mendetail tentang zona target seperti yang dijelaskan dalam Mendapatkan informasi tentang zona.
Mendapatkan informasi tentang mesin bersertifikasi di zona Distributed Cloud terhubung Anda
Untuk mendapatkan nama mesin bersertifikasi target di zona yang terhubung ke Distributed Cloud, lakukan hal berikut:
Mencantumkan mesin yang terhubung ke Distributed Cloud di zona yang terhubung ke Distributed Cloud target seperti yang dijelaskan dalam Mencantumkan mesin dalam zona.
Dapatkan informasi mendetail tentang mesin target seperti yang dijelaskan dalam Mendapatkan informasi tentang mesin.
Aktifkan layanan AI Platform API dan Vertex AI API lokal
Aktifkan project Google Cloud target di zona yang terhubung dengan Distributed Cloud target Anda:
gcloud zone-management projects enable PROJECT_ID \ --organization ORGANIZATION_ID \ --location REGION \ --zones ZONE
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud target.ORGANIZATION_ID
: ID organisasi Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.
Aktifkan layanan AI Platform di target Google Cloud project:
gcloud services enable aiplatform.googleapis.com --project PROJECT_ID
Ganti
PROJECT_ID
dengan ID project Google Cloud target.Aktifkan layanan Vertex AI API di zona yang terhubung dengan Distributed Cloud:
gcloud zone-management services enable vertex --project PROJECT_ID \ --location REGION \ --zones ZONE
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.
Mengonfigurasi endpoint untuk resolusi DNS
Dapatkan alamat DNS terkelola, domain level teratas (TLD), dan sertifikat Certificate Authority (CA) untuk target zona yang terhubung ke Distributed Cloud:
gcloud alpha zone-management zones describe ZONE \ --organization ORGANIZATION_ID \ --location REGION
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasi Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.
Contoh berikut menggambarkan output perintah ini:
-----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
Simpan sertifikat ke dalam file. Anda akan menggunakan file ini di langkah berikutnya.
Buat konfigurasi DNS untuk endpoint sebagai berikut:
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
Ganti kode berikut:
DNS_SERVER_ADDRESS
: alamat IP server DNS Anda.TOP_LEVEL_DOMAIN
: domain level teratas untuk endpoint.
Men-deploy endpoint API yang terhubung dengan Gemini di GDC
Untuk men-deploy endpoint API yang terhubung ke Gemini di GDC, lakukan hal berikut:
Buat endpoint:
gcloud ai endpoints create \ --project=PROJECT_ID \ --region=REGION \ --gdc-zone=ZONE \ --display_name=ENDPOINT_NAME
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.ENDPOINT_NAME
: nama bermakna yang mengidentifikasi endpoint ini secara unik.
Deploy model:
gcloud ai endpoints deploy-model ENDPOINT_NAME \ --region=REGION \ --gdc-zone=ZONE \ --model=MODEL_PUBLIC_ID
Ganti kode berikut:
ENDPOINT_NAME
: nama endpoint target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.MODEL_PUBLIC_ID
: ID model yang ditampilkan secara publik. Untuk mengetahui daftar model yang didukung, lihat Model yang didukung.
Dapatkan alamat endpoint:
gcloud ai endpoints describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION
Ganti kode berikut:
ENDPOINT_NAME
: nama endpoint target.PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.
Buat akun layanan untuk endpoint di zona yang terhubung dengan Distributed Cloud target:
gcloud alpha zone-management service-accounts create SERVICE_ACCOUNT \ --project PROJECT_ID \ --location REGION \ --zone ZONE
Ganti kode berikut:
SERVICE_ACCOUNT
: nama yang bermakna yang mengidentifikasi akun layanan ini secara unik.PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.
Dapatkan kebijakan Identity and Access Management untuk zona yang terhubung Distributed Cloud target:
gcloud alpha zone-management zones get-iam-policy ZONE \ --project PROJECT_ID \ --location REGION
Ganti kode berikut:
ZONE
: zona target Distributed Cloud Connected.PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.
Tetapkan peran AI Platform Developer ke akun layanan:
gcloud alpha zone-management zones set-iam-policy
\ --project PROJECT_ID \ --location REGION \ --zone ZONE Ganti kode berikut:
POLICY_FILE
: File JSON atau YAML yang berisi kebijakan penetapan peran.PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.
Berikut adalah contoh kebijakan dalam format JSON:
"bindings": [ { "role": "roles/aiplatform.geminiDeveloper", "members": [ "serviceAccount": "projects/my-project/locations/my-region/serviceAccounts/my-service-account" ] } ], "etag": ""
Berikut adalah contoh kebijakan dalam format YAML:
bindings: - role: roles/aiplatform.geminiDeveloper members: - serviceAccount: projects/my-project/locations/my-region/serviceAccounts/my-service-account etag: ""
Buat kunci untuk akun layanan:
gcloud alpha zone-management service-accounts keys create
\ --service-account \ --project \ --location \ --ca-cert-path Ganti kode berikut:
SA_KEY_FILE
: file tempat menyimpan kunci akun layanan yang dibuat.PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.CA_CERTIFICATE_FILE
: file sertifikat CA yang Anda buat sebelumnya.
Cetak token identitas untuk akun layanan:
gcloud alpha zone-management auth print-identity-token \ --cred-file=SA_CREDENTIAL_FILE \ --audience=ENDPOINT_URL
Ganti kode berikut:
SA_KEY_FILE
: file kunci akun layanan yang Anda buat sebelumnya.ENDPOINT_URL
: URL endpoint yang sepenuhnya memenuhi syarat, termasuk akhiran TLD.
Mencantumkan endpoint API yang terhubung ke GDC dengan Gemini yang di-deploy
Untuk mencantumkan Gemini yang di-deploy di endpoint API yang terhubung ke GDC, lakukan hal berikut:
gcloud ai endpoints list \ --project=PROJECT_ID \ --region=REGION \ --gdc-zone=ZONE
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.
Mendapatkan informasi tentang endpoint API Gemini di GDC terhubung
Untuk mendapatkan informasi tentang endpoint API yang terhubung dengan Gemini yang di-deploy di GDC, lakukan hal berikut:
gcloud ai endpoints describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION
Ganti kode berikut:
ENDPOINT_NAME
: nama endpoint target.PROJECT_ID
: ID project Google Cloud target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.
Berinteraksi dengan endpoint API Gemini di Google Distributed Cloud terhubung
Endpoint API Gemini di GDC yang terhubung mendukung interaksi melalui API ChatCompletions
dan API ListAvailableModels
. Gunakan API ini untuk berinteraksi dengan endpoint Anda secara terprogram.
Berikut adalah contoh permintaan melalui 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}"
Berikut adalah contoh permintaan multimodal Chat Completions API dengan dokumen sebagai input:
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}"'"
}
}
]
}
]
}
Berikut adalah contoh permintaan API ListAllAvailableModels:
# 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
Untuk mengetahui informasi selengkapnya tentang workload yang cocok untuk Gemini di API Google Distributed Cloud terhubung, lihat Ringkasan Gemini.
Menghapus endpoint API Gemini on Google Distributed Cloud terhubung
Untuk menghapus endpoint API yang terhubung ke Gemini di GDC, lakukan hal berikut:
Batalkan deployment model:
gcloud ai endpoints undeploy-model ENDPOINT_NAME \ --region=REGION \ --gdc-zone=ZONE \ --model=MODEL_PUBLIC_ID
Ganti kode berikut:
ENDPOINT_NAME
: nama endpoint target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.ZONE
: zona target Distributed Cloud Connected.MODEL_PUBLIC_ID
: ID model yang ditampilkan secara publik. Untuk mengetahui daftar model yang didukung, lihat Model yang didukung.
Hapus endpoint:
gcloud ai endpoints delete ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION
Ganti kode berikut:
PROJECT_ID
: nama endpoint target.REGION
: Google Cloud region tempat zona Distributed Cloud terhubung target dibuat.
Memecahkan masalah endpoint
Jika endpoint API Gemini di GDC yang terhubung tidak berfungsi, hubungi perwakilan Google Anda untuk memecahkan masalah tersebut.