Sie können eine Confidential VM-Instanz im Rahmen der Erstellung einer neuen Compute Engine-VM erstellen.
Hinweis
Bevor Sie eine Confidential VM-Instanz erstellen, müssen Sie Ihre Umgebung so einrichten:
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Optional: So verwenden Sie die gcloud CLI-Beispiele in dieser Anleitung:
- Installieren oder aktualisieren Sie die gcloud CLI auf die aktuelle 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.
Instanz erstellen
Console
Führen Sie die folgenden Schritte aus, um eine Confidential VM-Instanz mit der Google Cloud Console zu erstellen:
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:
Für allgemeine Zwecke
Computing-optimiert
GPUs
Wenn Sie die Familie GPUs ausgewählt haben, wählen Sie den entsprechenden GPU-Typ und die Anzahl der GPUs basierend auf dem unterstützten Maschinentyp aus.
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.
Wählen Sie im Feld Typ auswählen einen der folgenden Confidential Computing-Technologietypen aus:
AMD SEV
AMD SEV-SNP
Intel TDX
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.
Region und Zone. Weitere Informationen finden Sie unter Zonen.
Bootlaufwerk-Image. Weitere Informationen finden Sie unter Betriebssysteme.
Bei Hostwartung. Weitere Informationen finden Sie unter Hostwartungsrichtlinie für eine VM festlegen.
Netzwerkkarte. Weitere Informationen finden Sie unter Google Virtual NIC verwenden.
Klicken Sie auf Bestätigen 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
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-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY_NAME \
--project=PROJECT_ID
Geben Sie folgende Werte an:
INSTANCE_NAME: Der Name der neuen VM-Instanz.CONFIDENTIAL_COMPUTING_TECHNOLOGY: Der zu verwendende Typ der Confidential Computing-Technologie. Wählen Sie einen der folgenden Werte aus:SEVSEV_SNPTDX
MACHINE_TYPE_NAME: Der VM-Maschinentyp, z. B.n2d-standard-2. Die gültigen Maschinentypen für Confidential VM-Instanzen werden durch die von Ihnen ausgewählte Confidential Computing-Technologie bestimmt. Siehe Maschinentypen.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- und C3D-Maschinentypen, die SEV verwenden, diesen Wert aufMIGRATEfest, um die Live-Migration zu unterstützen. Legen Sie diesen Wert für alle anderen Maschinentypen aufTERMINATEfest, da sie keine Live-Migration unterstützen.ZONE_NAME: Die von Confidential VM unterstützte Zone, in der die Instanz erstellt werden soll.IMAGE_PROJECT: Das Projekt, das das unterstützte Betriebssystem-Image enthält.IMAGE_FAMILY_NAME: Die Familie für das von Confidential VM unterstützte Betriebssystem-Image. Wenn Sie--imagenicht zusätzlich angeben, wird die neueste Image-Version ausgewählt.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-project=ubuntu-os-cloud \
--image-family=ubuntu-2404-lts-amd64
Antwort
Eine 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
Wenn Sie eine Confidential VM-Instanz erstellen möchten, müssen Sie eine POST-Anfrage mit dem entsprechenden Textinhalt senden.
HTTP-Methode und URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances
JSON-Text der Anfrage:
{
"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"
}
]
}
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 zu verwendende Typ der Confidential Computing-Technologie. Wählen Sie einen der folgenden Werte aus:SEVSEV_SNPTDX
MACHINE_TYPE_NAME: Der VM-Maschinentyp, z. B.n2d-standard-2. Die gültigen Maschinentypen für Confidential VM-Instanzen werden durch die von Ihnen ausgewählte Confidential Computing-Technologie bestimmt. Siehe Maschinentypen.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.
MAINTENANCE_POLICY: Legen Sie für N2D-Maschinentypen, die SEV verwenden, diesen Wert aufMIGRATEfest, um die Live-Migration zu unterstützen. Legen Sie diesen Wert für alle anderen Maschinentypen aufTERMINATEfest, da sie keine Live-Migration unterstützen.IMAGE_PROJECT: Das Projekt, das das unterstützte Betriebssystem-Image enthält.IMAGE_FAMILY_NAME: Die Familie für das von Confidential VM unterstützte Betriebssystem-Image. Wenn Sie--imagenicht zusätzlich angeben, wird die neueste Image-Version ausgewählt.
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 '{
"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/instancesPowerShell (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 ContentAntwort
Eine 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": "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"
}
Sie können den Fortschritt der VM-Erstellung prüfen, indem Sie eine GET-Anfrage an die selfLink senden:
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 Tier_1-Netzwerkbandbreitenkonfiguration auswählen, erhöht sich die Bandbreite für die Datenübertragung 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 die Instanz den virtuellen gVNIC-Netzwerktreiber ausführen. VM mit höherer Bandbreite konfigurieren
Nächste Schritte
Weitere Informationen zur Verwendung von Cloud Monitoring zur Validierung Ihrer Confidential VM-Instanzen.