Puedes crear una instancia de Confidential VM como parte de la creación de una máquina virtual de Compute Engine nueva.
Antes de comenzar
Antes de crear una instancia de Confidential VM, debes configurar tu entorno de la siguiente manera:
- 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.
- Opcional: Para usar los ejemplos de gcloud CLI en esta guía, haz lo siguiente:
- Instala la versión más reciente de gcloud CLI o actualízala.
- Configura una región y una zona predeterminadas para el cliente que admitan Confidential VM.
- Si quieres usar los ejemplos de API de esta guía, configura la autenticación para tus solicitudes (opcional). Obtén más información sobre OAuth 2.0.
Crea una instancia
Console
Para crear una VM confidencial de SEV de AMD con la consola de Google Cloud, completa los siguientes pasos.
En la consola de Google Cloud, ve a la página Instancias de VM.
Haz clic en Crear instancia.
En la sección Servicio de Confidential VM, haz clic en Habilitar.
En el cuadro de diálogo Habilitar Confidential Computing, revisa la lista de parámetros de configuración que se actualizan cuando habilitas el servicio. Pueden incluir los siguientes campos, si se configuraron con valores incompatibles.
Series y Tipos de máquinas Para obtener más información, consulta Tipos de máquinas, CPUs y zonas.
Región y zona. Para obtener más información, consulta Tipos de máquinas, CPUs y zonas.
Imagen de disco de arranque. Para obtener más información, consulta Sistemas operativos.
Mantenimiento en el host. Para obtener más información, consulta Configura la política de mantenimiento del host de una VM.
Tarjeta de interfaz de red. Para obtener más información, consulta Usa la NIC virtual de Google.
Haz clic en Habilitar.
En la sección Configuración de la máquina, expande Configuraciones avanzadas.
En Plataforma de CPU, elige AMD Milan o una versión posterior.
Verifica que estés satisfecho con esta configuración y, luego, haz clic en Crear.
Después de hacer clic en Crear, se abrirá la página Instancias de VM. En esta página,
puedes ver el estado y los detalles de tu instancia nueva. Cuando aparezca un
ícono
Disponible en la columna Estado de la
instancia de Confidential VM, estará lista para usarse.
gcloud
Para crear una instancia de Confidential VM con la CLI de gcloud, usa el subcomando instances create
con la marca --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
Ingresa los siguientes valores:
INSTANCE_NAME
: Es el nombre de la instancia de VM nueva.CONFIDENTIAL_COMPUTING_TECHNOLOGY
: Es el tipo de tecnología de procesamiento confidencial que se usará. Elige uno de los siguientes valores:SEV
SEV_SNP
TDX
MACHINE_TYPE_NAME
: Es el tipo de máquina de la VM, por ejemplo,n2d-standard-2
. Los tipos de máquinas válidos para las instancias de Confidential VM se determinan según la tecnología de procesamiento confidencial que hayas elegido. Consulta Tipos de máquinas, CPUs y zonas.CPU_PLATFORM
: Elige uno de los siguientes valores:Para AMD SEV:
AMD Milan
(tipos de máquinas C2D o N2D) oAMD Genoa
(tipos de máquinas C3D).Para AMD SEV-SNP:
AMD Milan
(tipos de máquinas N2D).Para Intel TDX: Quita esta marca.
MAINTENANCE_POLICY
: Para los tipos de máquinas N2D que usan SEV, set this toMIGRATE
para admitir la migración en vivo. Para todos los demás tipos de máquinas, establece este valor enTERMINATE
, ya que no admiten la migración en vivo.ZONE_NAME
: Es la zona compatible con Confidential VM en la que se crea la instancia.IMAGE_FAMILY_NAME
: Es la familia de la imagen del sistema operativo compatible con Confidential VM. Si no especificas--image
, se selecciona la versión más reciente de la imagen.IMAGE_PROJECT
: Es el proyecto que contiene la imagen del sistema operativo compatible.PROJECT_ID
: Opcional Es el ID del proyecto en el que se creará la VM.
Ejemplo
Ejecuta el siguiente comando para crear una instancia n2d-standard-2
llamada my-instance
en la zona us-central1-a
con 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-family=ubuntu-2404-lts-amd64 \
--image-project=ubuntu-os-cloud
Respuesta
Una respuesta a una solicitud de creación se ve similar al siguiente ejemplo:
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
Para crear una instancia de Confidential VM, debes enviar una solicitud POST con el contenido del cuerpo correspondiente.
El método HTTP y la URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances
Cuerpo JSON de la solicitud:
{
"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
}
}
Ingresa los siguientes valores:
PROJECT_ID
: Es el ID del proyecto en el que se creará la VM.ZONE_NAME
: Es la zona compatible con Confidential VM en la que se crea la instancia.INSTANCE_NAME
: Es el nombre de la instancia de VM nueva.CONFIDENTIAL_COMPUTING_TECHNOLOGY
: Es el tipo de tecnología de procesamiento confidencial que se usará. Elige uno de los siguientes valores:SEV
SEV_SNP
TDX
MACHINE_TYPE_NAME
: Es el tipo de máquina de la VM, por ejemplo,n2d-standard-2
. Los tipos de máquinas válidos para las instancias de Confidential VM se determinan según la tecnología de procesamiento confidencial que hayas elegido. Consulta Tipos de máquinas, CPUs y zonas.CPU_PLATFORM
: Elige uno de los siguientes valores:Para AMD SEV:
AMD Milan
(tipos de máquinas C2D o N2D) oAMD Genoa
(tipos de máquinas C3D).Para AMD SEV-SNP:
AMD Milan
(tipos de máquinas N2D).Para Intel TDX: Quita este par clave-valor.
IMAGE_PROJECT
: Es el proyecto que contiene la imagen del sistema operativo compatible.IMAGE_FAMILY_NAME
: Es la familia de la imagen del sistema operativo compatible con Confidential VM. Si no especificas--image
, se selecciona la versión más reciente de la imagen.MAINTENANCE_POLICY
: Para los tipos de máquinas N2D que usan SEV, set this toMIGRATE
para admitir la migración en vivo. Para todos los demás tipos de máquinas, establece este valor enTERMINATE
, ya que no admiten la migración en vivo.
Ejemplo
Ejecuta uno de los siguientes comandos para crear una instancia n2d-standard-2
llamada my-instance
en la zona us-central1-a
, en el proyecto my-project
, con AMD SEV-SNP:
curl (Linux, macOS o 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
Respuesta
Una respuesta a una solicitud de creación se ve similar al siguiente ejemplo:
{
"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"
}
Para verificar el progreso de la creación de la VM, realiza una solicitud GET
a la
selfLink
:
GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/operations/OPERATION_ID
Habilita un ancho de banda de red mayor para los tipos de máquinas C2D
Las tres formas más grandes de VM de Compute Engine C3D (32, 56 y 112) son compatibles con herramientas de redes de ancho de banda alto. Cuando seleccionas una configuración de ancho de banda de red de nivel 1, el ancho de banda de transferencia de datos externa aumenta de los 32 Gbps predeterminados a 50 o 100 Gbps. Para alcanzar las velocidades de ancho de banda más altas de nivel 1, la instancia debe ejecutar el controlador de red virtual gVNIC. Obtén más información para configurar una VM con mayor ancho de banda.
¿Qué sigue?
Obtén información para usar Cloud Monitoring y validar tus instancias de Confidential VM.