Menggunakan akun layanan lintas project
Dokumen ini menjelaskan cara menggunakan akun layanan lintas project saat membuat VM TPU. Akun layanan lintas project adalah akun layanan yang berada di project yang berbeda dengan VM TPU.
Petunjuk ini tidak mencakup pertimbangan untuk VPC Bersama atau Kontrol Layanan VPC. Konfigurasi atau izin tambahan mungkin diperlukan untuk mendukung penggunaannya. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengubah jaringan VPC Bersama dan Ringkasan Kontrol Layanan VPC.
Sebelum memulai
- Buat dua Google Cloud project. Satu untuk berisi VM TPU (
TPU_PROJECT) dan satu lagi untuk berisi akun layanan (SERVICE_PROJECT). Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola project. - Buat akun layanan di
SERVICE_PROJECT. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola akun layanan. - Buat jaringan dan aktifkan Akses Google Pribadi. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola jaringan dan Mengonfigurasi Akses Google Pribadi untuk alamat IP internal.
- Nonaktifkan kebijakan organisasi berikut. Untuk mengetahui informasi selengkapnya, lihat
Batasan kebijakan organisasi.
constraints/iam.disableCrossProjectServiceAccountUsagedi kedua projectconstraints/compute.vmExternalIpAccess(untuk mengakses VM dengan SSH, opsional)
Menetapkan izin IAM
Berikan peran Service Account User ke akun pengguna Anda agar dapat melampirkan akun layanan ke instance VM.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_EMAIL \ --project=SERVICE_PROJECT_ID \ --member=user:USER_EMAIL \ --role=roles/iam.serviceAccountUserGanti placeholder berikut:
SERVICE_ACCOUNT_EMAIL: Alamat email akun layanan.SERVICE_PROJECT_ID: ID project yang berisi akun layanan.USER_EMAIL: Alamat email akun pengguna.
Jika workload Anda berjalan di container Docker, berikan akses Agen Layanan Compute Engine ke server metadata.
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_EMAIL \ --project=SERVICE_PROJECT_ID \ --role=roles/iam.serviceAccountTokenCreator \ --member=serviceAccount:service-TPU_PROJECT_ID@compute-system.iam.gserviceaccount.comGanti placeholder berikut:
SERVICE_ACCOUNT_EMAIL: Alamat email akun layanan.SERVICE_PROJECT_ID: ID project yang berisi akun layanan.TPU_PROJECT_ID: ID project yang berisi VM TPU.
Buat VM TPU di project TPU
Buat VM TPU di project TPU menggunakan akun layanan di project layanan.
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--service-account=SERVICE_ACCOUNT_EMAIL \
--project=TPU_PROJECT_ID \
--zone=ZONE \
--maintenance-policy=TERMINATE
Ganti placeholder berikut:
TPU_NAME: Nama VM TPU.MACHINE_TYPE: Jenis mesin.IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Untuk menginstal versi OS tertentu, gunakan flag--image.IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalahubuntu-os-accelerator-images.SERVICE_ACCOUNT_EMAIL: Alamat email akun layanan.TPU_PROJECT_ID: ID project yang berisi VM TPU.ZONE: Zona VM TPU.