Menggunakan akun layanan lintas project
Dokumen ini menguraikan cara menggunakan akun layanan lintas project saat membuat VM TPU. Akun layanan lintas project adalah akun layanan yang berada di project yang berbeda dengan TPU VM.
Perhatikan bahwa petunjuk berikut tidak mempertimbangkan 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)
Menentukan variabel lingkungan
export TPU_PROJECT_ID=tpu-project-id export SERVICE_PROJECT_ID=service-project-id export SERVICE_ACCOUNT_EMAIL=your_service_account@$(SERVICE_PROJECT_ID).iam.gserviceaccount.com export ZONE=your-zone export TPU_NAME=your-tpu-name export NETWORK=your-network export SUBNET=your-subnet
Menetapkan izin IAM
Izinkan akun layanan Anda menggunakan peran Agen Layanan TPU di
tpu_project.gcloud projects add-iam-policy-binding ${TPU_PROJECT_ID} \ --member=serviceAccount:${SERVICE_ACCOUNT_EMAIL} \ --role=roles/cloudtpu.serviceAgent
Tambahkan peran serviceAccountUser ke Agen Layanan TPU.
gcloud projects add-iam-policy-binding $SERVICE_PROJECT_ID \ --member=serviceAccount:service-$TPU_PROJECT_ID@gcp-sa-tpu.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountUser
Jika workload Anda berjalan di container Docker, izinkan Agen Layanan Compute Engine mengakses server metadata.
gcloud iam service-accounts add-iam-policy-binding \ --project $SERVICE_PROJECT_ID $SERVICE_ACCOUNT_EMAIL \ --role roles/iam.serviceAccountTokenCreator \ --member serviceAccount:service-$TPU_PROJECT_ID@compute-system.iam.gserviceaccount.com
Buat VM TPU di tpu_project
Buat VM TPU di tpu_project menggunakan akun layanan di service_project.
gcloud alpha compute tpus tpu-vm create $TPU_NAME \ --description=$TPU_NAME \ --accelerator-type=v5litepod-8 \ --version=tpu-vm-tf-2.17.0-pod \ --network=projects/$PROJECT_A/global/networks/$NETWORK \ --subnetwork=$SUBNET \ --internal-ips \ --service-account=$SERVICE_ACCOUNT_EMAIL \ --project=$TPU_PROJECT_ID \ --zone=$ZONE