Membuat instance Confidential VM

Anda dapat membuat instance Confidential VM sebagai bagian dari pembuatan virtual machine Compute Engine baru.

Sebelum memulai

Sebelum membuat instance Confidential VM, Anda perlu menyiapkan lingkungan Anda sebagai berikut:

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Opsional: Untuk menggunakan contoh gcloud CLI dalam panduan ini:
  9. Opsional: Untuk menggunakan contoh API dalam panduan ini, siapkan autentikasi untuk permintaan Anda. Pelajari lebih lanjut OAuth 2.0.

Membuat instance

Konsol

Untuk membuat instance Confidential VM dengan konsol Google Cloud , selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka instance VM

  2. Klik Create instance.

  3. Di panel Machine configuration, lakukan hal berikut:

    1. Pilih region dan zona yang didukung.

    2. Pilih salah satu kelompok mesin berikut:

      • Tujuan umum

      • Dioptimalkan untuk komputasi

      • GPU

    3. Jika Anda memilih keluarga GPU, pilih GPU type dan Number of GPUs yang sesuai berdasarkan jenis mesin yang didukung.

    4. Pilih jenis mesin yang didukung untuk teknologi Confidential Computing yang ingin Anda gunakan.

  4. Di menu navigasi, klik Security.

  5. Di bagian Layanan Confidential VM, klik Aktifkan.

  6. Di kotak Pilih jenis, pilih salah satu jenis teknologi Confidential Computing berikut:

    • AMD SEV

    • AMD SEV-SNP

    • Intel TDX

  7. Dalam dialog Aktifkan Confidential Computing, tinjau daftar setelan yang diperbarui saat Anda mengaktifkan layanan. Kolom tersebut dapat mencakup kolom berikut, jika ditetapkan ke nilai yang tidak kompatibel.

  8. Klik Confirm, lalu klik Create.

Setelah Anda mengklik Create, halaman VM instances akan terbuka. Di halaman ini, Anda dapat melihat status dan detail untuk instance baru Anda. Saat ikon ikon tersedia tanda centang hijau Tersedia muncul di kolom Status untuk instance VM Rahasia Anda, instance tersebut siap digunakan.

gcloud

Untuk membuat instance Confidential VM dengan gcloud CLI, gunakan sub-perintah instances create dengan tanda --confidential-compute-type.

gcloud compute instances create INSTANCE_NAME \
    --confidential-compute-type=CONFIDENTIAL_COMPUTING_TECHNOLOGY \
    --machine-type=MACHINE_TYPE_NAME \
    --min-cpu-platform="CPU_PLATFORM" \
    --maintenance-policy=MAINTENANCE_POLICY \
    --zone=ZONE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY_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

    • SEV_SNP

    • 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. Lihat Jenis mesin, CPU, dan zona.

  • CPU_PLATFORM: Pilih salah satu nilai berikut:

    • Untuk AMD SEV: AMD Milan (jenis mesin C2D atau N2D), AMD Genoa (jenis mesin C3D), atau AMD Turin (jenis mesin C4D).

    • Untuk AMD SEV-SNP: AMD Milan (jenis mesin N2D).

    • Untuk Intel TDX: Hapus tanda ini.

  • MAINTENANCE_POLICY: Untuk jenis mesin N2D dan C3D yang menggunakan SEV, tetapkan ini ke MIGRATE untuk dukungan migrasi langsung. Untuk semua jenis mesin lainnya, tetapkan nilai ini ke TERMINATE, karena jenis mesin tersebut tidak mendukung migrasi langsung.

  • ZONE_NAME: Zona yang didukung Confidential VM tempat instance akan dibuat.

  • IMAGE_PROJECT: Project yang berisi image sistem operasi yang didukung.

  • IMAGE_FAMILY_NAME: Kelompok untuk image sistem operasi yang didukung Confidential VM. Jika Anda tidak menentukan --image, versi image terbaru akan dipilih.

  • PROJECT_ID: Opsional. ID project tempat VM dibuat.

Contoh

Jalankan perintah berikut untuk membuat instance n2d-standard-2 bernama my-instance di zona us-central1-a, menggunakan AMD SEV-SNP:

gcloud compute instances create my-instance \
    --machine-type=n2d-standard-2 \
    --min-cpu-platform="AMD Milan" \
    --zone=us-central1-a \
    --confidential-compute-type=SEV_SNP \
    --maintenance-policy=TERMINATE \
    --image-project=ubuntu-os-cloud \
    --image-family=ubuntu-2404-lts-amd64

Respons

Respons terhadap permintaan pembuatan akan terlihat mirip dengan contoh berikut:

Created [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance].
NAME: my-instance
ZONE: us-central1-a
MACHINE_TYPE: n2d-standard-2
PREEMPTIBLE:
INTERNAL_IP: 0.0.0.0
EXTERNAL_IP: 0.0.0.0
STATUS: RUNNING

REST

Untuk membuat instance Confidential VM, Anda perlu mengirim permintaan POST dengan konten isi yang sesuai.

Metode HTTP dan URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances

Meminta isi JSON:

{
  "name": "INSTANCE_NAME",
  "confidentialInstanceConfig": {
    "confidentialInstanceType": "CONFIDENTIAL_COMPUTING_TECHNOLOGY"
  },
  "machineType": "zones/ZONE_NAME/machineTypes/MACHINE_TYPE_NAME",
  "minCpuPlatform": "CPU_PLATFORM",
  "scheduling": {
    "automaticRestart": true,
    "nodeAffinities": [],
    "onHostMaintenance": "MAINTENANCE_POLICY",
    "preemptible": false
  },
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME"
      }
    }
  ],
  "networkInterfaces": [
    {
      "nicType": "gVNIC"
    }
  ]
}

Berikan nilai berikut:

  • PROJECT_ID: ID project tempat VM akan dibuat.

  • ZONE_NAME: Zona yang didukung Confidential VM tempat instance akan dibuat.

  • INSTANCE_NAME: Nama instance VM baru.

  • CONFIDENTIAL_COMPUTING_TECHNOLOGY: Jenis teknologi Confidential Computing yang akan digunakan. Pilih salah satu nilai berikut:

    • SEV

    • SEV_SNP

    • 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. Lihat Jenis mesin, CPU, dan zona.

  • CPU_PLATFORM: Pilih salah satu nilai berikut:

    • Untuk AMD SEV: AMD Milan (jenis mesin C2D atau N2D), AMD Genoa (jenis mesin C3D), atau AMD Turin (jenis mesin C4D).

    • Untuk AMD SEV-SNP: AMD Milan (jenis mesin N2D).

    • Untuk Intel TDX: Hapus key-value pair ini.

  • MAINTENANCE_POLICY: Untuk jenis mesin N2D yang menggunakan SEV, tetapkan ini ke MIGRATE untuk dukungan migrasi langsung. Untuk semua jenis mesin lainnya, tetapkan nilai ini ke TERMINATE, karena tidak mendukung migrasi langsung.

  • IMAGE_PROJECT: Project yang berisi image sistem operasi yang didukung.

  • IMAGE_FAMILY_NAME: Kelompok untuk image sistem operasi yang didukung Confidential VM. Jika Anda tidak menentukan --image, versi image terbaru akan dipilih.

Contoh

Jalankan salah satu perintah berikut untuk membuat instance n2d-standard-2 bernama my-instance di zona us-central1-a, dalam project my-project, menggunakan AMD SEV-SNP:

curl (Linux, macOS, atau Cloud Shell)

curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
            "name": "my-instance",
            "confidentialInstanceConfig": {
              "confidentialInstanceType": "SEV_SNP"
            },
            "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2",
            "minCpuPlatform": "AMD Milan",
            "scheduling": {
              "automaticRestart": true,
              "nodeAffinities": [],
              "onHostMaintenance": "TERMINATE",
              "preemptible": false
            },
            "disks": [
              {
                "boot": true,
                "initializeParams": {
                  "sourceImage": "projects/ubuntu-os-cloud/global/images/family/ubuntu-2404-lts-amd64"
                }
              }
            ],
            "networkInterfaces": [
              {
                "nicType": "gVNIC"
              }
            ]
          }' \
      https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances

PowerShell (Windows)

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
$body = @"
{
  "name": "my-instance",
  "confidentialInstanceConfig": {
    "confidentialInstanceType": "SEV_SNP"
  },
  "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2",
  "minCpuPlatform": "AMD Milan",
  "scheduling": {
    "automaticRestart": true,
    "nodeAffinities": [],
    "onHostMaintenance": "TERMINATE",
    "preemptible": false
  }
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/ubuntu-os-cloud/global/images/family/ubuntu-2404-lts-amd64"
      }
    }
  ],
  "networkInterfaces": [
    {
      "nicType": "gVNIC"
    }
  ]
}
"@
Invoke-WebRequest `
  -Method POST `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body $body `
  -Uri "https://compute.googleapis.com/compute/projects/my-project/zones/us-central1-a/instances" | Select-Object -Expand Content

Respons

Respons terhadap permintaan pembuatan akan terlihat mirip dengan contoh berikut:

{
  "kind": "compute#operation",
  "id": "0000000000000000000",
  "name": "operation-0000000000000-0000000000000-00000000-00000000",
  "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a",
  "operationType": "insert",
  "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance",
  "targetId": "0000000000000000000",
  "status": "RUNNING",
  "user": "alex@example.com",
  "progress": 0,
  "insertTime": "2024-09-29T18:06:52.174-07:00",
  "startTime": "2024-09-29T18:06:52.175-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/operations/operation-0000000000000-0000000000000-00000000-00000000"
}

Anda dapat memeriksa progres pembuatan VM dengan membuat permintaan GET ke selfLink:

GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/operations/OPERATION_ID

Mengaktifkan bandwidth jaringan yang lebih tinggi untuk jenis mesin tertentu

Jenis mesin yang lebih besar mendukung jaringan bandwidth tinggi. Saat Anda memilih konfigurasi bandwidth jaringan Tier_1, bandwidth transfer data keluar akan meningkat dari 32 Gbps default menjadi 50 hingga 200 Gbps, bergantung pada jenis mesin. Untuk mencapai kecepatan bandwidth Tier_1 yang lebih tinggi, instance Anda harus menjalankan driver jaringan virtual gVNIC. Pelajari lebih lanjut cara mengonfigurasi VM dengan bandwidth yang lebih tinggi.

Langkah berikutnya

Pelajari cara menggunakan Cloud Monitoring untuk memvalidasi instance Confidential VM Anda.