Puedes crear una instancia de Confidential VM como parte de la creación de una nueva máquina virtual de Compute Engine.
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 la CLI de gcloud o actualízala.
- Configura una región y una zona predeterminadas para tu cliente que admitan Confidential VM.
- Opcional: Si quieres usar los ejemplos de API de esta guía, configura la autenticación para tus solicitudes. Obtén más información sobre OAuth 2.0.
En la Google Cloud consola, ve a la página Instancias de VM.
Haz clic en Crear instancia.
En el panel Configuración de la máquina, haz lo siguiente:
Selecciona una región y una zona admitidas.
Selecciona una de las siguientes familias de máquinas:
Uso general
Optimizada para procesamiento
Selecciona un tipo de máquina compatible con la tecnología de Confidential Computing que deseas usar.
En el menú de navegación, haz clic en Seguridad.
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, CPU y zonas.
Región y zona. Para obtener más información, consulta Tipos de máquinas, CPU 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 y, luego, en Crear.
INSTANCE_NAME
: Es el nombre de la instancia de VM nueva.CONFIDENTIAL_COMPUTING_TECHNOLOGY
: Es el tipo de tecnología de Confidential Computing 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 Confidential Computing que elijas. 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),AMD Genoa
(tipos de máquinas C3D) oAMD Turin
(tipos de máquinas C4D).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, establece este parámetro enMIGRATE
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 creará la instancia.IMAGE_FAMILY_NAME
: Es la familia de la imagen del sistema operativo compatible con Confidential VMs. Cuando no especificas--image
de forma adicional, se selecciona la versión de imagen más reciente.IMAGE_PROJECT
: Es el proyecto que contiene la imagen del sistema operativo compatible.PROJECT_ID
: Opcional ID del proyecto en el que se creará la VM.PROJECT_ID
: ID del proyecto en el que se creará la VM.ZONE_NAME
: Es la zona compatible con Confidential VM en la que se creará la instancia.INSTANCE_NAME
: Es el nombre de la instancia de VM nueva.CONFIDENTIAL_COMPUTING_TECHNOLOGY
: Es el tipo de tecnología de Confidential Computing 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 Confidential Computing que elijas. 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),AMD Genoa
(tipos de máquinas C3D) oAMD Turin
(tipos de máquinas C4D).Para AMD SEV-SNP:
AMD Milan
(tipos de máquinas N2D).En el caso de 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 VMs. Cuando no especificas--image
de forma adicional, se selecciona la versión de imagen más reciente.MAINTENANCE_POLICY
: Para los tipos de máquinas N2D que usan SEV, establece este parámetro enMIGRATE
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.
Crea una instancia
Console
Para crear una Confidential VM con SEV de AMD con la consola de Google Cloud , completa los siguientes pasos.
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 tu instancia de Confidential VM, estará lista para usarse.
gcloud
Para crear una instancia de Confidential VM con gcloud CLI, 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:
Ejemplo
Ejecuta el siguiente comando para crear una instancia n2d-standard-2
llamada my-instance
en la zona us-central1-a
con SEV-SNP de AMD:
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 de la siguiente manera:
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 adecuado.
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:
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 SEV-SNP de AMD:
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 de la siguiente manera:
{
"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 selfLink
:
GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/operations/OPERATION_ID
Habilita un mayor ancho de banda de red para tipos de máquinas específicos
Los tipos de máquinas más grandes admiten 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 saliente aumenta de los 32 Gbps predeterminados a entre 50 y 200 Gbps, según el tipo de máquina. Para alcanzar las velocidades de ancho de banda más altas de Tier_1, tu 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?
Aprende a usar Cloud Monitoring para validar tus instancias de Confidential VM.