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:
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
- Optional: So verwenden Sie die Beispiele der gcloud CLI in dieser Anleitung:
- Installieren Sie die gcloud CLI oder aktualisieren Sie sie auf die neueste Version.
- Legen Sie eine Standardregion und -zone für Ihren Client fest, die Confidential VM unterstützt.
- 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.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Klicken Sie auf Instanz erstellen.
Führen Sie im Bereich Maschinenkonfiguration die folgenden Schritte aus:
Wählen Sie eine unterstützte Region und Zone aus.
Wählen Sie eine der folgenden Maschinenfamilien aus:
Allgemein
Computing-optimiert
Wählen Sie einen unterstützten Maschinentyp für die Confidential Computing-Technologie aus, die Sie verwenden möchten.
Klicken Sie im Navigationsmenü auf Sicherheit.
Klicken Sie im Abschnitt Confidential VM-Dienst auf Aktivieren.
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.
Serien- und Maschinentyp. Weitere Informationen finden Sie unter Maschinentypen, CPUs und Zonen.
Region und Zone. Weitere Informationen finden Sie unter Maschinentypen, CPUs und Zonen.
Bootlaufwerk-Image. Weitere Informationen finden Sie unter Betriebssysteme.
Bei Hostwartung. Weitere Informationen finden Sie unter Hostwartungsrichtlinie einer VM festlegen.
Netzwerkkarte. Weitere Informationen finden Sie unter Google Virtual NIC verwenden.
Klicken Sie auf Aktivieren und dann auf Erstellen.
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) oderAMD 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 aufMIGRATE
fest, um die Live-Migration zu unterstützen. Legen Sie für alle anderen Maschinentypen diesen Wert aufTERMINATE
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.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) oderAMD 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 aufMIGRATE
fest, um die Live-Migration zu unterstützen. Legen Sie für alle anderen Maschinentypen diesen Wert aufTERMINATE
fest, da sie keine Live-Migration unterstützen.
Instanz erstellen
Console
Führen Sie die folgenden Schritte aus, um eine AMD SEV Confidential VM mit der Google Cloud -Konsole zu 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
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:
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:
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