Operator workload dapat meneruskan opsi ke instance VM workload Confidential Space untuk menentukan perilakunya sebelum dijalankan. Meskipun beberapa tanda 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 (Pratinjau) untuk membantu menjaga privasi data workload Anda.
Variabel metadata VM apa yang perlu diteruskan, yang mencakup detail seperti image container workload mana yang akan dijalankan, apakah akan mencatat ke Cloud Logging, dan variabel lingkungan apa yang akan disetel.
Akun layanan mana yang akan dilampirkan ke VM untuk menjalankan beban kerja, dan izin apa yang diperlukan untuk mengakses data rahasia di project lain dan menulis hasilnya di suatu tempat.
Zona tempat instance VM harus berjalan.
Berikut adalah contoh yang membuat Confidential VM, dan menjalankan container Docker yang disebut 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:SEV
TDX
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, CPU, dan zona.MAINTENANCE_POLICY
: Untuk jenis mesin N2D yang menggunakan SEV, tetapkan ini keMIGRATE
untuk dukungan migrasi langsung. Untuk semua jenis mesin lainnya, tetapkan nilai ini keTERMINATE
, karena tidak mendukung migrasi langsung.IMAGE_FAMILY_NAME
: Kelompok untuk image Confidential Space. Pilih salah satu opsi berikut:confidential-space
untuk workload produksiconfidential-space-debug
untuk beban kerja debug
WORKLOAD_AUTHOR_PROJECT
: ID project yang menghosting repositori Artifact Registry tempat penampung workload disimpan.REPOSITORY_NAME
: Nama repositori Artifact Registry tempat penampung workload disimpan.WORKLOAD_CONTAINER_NAME
: Nama container beban kerja.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
. Ruang Rahasia memerlukan layanan berikut, yang tersedia di lokasi tertentu:Confidential VM, berdasarkan teknologi Confidential Computing yang digunakan
PROJECT_ID
: Opsional. ID project untuk membuat instance VM.
Workload berbasis GPU
Sebelum memulai
Confidential Space hanya mendukung NVIDIA Confidential Computing (Pratinjau) pada 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 GPU yang dapat dihentikan 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 GPU dari semua jenis di semua region.Untuk memahami penggunaan kuota, baca artikel VM GPU dan kuota alokasi preemptible.
Baca batasan untuk membuat permintaan perubahan ukuran di MIG.
Untuk menginstal driver yang diperlukan untuk NVIDIA Confidential Computing (Pratinjau), Anda harus meneruskan variabel metadata
tee-install-gpu-driver
dengan nilaitrue
.Untuk driver NVIDIA dan toolkit CUDA, direkomendasikan boot disk VM dengan ruang 30 GB atau lebih.
Men-deploy workload berbasis GPU
Untuk men-deploy workload berbasis GPU, Anda harus membuat instance VM Confidential menggunakan model penyediaan spot atau flex-start (Pratinjau).
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-space-preview-cgpu
untuk workload produksiconfidential-space-debug-preview-cgpu
untuk beban kerja debug
WORKLOAD_AUTHOR_PROJECT
: Project ID tempat beban kerja dijalankan.REPOSITORY_NAME
: Nama repositori Artifact Registry.WORKLOAD_CONTAINER_NAME
: Nama container beban kerja.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 NVIDIA Confidential Computing (Pratinjau).PROJECT_ID
: Opsional. ID project untuk membuat instance VM.
Flex-start
Untuk menggunakan model penyediaan mulai fleksibel (Pratinjau), buat template instance, lalu 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 \ --reservation-affinity=none \ --max-run-duration=RUN_DURATION \ --instance-termination-action=DELETE \ --project=PROJECT_ID
Berikan nilai berikut:
INSTANCE_TEMPLATE_NAME
: Nama template instance VM baru.IMAGE_FAMILY_NAME
: Kelompok untuk image Confidential Space. Pilih salah satu opsi berikut:confidential-space-preview-cgpu
untuk workload produksiconfidential-space-debug-preview-cgpu
untuk beban kerja 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, tentukan30m
untuk 30 menit atau1d2h3m4s
untuk 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_nothing
Berikan nilai berikut:
INSTANCE_GROUP_NAME
: Nama MIG.INSTANCE_TEMPLATE_NAME
: Nama template instance untuk VM GPU.ZONE_NAME
: Salah satu zona yang mendukung NVIDIA Confidential Computing (Pratinjau).
Di MIG, buat permintaan pengubahan 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_NAME
Berikan nilai berikut:
INSTANCE_GROUP_NAME
: Nama MIG.INSTANCE_TEMPLATE_NAME
: Nama template instance untuk instance VM GPU.ZONE_NAME
: Salah satu zona yang mendukung NVIDIA Confidential Computing (Pratinjau).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
ACCEPTED
hingga MIG membuat semua instance VM GPU yang diminta. Setelah semua instance VM GPU dibuat dalam grup, status permintaan akan berubah menjadiSUCCEEDED
.Jika resource yang cukup tersedia untuk permintaan pengubahan ukuran, instance VM akan ditambahkan ke MIG dan diluncurkan untuk menjalankan workload Anda. Untuk mencantumkan instance yang ada di MIG, jalankan perintah berikut:
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \ --zone=ZONE_NAME \ --project=PROJECT_ID
Berikan 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 beban kerja untuk menjalankan beban kerja. Akun layanan harus disiapkan dengan cara berikut:
Dengan peran berikut:
roles/confidentialcomputing.workloadUser
untuk membuat token pengesahan.roles/artifactregistry.reader
untuk mengambil image container beban kerja yang disimpan di Artifact Registry.roles/logging.logWriter
jika Anda ingin mengalihkanSTDOUT
danSTDERR
ke 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 harus mengeluarkan data, misalnya, bucket Cloud Storage. Kolaborator data harus memiliki akses baca ke lokasi ini.
Selain itu, kolaborator data dan operator beban kerja perlu menyiapkan hal-hal berikut:
Jika kolaborator data menggunakan peniruan identitas akun layanan, bukan akses resource langsung, mereka harus menambahkan akun layanan ke penyedia kumpulan identitas beban kerja mereka sebagai kondisi atribut:
'WORKLOAD_SERVICE_ACCOUNT_NAME@DATA_COLLABORATOR_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accounts
Operator workload memerlukan peran
roles/iam.serviceAccountUser
untuk menyamar sebagai akun layanan. Hal ini memungkinkan mereka melampirkannya 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 Anda membuat VM.
Untuk meneruskan beberapa variabel, tetapkan terlebih dahulu pembatas dengan menambahkan awalan
nilai --metadata
dengan ^~^
. Tindakan ini 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 beban kerja.
Kunci metadata | Jenis | Deskripsi dan nilai |
---|---|---|
Berinteraksi dengan:
|
String |
Wajib. Ini mengarah ke lokasi container workload. 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 |
Menggantikan
petunjuk
CMD yang ditentukan dalam
Contoh
|
Berinteraksi dengan:
|
String yang ditentukan |
Menampilkan 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 beban kerja. Penulis
beban kerja juga harus menambahkan nama variabel lingkungan ke
kebijakan peluncuran
Contoh
|
Berinteraksi dengan:
|
String |
Daftar akun layanan yang dapat ditiru identitasnya oleh operator workload. Operator workload harus diizinkan untuk meniru identitas akun layanan. Beberapa akun layanan dapat dicantumkan, yang dipisahkan dengan koma. Contoh
|
Berinteraksi dengan:
|
Boolean |
Apakah akan menginstal driver GPU Confidential Computing NVIDIA. Memerlukan jenis mesin yang mendukung NVIDIA Confidential Computing (Pratinjau). Contoh
|
Berinteraksi dengan:
|
Boolean |
Nilai defaultnya adalah Contoh
|
Berinteraksi dengan:
|
String |
Daftar definisi pemasangan yang dipisahkan dengan titik koma. Definisi
pemasangan terdiri dari daftar pasangan nilai kunci yang dipisahkan koma,
yang memerlukan Contoh
|
Berinteraksi dengan:
|
String yang ditentukan |
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 penampung yang dipisahkan koma yang menyimpan tanda tangan yang dihasilkan oleh Sigstore Cosign. Contoh
|
Penskalaan
Untuk penskalaan dan ketersediaan tinggi workload Ruang Rahasia produksi, lihat Managed Instance Groups.