Operator workload dapat meneruskan opsi ke instance VM workload Confidential Space untuk menentukan perilakunya sebelum dijalankan. Meskipun beberapa flag memiliki nilai wajib yang tidak berubah, Anda tetap harus membuat pilihan berikut:
Apakah akan mendasarkan instance VM pada image Confidential Space produksi atau debug.
Apakah akan menggunakan AMD SEV, Intel TDX, atau Intel TDX dengan NVIDIA Confidential Computing untuk membantu menjaga privasi data workload Anda.
Variabel metadata VM yang perlu diteruskan, yang mencakup detail seperti image container workload yang akan dijalankan, layanan pengesahan yang akan digunakan, apakah akan mencatat log ke Cloud Logging, dan variabel lingkungan yang akan ditetapkan.
Akun layanan yang akan dipasang ke VM untuk menjalankan workload, dan izin yang diperlukan untuk mengakses data rahasia di project lain dan menulis hasilnya di suatu tempat.
Zona tempat instance VM harus dijalankan.
Berikut adalah contoh yang membuat Confidential VM, dan menjalankan container Docker bernama WORKLOAD_CONTAINER_NAME:
Workload berbasis CPU
gcloud compute instances create INSTANCE_NAME \
--confidential-compute-type=CONFIDENTIAL_COMPUTING_TECHNOLOGY \
--machine-type=MACHINE_TYPE_NAME \
--maintenance-policy=MAINTENANCE_POLICY \
--shielded-secure-boot \
--image-project=confidential-space-images \
--image-family=IMAGE_FAMILY \
--metadata="^~^tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest" \
--service-account=WORKLOAD_SERVICE_ACCOUNT_NAME@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com \
--scopes=cloud-platform \
--zone=ZONE_NAME \
--project=PROJECT_ID
Berikan nilai berikut:
INSTANCE_NAME: Nama instance VM baru.CONFIDENTIAL_COMPUTING_TECHNOLOGY: Jenis teknologi Confidential Computing yang akan digunakan. Pilih salah satu nilai berikut:SEVTDX
MACHINE_TYPE_NAME: Jenis mesin VM, misalnya,n2d-standard-2. Jenis mesin yang valid untuk instance Confidential VM ditentukan oleh teknologi Confidential Computing yang Anda pilih, baik AMD SEV maupun Intel TDX. Lihat Jenis mesin.MAINTENANCE_POLICY: Untuk jenis mesin N2D yang menggunakan SEV, tetapkan ini keMIGRATEuntuk dukungan migrasi langsung. Untuk semua jenis mesin lainnya, tetapkan nilai ini keTERMINATE, karena jenis mesin tersebut tidak mendukung migrasi langsung.IMAGE_FAMILY_NAME: Kelompok untuk image Confidential Space. Pilih salah satu opsi berikut:confidential-spaceuntuk workload produksiconfidential-space-debuguntuk workload debug
Variabel metadata tambahan, yang mengubah perilaku VM, termasuk layanan pengesahan yang akan digunakan.
WORKLOAD_AUTHOR_PROJECT: ID project yang menghosting repositori Artifact Registry tempat container workload disimpan.REPOSITORY_NAME: Nama repositori Artifact Registry tempat container workload disimpan.WORKLOAD_CONTAINER_NAME: Nama container workload.WORKLOAD_SERVICE_ACCOUNT_NAME: Nama akun layanan yang menjalankan workload.WORKLOAD_OPERATOR_PROJECT_ID: ID project yang menjalankan workload.ZONE_NAME: Zona tempat instance VM berjalan, misalnya,us-west1-b. Confidential Space memerlukan layanan berikut, yang tersedia di lokasi tertentu:Confidential VM, berdasarkan teknologi Confidential Computing yang digunakan
PROJECT_ID: Opsional. ID project tempat instance VM akan dibuat.
Workload berbasis GPU
Sebelum memulai
Confidential Space hanya mendukung Confidential Computing NVIDIA di GPU H100.
Untuk memastikan Anda memiliki kuota GPU yang cukup untuk resource yang Anda minta, periksa kuota GPU Anda. Untuk instance Confidential VM dengan GPU, minta kuota preemptible GPU untuk menggunakan resource tersebut. Saat meminta kuota GPU, Anda harus meminta kuota untuk model GPU yang ingin dibuat di setiap region, dan kuota global tambahan (
GPUs (all regions)) untuk jumlah total semua jenis GPU di semua region.Untuk memahami penggunaan kuota, baca VM GPU dan kuota alokasi preemptible.
Baca batasan untuk membuat permintaan perubahan ukuran di MIG.
Untuk menginstal driver yang diperlukan untuk Confidential Computing NVIDIA, Anda harus meneruskan variabel metadata
tee-install-gpu-driverdengan nilaitrue.Untuk driver NVIDIA dan toolkit CUDA, sebaiknya gunakan boot disk VM dengan ruang 30 GB atau lebih.
Untuk menggunakan aplikasi CUDA, library NVIDIA CUDA-X harus tersedia di image container yang Anda gunakan. Untuk menyertakan library, lakukan salah satu hal berikut:
Gunakan image container dengan library NVIDIA CUDA-X yang telah diinstal sebelumnya. Misalnya, Anda dapat menggunakan Deep Learning Containers Google untuk framework data science, library NVIDIA CUDA-X, dan alat tambahan yang telah diinstal sebelumnya. Atau, Anda dapat menggunakan image container CUDA NVIDIA hanya untuk library NVIDIA CUDA-X.
Buat dan gunakan image container Anda sendiri. Tetapkan variabel lingkungan
LD_LIBRARY_PATHke/usr/local/nvidia/lib64, yang harus berisi library NVIDIA CUDA-X dan driver perangkat.
Masalah umum
Saat menjalankan workload Confidential Space dengan GPU NVIDIA H100 terpasang, Anda mungkin melihat pesan error berikut:
failed to get launchspec, make sure you're running inside a GCE VM: GPU Driver installation is not supported.Ini adalah masalah umum pada image Confidential Space. Untuk mengatasi masalah ini, mulai ulang Confidential VM.
Men-deploy workload berbasis GPU
Untuk men-deploy workload berbasis GPU, Anda harus membuat instance Confidential VM menggunakan model penyediaan spot atau flex-start.
Spot
Untuk menggunakan model penyediaan spot, buat instance VM yang dioptimalkan akselerator.
gcloud compute instances create INSTANCE_NAME \
--provisioning-model=SPOT \
--confidential-compute-type=TDX \
--machine-type=a3-highgpu-1g \
--maintenance-policy=TERMINATE \
--shielded-secure-boot \
--image-project=confidential-space-images \
--image-family=IMAGE_FAMILY_NAME \
--metadata="^~^tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest~tee-install-gpu-driver=true" \
--service-account=WORKLOAD_SERVICE_ACCOUNT_NAME@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com \
--scopes=cloud-platform \
--boot-disk-size=30G \
--zone=ZONE_NAME \
--project=PROJECT_ID
Berikan nilai berikut:
INSTANCE_NAME: Nama instance VM baru.IMAGE_FAMILY_NAME: Kelompok untuk image Confidential Space. Pilih salah satu opsi berikut:confidential-spaceuntuk workload produksiconfidential-space-debuguntuk workload debug
Variabel metadata tambahan, yang mengubah perilaku VM, termasuk layanan pengesahan yang akan digunakan.
WORKLOAD_AUTHOR_PROJECT: Project ID tempat workload dijalankan.REPOSITORY_NAME: Nama repositori Artifact Registry.WORKLOAD_CONTAINER_NAME: Nama container workload.WORKLOAD_SERVICE_ACCOUNT_NAME: Nama akun layanan yang menjalankan workload.WORKLOAD_OPERATOR_PROJECT_ID: ID project yang menjalankan workload.ZONE_NAME: Salah satu zona yang mendukung Confidential Computing NVIDIA.PROJECT_ID: Opsional. ID project tempat instance VM akan dibuat.
Flex-start
Untuk menggunakan model penyediaan flex-start, buat template instance, diikuti dengan grup instance terkelola (MIG).
Buat template instance:
gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --provisioning-model=FLEX_START \ --confidential-compute-type=TDX \ --machine-type=a3-highgpu-1g \ --maintenance-policy=TERMINATE \ --shielded-secure-boot \ --image-project=confidential-space-images \ --image-family=IMAGE_FAMILY_NAME \ --metadata="^~^tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest~tee-install-gpu-driver=true" \ --service-account=WORKLOAD_SERVICE_ACCOUNT_NAME@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com \ --scopes=cloud-platform \ --boot-disk-size=30G \ --max-run-duration=RUN_DURATION \ --instance-termination-action=DELETE \ --project=PROJECT_IDBerikan nilai berikut:
INSTANCE_TEMPLATE_NAME: Nama template instance VM baru.IMAGE_FAMILY_NAME: Kelompok untuk image Confidential Space. Pilih salah satu opsi berikut:confidential-spaceuntuk workload produksiconfidential-space-debuguntuk workload debug
WORKLOAD_AUTHOR_PROJECT: Project ID tempat workload dijalankan.REPOSITORY_NAME: Nama repositori Artifact Registry.WORKLOAD_CONTAINER_NAME: Nama container workload.WORKLOAD_SERVICE_ACCOUNT_NAME: Nama akun layanan yang menjalankan workload.WORKLOAD_OPERATOR_PROJECT_ID: ID project yang menjalankan workload.RUN_DURATION: durasi yang Anda inginkan untuk menjalankan instance VM yang diminta. Anda harus memformat nilai sebagai jumlah hari, jam, menit, atau detik yang diikuti dengand,h,m, ataus. Misalnya, tentukan30mselama 30 menit atau1d2h3m4suntuk satu hari, dua jam, tiga menit, dan empat detik. Nilai harus antara 10 menit dan tujuh hari.PROJECT_ID: Opsional. ID project untuk membuat instance VM.
Buat MIG zona menggunakan perintah
instance-groups managed create:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE_NAME \ --default-action-on-vm-failure=do_nothingBerikan nilai berikut:
INSTANCE_GROUP_NAME: Nama MIG.INSTANCE_TEMPLATE_NAME: Nama template instance untuk VM GPU.ZONE_NAME: Salah satu zona yang mendukung Confidential Computing NVIDIA.
Di MIG, buat permintaan ubah ukuran. Tentukan jumlah instance VM GPU yang Anda inginkan, dan durasi untuk menjalankan instance VM tersebut.
gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE_NAMEBerikan nilai berikut:
INSTANCE_GROUP_NAME: Nama MIG.INSTANCE_TEMPLATE_NAME: Nama template instance untuk instance VM GPU.ZONE_NAME: Salah satu zona yang mendukung Confidential Computing NVIDIA.RESIZE_REQUEST_NAME: Nama permintaan pengubahan ukuran.COUNT: Jumlah instance VM yang akan ditambahkan sekaligus dalam grup.
Permintaan pengubahan ukuran yang Anda buat tetap dalam status
ACCEPTEDhingga MIG membuat semua instance VM GPU yang diminta. Setelah semua instance VM GPU dibuat dalam grup, status permintaan akan berubah menjadiSUCCEEDED.Jika resource yang tersedia cukup untuk permintaan ubah ukuran, instance VM akan ditambahkan ke MIG dan diluncurkan untuk menjalankan workload Anda. Untuk menampilkan daftar instance yang ada di MIG, jalankan perintah berikut:
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \ --zone=ZONE_NAME \ --project=PROJECT_IDBerikan nilai berikut:
INSTANCE_GROUP_NAME: Nama MIG.ZONE_NAME: Zona yang didukung untuk mendapatkan daftar instance VM.PROJECT_ID: Opsional. ID project untuk mendapatkan daftar instance VM.
Akun layanan terlampir
Akun layanan harus dilampirkan ke Confidential VM workload untuk menjalankan workload. Akun layanan harus disiapkan dengan cara berikut:
Dengan peran berikut:
roles/confidentialcomputing.workloadUseruntuk membuat token pengesahan.roles/artifactregistry.readeruntuk mengambil image container workload yang disimpan di Artifact Registry.roles/logging.logWriterjika Anda ingin mengalihkanSTDOUTdanSTDERRke Cloud Logging.
Dengan akses baca ke tempat kolaborator data menyimpan data rahasia mereka, misalnya, bucket Cloud Storage atau tabel BigQuery.
Dengan akses tulis ke tempat workload menghasilkan data, misalnya, bucket Cloud Storage. Kolaborator data harus memiliki akses baca ke lokasi ini.
Selain itu, kolaborator data dan operator workload perlu menyiapkan hal-hal berikut:
Jika kolaborator data menggunakan peniruan akun layanan, bukan akses resource langsung, mereka harus menambahkan akun layanan ke penyedia workload identity pool sebagai kondisi atribut:
'WORKLOAD_SERVICE_ACCOUNT_NAME@DATA_COLLABORATOR_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accountsOperator workload memerlukan peran
roles/iam.serviceAccountUseruntuk meniru identitas akun layanan. Dengan begitu, mereka dapat memasangnya ke instance VM workload sehingga dapat menjalankan workload.
Variabel metadata
Anda dapat mengubah perilaku VM workload Confidential Space dengan meneruskan variabel ke opsi --metadata saat membuat VM.
Untuk meneruskan beberapa variabel, tetapkan pemisah terlebih dahulu dengan mengawali nilai --metadata dengan ^~^. Tindakan ini akan menetapkan pembatas ke ~, karena , digunakan dalam nilai variabel.
Contoh:
metadata="^~^tee-restart-policy=Always~tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest"
Tabel berikut menjelaskan variabel metadata yang dapat Anda tetapkan untuk VM workload.
| Kunci metadata | Jenis | Deskripsi dan nilai |
|---|---|---|
|
Berinteraksi dengan:
|
String |
Wajib. Ini mengarah ke lokasi container workload. Contoh |
|
String |
Hanya diperlukan jika Anda menggunakan Intel Trust Authority sebagai layanan pengesahan. Tetapkan nilai ke kunci API Intel Trust Authority Anda. Lihat dokumentasi Intel untuk mengetahui cara membuat kunci API Intel Trust Authority. Intel Trust Authority mendukung instance VM Intel TDX yang secara opsional memiliki GPU NVIDIA H100. Jika GPU ada, buktinya juga akan diverifikasi. Contoh |
|
String |
Hanya diperlukan jika Anda menggunakan Intel Trust Authority sebagai layanan pengesahan. Tetapkan nilai ke region tempat Anda ingin Intel Trust Authority dijalankan. Region yang valid adalah:
Intel Trust Authority mendukung instance VM Intel TDX yang secara opsional memiliki GPU NVIDIA H100. Jika GPU ada, buktinya juga diverifikasi. Contoh |
|
Berinteraksi dengan:
|
Array string JSON |
Menambahkan kemampuan Linux tambahan ke container workload. Contoh |
|
Berinteraksi dengan:
|
Boolean |
Nilai defaultnya adalah Contoh |
|
Berinteraksi dengan:
|
Array string JSON |
Mengganti petunjuk
CMD yang ditentukan dalam Contoh |
|
Berinteraksi dengan:
|
Enumerasi |
Menghasilkan Nilai yang valid adalah:
Volume log yang tinggi di konsol serial dapat memengaruhi performa workload. Contoh |
|
|
Bilangan bulat |
Menetapkan ukuran dalam kB dari pemasangan memori bersama Contoh |
|
Berinteraksi dengan:
|
String |
Menetapkan variabel lingkungan dalam container workload. Pembuat workload juga harus menambahkan nama variabel lingkungan ke kebijakan peluncuran
Contoh |
|
Berinteraksi dengan:
|
String |
Daftar akun layanan yang dapat ditiru oleh operator workload. Operator workload harus diizinkan untuk meniru akun layanan. Beberapa akun layanan dapat dicantumkan, dipisahkan dengan koma. Contoh |
|
Berinteraksi dengan:
|
Boolean |
Apakah akan menginstal driver GPU Confidential Computing NVIDIA. Memerlukan jenis mesin yang mendukung NVIDIA Confidential Computing. Contoh |
|
Berinteraksi dengan:
|
Boolean |
Nilai defaultnya adalah Contoh |
|
Berinteraksi dengan:
|
String |
Daftar definisi pemasangan yang dipisahkan titik koma. Definisi pemasangan
terdiri dari daftar key-value pair yang dipisahkan koma, yang memerlukan
Contoh |
|
Berinteraksi dengan:
|
Enumerasi |
Kebijakan mulai ulang peluncur container saat workload berhenti. Nilai yang valid adalah:
Variabel ini hanya didukung oleh image Confidential Space produksi. Contoh |
|
Berinteraksi dengan:
|
String |
Daftar repositori container yang dipisahkan koma yang menyimpan tanda tangan yang dihasilkan oleh Sigstore Cosign. Contoh |
Penskalaan
Untuk penskalaan dan ketersediaan tinggi workload Confidential Space produksi, lihat Grup Instance Terkelola.