Confidential VM-Instanz erstellen

Sie können eine Confidential VM-Instanz erstellen, wenn Sie eine neue Compute Engine-VM erstellen.

Hinweise

Bevor Sie eine Confidential VM-Instanz erstellen, müssen Sie Ihre Umgebung so einrichten:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Enable the API

  8. Optional: So verwenden Sie die Beispiele der gcloud CLI in dieser Anleitung:
  9. Optional: Wenn Sie die API-Beispiele in dieser Anleitung verwenden möchten, müssen Sie die Authentifizierung für Ihre Anfragen einrichten. Weitere Informationen zu OAuth 2.0.
  10. Instanz erstellen

    Console

    Führen Sie die folgenden Schritte aus, um eine AMD SEV Confidential VM mit der Google Cloud -Konsole zu erstellen.

    1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

      Zu "VM-Instanzen"

    2. Klicken Sie auf Instanz erstellen.

    3. Führen Sie im Bereich Maschinenkonfiguration die folgenden Schritte aus:

      1. Wählen Sie eine unterstützte Region und Zone aus.

      2. Wählen Sie eine der folgenden Maschinenfamilien aus:

        • Allgemein

        • Computing-optimiert

      3. Wählen Sie einen unterstützten Maschinentyp für die Confidential Computing-Technologie aus, die Sie verwenden möchten.

    4. Klicken Sie im Navigationsmenü auf Sicherheit.

    5. Klicken Sie im Abschnitt Confidential VM-Dienst auf Aktivieren.

    6. Prüfen Sie im Dialogfeld Confidential Computing aktivieren die Liste der Einstellungen, die beim Aktivieren des Dienstes aktualisiert werden. Wenn die Werte inkompatibel sind, können sie die folgenden Felder enthalten.

    7. Klicken Sie auf Aktivieren und dann auf Erstellen.

    Nachdem Sie auf Erstellen geklickt haben, wird die Seite VM-Instanzen geöffnet. Auf dieser Seite können Sie den Status und die Details der neuen Instanz ansehen. Wenn in der Spalte Status für Ihre Confidential VM-Instanz das Symbol Symbol mit grünem Häkchen Verfügbar angezeigt wird, ist sie einsatzbereit.

    gcloud

    Verwenden Sie zum Erstellen einer Confidential VM-Instanz mit der gcloud CLI den Unterbefehl instances create mit dem Flag --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-family=IMAGE_FAMILY_NAME \
        --image-project=IMAGE_PROJECT \
        --project=PROJECT_ID
    

    Geben Sie folgende Werte an:

    • INSTANCE_NAME: Der Name der neuen VM-Instanz.

    • CONFIDENTIAL_COMPUTING_TECHNOLOGY: Der Typ der zu verwendenden Confidential Computing-Technologie. Wählen Sie einen der folgenden Werte aus:

      • SEV

      • SEV_SNP

      • TDX

    • MACHINE_TYPE_NAME: Der Maschinentyp der VM, z. B. n2d-standard-2. Gültige Maschinentypen für Confidential VM-Instanzen hängen von der von Ihnen ausgewählten Confidential Computing-Technologie ab. Weitere Informationen finden Sie unter Maschinentypen, CPUs und Zonen.

    • CPU_PLATFORM: Wählen Sie einen der folgenden Werte aus:

      • Für AMD SEV: entweder AMD Milan (C2D- oder N2D-Maschinentypen), AMD Genoa (C3D-Maschinentypen) oder AMD Turin (C4D-Maschinentypen).

      • Für AMD SEV-SNP: AMD Milan (N2D-Maschinentypen).

      • Für Intel TDX: Entfernen Sie dieses Flag.

    • MAINTENANCE_POLICY: Legen Sie für N2D-Maschinentypen, die SEV verwenden, diesen Wert auf MIGRATE fest, um die Live-Migration zu unterstützen. Legen Sie für alle anderen Maschinentypen diesen Wert auf TERMINATE fest, da sie keine Live-Migration unterstützen.

    • ZONE_NAME: Die von Confidential VM unterstützte Zone, in der die Instanz erstellt werden soll.

    • IMAGE_FAMILY_NAME: Die Familie für das von Confidential VMs unterstützte Betriebssystem-Image. Wenn Sie --image nicht zusätzlich angeben, wird die neueste Image-Version ausgewählt.

    • IMAGE_PROJECT: Das Projekt, das das unterstützte Betriebssystem-Image enthält.

    • PROJECT_ID: Optional. Die ID des Projekts, in dem die VM erstellt werden soll.

    Beispiel

    Führen Sie den folgenden Befehl aus, um eine n2d-standard-2-Instanz mit dem Namen my-instance in der Zone us-central1-a mit AMD SEV-SNP zu erstellen:

    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-family=ubuntu-2404-lts-amd64 \
        --image-project=ubuntu-os-cloud
    

    Antwort

    Die Antwort auf eine Erstellungsanfrage sieht in etwa so aus:

    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

    Zum Erstellen einer Confidential VM-Instanz müssen Sie eine POST-Anfrage mit dem entsprechenden Inhalt des Anfragetexts senden.

    Die HTTP-Methode und URL:

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

    JSON-Text anfordern:

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

    Geben Sie folgende Werte an:

    • PROJECT_ID: Die ID des Projekts, in dem die VM erstellt werden soll.

    • ZONE_NAME: Die von Confidential VM unterstützte Zone, in der die Instanz erstellt werden soll.

    • INSTANCE_NAME: Der Name der neuen VM-Instanz.

    • CONFIDENTIAL_COMPUTING_TECHNOLOGY: Der Typ der zu verwendenden Confidential Computing-Technologie. Wählen Sie einen der folgenden Werte aus:

      • SEV

      • SEV_SNP

      • TDX

    • MACHINE_TYPE_NAME: Der Maschinentyp der VM, z. B. n2d-standard-2. Gültige Maschinentypen für Confidential VM-Instanzen hängen von der von Ihnen ausgewählten Confidential Computing-Technologie ab. Weitere Informationen finden Sie unter Maschinentypen, CPUs und Zonen.

    • CPU_PLATFORM: Wählen Sie einen der folgenden Werte aus:

      • Für AMD SEV: entweder AMD Milan (C2D- oder N2D-Maschinentypen), AMD Genoa (C3D-Maschinentypen) oder AMD Turin (C4D-Maschinentypen).

      • Für AMD SEV-SNP: AMD Milan (N2D-Maschinentypen).

      • Für Intel TDX: Entfernen Sie dieses Schlüssel/Wert-Paar.

    • IMAGE_PROJECT: Das Projekt, das das unterstützte Betriebssystem-Image enthält.

    • IMAGE_FAMILY_NAME: Die Familie für das von Confidential VMs unterstützte Betriebssystem-Image. Wenn Sie --image nicht zusätzlich angeben, wird die neueste Image-Version ausgewählt.

    • MAINTENANCE_POLICY: Legen Sie für N2D-Maschinentypen, die SEV verwenden, diesen Wert auf MIGRATE fest, um die Live-Migration zu unterstützen. Legen Sie für alle anderen Maschinentypen diesen Wert auf TERMINATE fest, da sie keine Live-Migration unterstützen.

    Beispiel

    Führen Sie einen der folgenden Befehle aus, um eine n2d-standard-2-Instanz mit dem Namen my-instance in der Zone us-central1-a im Projekt my-project mit AMD SEV-SNP zu erstellen:

    curl (Linux, macOS oder Cloud Shell)

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

    Antwort

    Die Antwort auf eine Erstellungsanfrage sieht in etwa so aus:

    {
      "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": "[email protected]",
      "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"
    }
    

    Sie können den Fortschritt der VM-Erstellung prüfen, indem Sie eine GET-Anfrage an selfLink stellen:

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

    Höhere Netzwerkbandbreite für bestimmte Maschinentypen aktivieren

    Größere Maschinentypen unterstützen Netzwerke mit hoher Bandbreite. Wenn Sie eine Netzwerkbandbreitenkonfiguration der Stufe 1 auswählen, erhöht sich die Bandbreite für ausgehenden Traffic von den standardmäßigen 32 Gbit/s auf 50 bis 200 Gbit/s, je nach Maschinentyp. Um die höheren Bandbreitengeschwindigkeiten der Stufe 1 zu erreichen, muss auf Ihrer Instanz der virtuelle gVNIC-Netzwerktreiber ausgeführt werden. VM mit höherer Bandbreite konfigurieren

    Nächste Schritte

    Weitere Informationen zur Verwendung von Cloud Monitoring zur Validierung Ihrer Confidential VM-Instanzen