En este tutorial se explica cómo crear un gran número de instancias de máquinas virtuales (VMs) de computación de alto rendimiento (HPC) que sean idénticas e independientes entre sí. Las instancias usan tipos de máquinas optimizadas para HPC H4D y se ejecutan en bloques de capacidad reservada. En este tutorial también se muestra cómo configurar las instancias H4D para usar Cloud RDMA.
Este tutorial está dirigido a ingenieros, administradores y operadores de plataformas de HPC, así como a especialistas en datos y MPI que quieran crear un clúster de instancias de HPC interconectadas. Las instancias resultantes no usan un orquestador para la gestión de instancias ni la programación de trabajos.
Objetivos
- Reserva bloques de capacidad para tu implementación.
- Opcional: Crea una política de colocación si no vas a crear las VMs en el mismo bloque o subbloque.
- Crea redes de nube privada virtual.
- Crea instancias con RDMA en bloque.
- Limpiar.
Costes
En este tutorial se usan componentes facturables de Google Cloud, como los siguientes:
Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.
Antes de empezar
- 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.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
- En el caso de los despliegues no densos: modelos de aprovisionamiento de instancias de Compute Engine
- En el caso de las implementaciones densas, elige una opción de consumo y obtén capacidad
Ponte en contacto con tu equipo de cuenta y proporciona la siguiente información a Google para que cree un borrador de solicitud de reserva futura:
Número de proyecto: el número del proyecto en el que tu equipo de cuentas crea la solicitud y Compute Engine aprovisiona la capacidad. Para obtener información sobre cómo encontrar el número de tu proyecto, consulta el artículo Buscar el nombre, el número y el ID del proyecto en la documentación de Resource Manager.
Tipo de máquina: uno de los tipos de máquinas H4D optimizados para HPC
Recuento total: el número total de VMs que se van a reservar. Solo puedes reservar múltiplos de dos máquinas virtuales. El tamaño de los bloques y el número de máquinas virtuales por bloque varían en función del tipo de máquina y de la disponibilidad. El equipo de tu cuenta puede proporcionarte más detalles sobre tu solicitud.
Zona: la zona en la que quieras reservar capacidad. Para consultar las regiones y zonas disponibles para la serie de máquinas H4D, consulta Regiones y zonas disponibles y selecciona
H4D
en la lista Seleccionar una serie de máquinas.Hora de inicio: la hora de inicio del periodo de reserva. Formatea la hora de inicio como una marca de tiempo RFC 3339:
YYYY-MM-DDTHH:MM:SSOFFSET
Haz los cambios siguientes:
YYYY-MM-DD
: una fecha con el formato de año de cuatro dígitos, mes de dos dígitos y día del mes de dos dígitos, separados por guiones (-
).HH:MM:SS
: hora con formato de hora de dos dígitos con un formato de 24 horas, minutos de dos dígitos y segundos de dos dígitos, separados por dos puntos (:
).OFFSET
: la zona horaria con el formato de una diferencia con respecto al tiempo universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), especifica-08:00
. Para no usar ninguna variación, especificaZ
.
Hora de finalización: la hora de finalización del periodo de reserva. Dale el formato de marca de tiempo RFC 3339.
Tipo de uso compartido: si solo tu proyecto puede usar la reserva creada automáticamente (
LOCAL
) u otros proyectos pueden usarla (SPECIFIC_PROJECTS
).Para compartir la capacidad reservada con otros proyectos de tu organización, haz lo siguiente:
Si aún no lo has hecho, comprueba que el proyecto en el que Google crea la solicitud pueda crear reservas compartidas.
Proporciona los números de los proyectos con los que quieres compartir la capacidad reservada. Puedes especificar hasta 100 proyectos de tu organización.
Nombre de la reserva: el nombre de la reserva que Compute Engine crea automáticamente para ofrecerte la capacidad reservada. Compute Engine solo crea reservas específicas.
Nombre del compromiso: si el periodo de reserva es de un año o más, debes comprar y adjuntar un compromiso basado en los recursos a los recursos reservados. Puedes comprar un compromiso con un plan de 1 o 3 años. Si compartes la capacidad reservada con otros proyectos, estos solo obtendrán descuentos si usan la misma cuenta de facturación de Cloud que el proyecto en el que reservas la capacidad. Para obtener más información, consulta Habilitar el uso compartido de CUDs en compromisos basados en recursos.
Google crea un borrador de solicitud de reserva futura y tu equipo de cuenta se pone en contacto contigo.
Revisa la solicitud de borrador. Ten en cuenta lo siguiente al revisar la solicitud de reserva:
- Solo puedes empezar a usar la capacidad reservada después de la fecha y la hora de inicio especificadas.
Cuando se alcanza la hora de finalización especificada, Compute Engine hace lo siguiente:
- Elimina la reserva creada automáticamente.
- Detiene o elimina las VMs que usan la reserva. La acción que se lleva a cabo se basa en la acción de finalización que especifiques al crear las VMs.
No puedes cambiar si la capacidad reservada se comparte después de enviar la solicitud de reserva.
Para revisar una solicitud de reserva futura en borrador, selecciona una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la página Reservas.
Haz clic en la pestaña Reservas futuras. En la tabla Reservas futuras se muestra cada solicitud de reserva futura de tu proyecto y cada columna de la tabla describe una propiedad.
En la columna Nombre, haz clic en el nombre de la solicitud de borrador que Google ha creado por ti. Se abrirá una página con los detalles de la solicitud de reserva futura.
En la sección Información básica, compruebe que los detalles de la solicitud, como las fechas y el tipo de uso compartido, sean correctos. Además, si has solicitado un compromiso, comprueba que se haya especificado.
Si alguno de estos datos es incorrecto, póngase en contacto con su equipo de cuenta.
gcloud
Para ver una lista de las solicitudes de reserva futuras de tu proyecto, usa el comando
gcloud beta compute future-reservations list
con la marca--filter
definida comoPROCUREMENT_STATUS=DRAFTING
:gcloud beta compute future-reservations list --filter=PROCUREMENT_STATUS=DRAFTING
En el resultado del comando, busca la solicitud de reserva que tenga el nombre que has proporcionado a tu equipo de asistencia.
Para ver los detalles de la solicitud de borrador, usa el comando
gcloud beta compute future-reservations describe
:gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \ --zone=ZONE
Haz los cambios siguientes:
FUTURE_RESERVATION_NAME
: el nombre de la solicitud de reserva futura en borrador.ZONE
: la zona en la que Google ha creado la solicitud.
El resultado debería ser similar al siguiente:
autoCreatedReservationsDeleteTime: '2026-02-10T19:20:00Z' creationTimestamp: '2025-11-27T11:14:58.305-08:00' deploymentType: DENSE id: '7979651787097007552' kind: compute#futureReservation name: example-draft-request planningStatus: DRAFT reservationName: example-reservation schedulingType: INDEPENDENT selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/example-draft-request selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/7979651787097007552 specificReservationRequired: true specificSkuProperties: instanceProperties: localSsds: - diskSizeGb: '375' interface: NVME ... machineType: h4d-highmem-192-lssd totalCount: '2' status: autoCreatedReservations: - https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/reservations/example-reservation fulfilledCount: '2' lockTime: '2026-01-27T19:15:00Z' procurementStatus: DRAFTING timeWindow: endTime: '2026-02-10T19:20:00Z' startTime: '2026-01-27T19:20:00Z' zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b
En el resultado del comando, comprueba que los detalles de la solicitud, como el periodo de reserva y el tipo de recurso compartido, sean correctos. Además, si has comprado un compromiso, comprueba que se haya especificado.
Si los detalles son incorrectos, póngase en contacto con su equipo de cuentas.
REST
Para ver una lista de las solicitudes de reserva futuras de tu proyecto, haz una solicitud
GET
al métodofutureReservations.list
beta. En la URL de la solicitud, incluya el parámetro de consultafilter
y asígnale el valorstatus.procurementStatus=DRAFTING
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations?filter=status.procurementStatus=DRAFTING
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que Google ha creado la solicitud de reserva futura en borrador.ZONE
: la zona en la que existe la solicitud.
En el resultado de la solicitud, busca la solicitud de reserva que tenga el nombre que has proporcionado a tu equipo de asistencia.
Para ver los detalles de la solicitud de borrador, haz una solicitud
GET
al método betafutureReservations.get
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME
Sustituye
FUTURE_RESERVATION_NAME
por el nombre de la solicitud de reserva futura en borrador.El resultado debería ser similar al siguiente:
{ "specificSkuProperties": { "instanceProperties": { "machineType": "h4d-highmem-192-lssd", "localSsds": [ { "diskSizeGb": "375", "interface": "NVME" }, ... ] }, "totalCount": "2" }, "kind": "compute#futureReservation", "id": "7979651787097007552", "creationTimestamp": "2025-11-27T11:14:58.305-08:00", "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/example-draft-request", "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b/futureReservations/7979651787097007552", "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/europe-west4-b", "name": "example-draft-request", "timeWindow": { "startTime": "2026-01-27T19:20:00Z", "endTime": "2026-02-10T19:20:00Z" }, "status": { "procurementStatus": "DRAFTING", "lockTime": "2026-01-27T19:15:00Z" }, "planningStatus": "DRAFT", "specificReservationRequired": true, "reservationName": "example-reservation", "deploymentType": "DENSE", "schedulingType": "INDEPENDENT", "autoCreatedReservationsDeleteTime": "2026-02-10T19:20:00Z" }
En el resultado, comprueba que los detalles de la solicitud, como el periodo de reserva y el tipo de uso compartido, sean correctos. Además, si has solicitado un compromiso, comprueba que se haya especificado.
Si los detalles son incorrectos, póngase en contacto con su equipo de cuentas.
Si todo es correcto, envía la solicitud de reserva. Debes enviar la solicitud antes de la hora de inicio de la solicitud.
Para enviar una solicitud de reserva futura en borrador, selecciona una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la página Reservas.
Haz clic en la pestaña Reservas futuras.
En la columna Nombre, haz clic en el nombre de la solicitud de borrador que Google ha creado por ti.
Haz clic en Enviar.
gcloud
Para enviar la solicitud de revisión, usa el comando
gcloud beta compute future-reservations update
con la marca--planning-status
definida comoSUBMITTED
:gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \ --planning-status=SUBMITTED \ --zone=ZONE
REST
Para enviar la solicitud de borrador a revisión, haz una solicitud
PATCH
al método betafutureReservations.update
. En la URL de la solicitud, incluya el parámetro de consultaupdateMask
y asígnele el valorplanningStatus
:PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus { "name": "FUTURE_RESERVATION_NAME", "planningStatus": "SUBMITTED" }
Google Cloud aprueba inmediatamente la solicitud que has enviado.
Compute Engine crea una reserva vacía con los recursos que has solicitado.
Para ver la reserva, consulta Ver capacidad reservada en la documentación de AI Hypercomputer.
POLICY_NAME
: el nombre de la política de posición compactaMAX_DISTANCE
: la configuración de distancia máxima de tus instancias de VM. Especifica3
para colocar las VMs en bloques adyacentes y2
para colocarlas en el mismo bloque. La colocación de las VMs se realiza en la medida de lo posible.REGION
: la región en la que quieras crear la política de emplazamiento. Especifica una región en la que esté disponible el tipo de máquina que quieras usar. Para obtener información sobre las regiones disponibles, consulta Regiones y zonas disponibles.PROJECT_ID
: tu ID de proyectoREGION
: la región en la que quieras crear la política de emplazamiento. Especifica una región en la que esté disponible el tipo de máquina que quieras usar. Para obtener información sobre las regiones disponibles, consulta Regiones y zonas disponibles.POLICY_NAME
: el nombre de la política de posición compactaMAX_DISTANCE
: la configuración de distancia máxima de tus instancias de VM. Especifica3
para colocar las VMs en bloques adyacentes y2
para colocarlas en el mismo bloque. La colocación de las VMs se realiza en la medida de lo posible.- Tipo de NIC
GVNIC
: usa el controladorgve
para el tráfico TCP/IP e Internet en la comunicación normal entre máquinas virtuales y entre máquinas virtuales e Internet. - Tipo de NIC
IRDMA
: usa controladores IDPF/iRDMA para la comunicación de red RDMA entre instancias. - Cada interfaz de red debe conectarse a una red Virtual Private Cloud diferente.
- Para configurar una interfaz de red IRDMA, primero debes crear una red VPC con el perfil de red Falcon RDMA en la misma región y zona que la instancia.
- En el caso de la interfaz de red GVNIC, si no especificas una red o una subred, Compute Engine usará la red VPC predeterminada y la subred automática que esté en la misma región que la instancia.
- Si especificas una subred, pero no una red, Compute Engine inferirá la red a partir de la subred especificada.
- Si especificas una red, también debes especificar una subred que pertenezca a la misma red. De lo contrario, no se podrá crear la instancia.
Para crear las redes de host de las
GVNIC
interfaces de red, consulta Crear y gestionar redes de VPC.Si solo vas a configurar una interfaz de red
GVNIC
, puedes usar la red VPC predeterminada y la subred automática que se encuentre en la misma región que la instancia.Para crear una red para la interfaz de red
IRDMA
, consulta Crear una red de VPC con un perfil de red RDMA. Usa el valor predeterminado de la unidad máxima de transmisión (MTU) de una red RDMA, que es8896
.Opcional: Antes de ejecutar la secuencia de comandos, enumera los perfiles de red de VPC de Falcon para verificar que haya uno disponible. Los perfiles de red de VPC de Falcon no están disponibles en todas las zonas.
gcloud beta compute network-profiles list --filter=falcon
Copia el siguiente código y ejecútalo en una ventana de shell de Linux.
GVNIC_NAME_PREFIX
: el prefijo de nombre que se va a usar en la red VPC y la subred estándar que usa un tipo de NIC gVNIC.REGION
: la región en la que quieras crear las redes. Debe corresponderse con la zona especificada en la marca--network-profile
al crear la VPC de Falcon. Por ejemplo, si especificas la zonaeurope-west4-b
, tu región seráeurope-west4
.IP_RANGE
: el intervalo de direcciones IP fuera de la red de VPC que se va a usar en las reglas de cortafuegos SSH. Como práctica recomendada, especifica los intervalos de direcciones IP concretos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6. No utilices0.0.0.0/0
ni::/0
como intervalo de origen, ya que esto permite el tráfico de todos los orígenes IPv4 o IPv6, incluidos los que están fuera deGoogle Cloud.RDMA_NAME_PREFIX
: el prefijo de nombre que se usará para la red VPC y la subred que usen el tipo de NIC IRDMA.ZONE
: la zona en la que quieres crear las redes y las instancias de computación. Usaus-central1-a
oeurope-west4-b
.- No puedes usar la migración en directo durante los eventos de mantenimiento del host con instancias que tengan una interfaz de red Cloud RDMA. Debes configurar la instancia para que se finalice durante los eventos de mantenimiento.
- Solo puedes usar direcciones IPv4 con interfaces de red RDMA y redes VPC con un perfil de red RDMA de Falcon.
- Solo puedes usar la serie de máquinas H4D para crear instancias optimizadas para HPC con Cloud RDMA.
NAME_PATTERN
: el patrón de nombre de las instancias. Por ejemplo, si usasvm-#
como patrón de nombre, se generarán instancias con nombres comovm-1
yvm-2
, hasta el número especificado por la marca--count
.COUNT
: número de instancias que se van a crear.MACHINE_TYPE
: el tipo de máquina que se va a usar en las instancias. Usa uno de los tipos de máquinas H4D, comoh4d-highmem-192-lssd
.IMAGE_FAMILY
: la familia de imágenes del SO que quieras usar, por ejemplo,rocky-linux-9-optimized-gcp
. Para ver una lista de imágenes de SO compatibles, consulta Sistemas operativos compatibles. Elige una versión de imagen del SO que admita la interfaz IRDMA.IMAGE_PROJECT
: el ID del proyecto de la imagen del SO. Por ejemplo,rocky-linux-cloud
.RESERVATION
: en este valor, puede especificar una de las siguientes opciones:- Si usas una política de asignación o si las VMs se pueden colocar en cualquier lugar de tu bloque de reserva, especifica el nombre de la reserva (por ejemplo,
h4d-highmem-exfr-prod
). - Si quieres que las instancias se coloquen en un bloque específico y no usas una política de colocación compacta, especifica un nombre de bloque de reserva con el formato
RESERVATION_NAME/reservationBlocks/
RESERVATION_BLOCK_NAME, for example,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1`.
Para ver el nombre de la reserva o los bloques de reserva disponibles, consulta Ver capacidad.
- Si usas una política de asignación o si las VMs se pueden colocar en cualquier lugar de tu bloque de reserva, especifica el nombre de la reserva (por ejemplo,
REGION
: especifica una región en la que esté disponible el tipo de máquina que quieras usar. Por ejemplo,europe-west1
. Para obtener información sobre las regiones disponibles, consulta Regiones y zonas disponibles.DISK_SIZE
: opcional, tamaño del disco de arranque en GiB. El valor debe ser un número entero.GVNIC_NAME_PREFIX
: el prefijo de nombre que usaste al crear la red VPC y la subred de la interfaz GVNIC.En el caso de la interfaz de red gVNIC, puedes omitir las marcas
network
ysubnet
para usar la reddefault
.STACK_TYPE
: opcional: el tipo de pila de la interfaz de red gVNIC.STACK_TYPE
debe ser uno de los siguientes valores:IPV4_ONLY
oIPV4_IPV6
. El valor predeterminado esIPV4_ONLY
.EXTERNAL_IPV4_ADDRESS
: opcional: una dirección IPv4 externa estática que se usará con la interfaz de red. Debes haber reservado una dirección IPv4 externa previamente. Elige una de estas opciones:- Especifica una dirección IPv4 válida de la subred.
- Usa la marca
no-address
si no quieres que la interfaz de red tenga una dirección IP externa. - Especifica
address=''
si quieres que la interfaz reciba una dirección IP externa efímera.
Para especificar una dirección IPv6 externa, usa la marca
--external-ipv6-address
.RDMA_NAME_PREFIX
: el prefijo de nombre que has usado al crear la red de VPC y la subred de la interfaz IRDMA.- Incluye el objeto
networkInterfaces
con al menos dos configuraciones de red: una para la interfaz de red gVNIC y otra para la interfaz de red RDMA. - Si has elegido usar una política de emplazamiento compacta, añade también el objeto
resourcePolicies
al cuerpo de la solicitud. - Para usar los bloques de capacidad reservados al crear las instancias, defina
provisioningModel
comoRESERVATION_BOUND
. - Puedes personalizar el resto de las propiedades de la instancia según sea necesario.
Sustituye los siguientes elementos en el cuerpo de la solicitud:
PROJECT_ID
: el ID del proyecto en el que quieres crear las instancias.ZONE
: especifica una zona en la que esté disponible el tipo de máquina que quieras usar. Si usas una política de emplazamiento compacto, utiliza una zona de la misma región que la política de emplazamiento compacto. Para obtener información sobre las regiones en las que están disponibles los tipos de máquinas H4D, consulta Regiones y zonas disponibles.NAME_PATTERN
: el patrón de nombre de las instancias. Por ejemplo, si se usavm-#
como patrón de nombre, se generarán instancias con nombres comovm-1
yvm-2
, hasta el número especificado en el campocount
.COUNT
: número de instancias que se van a crear.MACHINE_TYPE
: el tipo de máquina que se va a usar en las instancias. Usa uno de los tipos de máquinas H4D, comoh4d-highmem-192-lssd
.DISK_SIZE
: tamaño del disco de arranque en GiB.IMAGE_PROJECT
: el ID del proyecto de la imagen del SO, por ejemplo,debian-cloud
.IMAGE_FAMILY
: la familia de imágenes del SO que quieras usar, por ejemplo,rocky-linux-9-optimized-gcp
. Para ver una lista de imágenes de SO compatibles, consulta Sistemas operativos compatibles. Elige una versión de imagen del SO que admita la interfaz IRDMA.GVNIC_NAME_PREFIX
: el prefijo de nombre que has usado al crear la red VPC y la subred de la interfaz gVNICEn el caso de la interfaz de red gVNIC, puedes omitir los campos
network
ysubnetwork
para usar la reddefault
.EXTERNAL_IPV4_ADDRESS
: opcional: una dirección IPv4 externa estática que se usará con la interfaz de red. Debes haber reservado una dirección IPv4 externa previamente.RDMA_NAME_PREFIX
: el prefijo de nombre que has usado al crear la red de VPC y la subred de la interfaz IRDMA.RESERVATION
: en este valor, puede especificar una de las siguientes opciones:- Si usas una política de asignación o si las VMs se pueden colocar en cualquier lugar de tu bloque de reserva, especifica el nombre de la reserva (por ejemplo,
h4d-highmem-exfr-prod
). - Si quieres que las instancias se coloquen en un bloque específico y no usas una política de colocación compacta, especifica un nombre de bloque de reserva como
RESERVATION_NAME/reservationBlocks/
RESERVATION_BLOCK_NAME, for example,
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1`.
Para ver el nombre de la reserva o los bloques de reserva disponibles, consulta Ver capacidad.
- Si usas una política de asignación o si las VMs se pueden colocar en cualquier lugar de tu bloque de reserva, especifica el nombre de la reserva (por ejemplo,
Opcional: Si usas una política de colocación compacta, sustituye
...
en el cuerpo de la solicitud por el siguiente campo:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ],
Haz los cambios siguientes:
PROJECT_ID
: el ID de proyecto de la política de posición compacta.REGION
: la región de la política de posición compacta.POLICY_NAME
: el nombre de la política de posición compacta.
Envía la solicitud.
En la consola de Google Cloud , ve a la página Instancias de VM.
Seleccione las filas que contengan las instancias de VM que ha creado en este tutorial.
Haz clic en
Eliminar y, a continuación, en Eliminar para confirmar la acción.Para eliminar la política de emplazamiento, usa el comando
gcloud compute resource-policies delete
.gcloud compute resource-policies delete POLICY_NAME \ --region=REGION
Haz los cambios siguientes:
POLICY_NAME
: el nombre de la política de emplazamientoREGION
: la región en la que se encuentra la política de emplazamiento
Reservar bloques de capacidad para tu implementación
En este documento se explica cómo reservar bloques de capacidad solicitando a tu equipo de cuenta que cree una solicitud de reserva futura. Usa este tipo de reserva para obtener capacidad para despliegues densos de instancias de VM. Para obtener un resumen de todas las opciones de consumo, consulta lo siguiente:
Esta acción te permite reservar bloques de capacidad durante un periodo definido, a partir de una fecha y una hora concretas que elijas. Según tu solicitud, Google crea un borrador de solicitud de reserva futura. Después de revisar y enviar esta solicitud de borrador, y de que Google Cloud la apruebe, Compute Engine creará automáticamente (creación automática) una reserva vacía. A continuación, a la hora de inicio que hayas elegido, Compute Engine aprovisionará la capacidad solicitada en la reserva creada automáticamente. Después, puedes usar la reserva para crear instancias de máquina virtual hasta que finalice el periodo de reserva.
Como parte del proceso de solicitud de reserva futura, Google gestiona la cuota de tus recursos reservados. No es necesario que solicites cuota. A la hora de inicio de la reserva futura aprobada, Google aumenta tu cuota si no tienes suficiente para los recursos reservados.
Para reservar bloques de capacidad, siga estos pasos:
Opcional: Crear una política de emplazamiento
Usa una política de emplazamiento si quieres que tus VMs se coloquen lo más cerca posible unas de otras. Sin embargo, si quieres que tus VMs estén en un bloque específico, omite este paso y proporciona el nombre del bloque necesario durante la creación en bloque de VMs.
Las instancias que se comunican mediante Cloud RDMA deben estar ubicadas en una sola zona y, de forma más estricta, en un solo tejido de clúster. Puede crear una política de emplazamiento compacto y especificar un valor de distancia máxima para definir la compacidad mínima en una zona. Hay un límite en el número de instancias a las que puedes asignar la política de colocación compacta cuando especificas un valor de distancia máxima. Este límite cambia en función del valor que elijas.
Para crear una política de colocación compacta, selecciona una de las siguientes opciones:
gcloud
Para crear una política de emplazamiento compacta, usa el comando gcloud beta compute resource-policies create group-placement
.
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
Haz los cambios siguientes:
REST
Para crear una política de emplazamiento compacta, haz una solicitud POST
al método beta.resourcePolicies.insert
.
En el cuerpo de la solicitud, incluye el campo collocation
con el valor COLLOCATED
y el campo maxDistance
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": "MAX_DISTANCE"
}
}
Haz los cambios siguientes:
Crear redes de nube privada virtual
Las instancias habilitadas para RDMA requieren un mínimo de dos interfaces de red (NICs):
Las instancias que usan Cloud RDMA solo pueden tener una interfaz IRDMA
. Puedes añadir hasta ocho interfaces de red GVNIC
adicionales, lo que hace un total de 10 NICs por instancia.
Consulta las siguientes reglas para configurar una interfaz de red de una instancia:
Para configurar las redes de nube privada virtual (VPC) de Falcon que se van a usar con tus instancias, puedes seguir las instrucciones documentadas o usar la secuencia de comandos proporcionada.
Guías de instrucciones
Para crear las redes, puedes seguir estas instrucciones:
Secuencia de comandos
Puedes crear hasta nueve interfaces de red GVNIC
y una interfaz de red IRDMA
por instancia. Cada interfaz de red debe conectarse a una red independiente. Para crear las redes, puedes usar la siguiente secuencia de comandos, que crea dos redes para GVNIC
y una red para IRDMA
que usa el perfil de red de VPC Falcon.
#!/bin/bash
# Create standard VPC (networks and subnets) for the two GVNIC interfaces
for N in $(seq 0 1); do
gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
--subnet-mode=custom
gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
--network=GVNIC_NAME_PREFIX-net-$N \
--region=<var>REGION</var> \
--range=10.$N.0.0/16
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
--network=GVNIC_NAME_PREFIX-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=10.0.0.0/8
done
# Create SSH firewall rules
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
--network=GVNIC_NAME_PREFIX-net-0 \
--action=ALLOW \
--rules=tcp:22 \
--source-ranges=IP_RANGE
# Optional: Create a firewall rule for the external IP address for the
# first GVNIC network interface
gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
--network=GVNIC_NAME_PREFIX-net-0 \
--action=ALLOW \
--rules=icmp \
--source-ranges=IP_RANGE
# Create a network for the RDMA over Falcon network interface
gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \
--network-profile=ZONE-vpc-falcon \
--subnet-mode custom
# Create a subnet for the RDMA network
gcloud beta compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
--network=RDMA_NAME_PREFIX-irdma \
--region=REGION \
--range=10.2.0.0/16
# offset to avoid overlap with GVNIC subnet ranges
Haz los cambios siguientes:
Crear instancias con RDMA en bloque
Consulta las siguientes limitaciones antes de crear instancias H4D con RDMA en la nube:
En los siguientes pasos se muestra cómo crear instancias con RDMA habilitado de forma masiva con las dos primeras interfaces de red configuradas como interfaces GVNIC y la tercera interfaz de red configurada como interfaz de red IRDMA:
gcloud
Usa el comando gcloud compute instances create
con tres marcas --network-interface
, dos para las interfaces GVNIC y
una para la interfaz IRDMA. Si has elegido usar una política de emplazamiento compacta, añade también la siguiente marca: --resource-policies=POLICY_NAME
.
Sustituye POLICY_NAME
por el nombre de la política de colocación compacta. Puedes personalizar el resto de las opciones de la instancia según sea necesario.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image=project= IMAGE_PROJECT \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination=action=DELETE \
--maintenance-policy=TERMINATE \
--region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC, \
network=GVNIC_NAME_PREFIX-net-0, \
subnet=GVNIC_NAME_PREFIX-sub-0, \
stack-type=STACK_TYPE, \
address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
network=GVNIC_NAME_PREFIX-net-1, \
subnet=GVNIC_NAME_PREFIX-sub-1, no-address \
--network-interface=nic-type=IRDMA, \
network=RDMA_NAME_PREFIX-irdma, \
subnet=RDMA_NAME_PREFIX-irdma-sub, \
stack-type=IPV4_ONLY, no-address
Haz los cambios siguientes:
REST
Para crear instancias con RDMA habilitado en bloque, haz una solicitud POST
al método
beta instances.bulkInsert
con los siguientes ajustes:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"networkInterfaces": [
{
"network": "GVNIC_NAME_PREFIX-net-0",
"subnetwork": "GVNIC_NAME_PREFIX-sub-0",
"accessConfigs": [
{
"type": "ONE_TO_ONE_NAT",
"name": "External IP",
"natIP": "EXTERNAL_IPV4_ADDRESS"
}
],
"stackType": "IPV4_ONLY",
"nicType": "GVNIC",
},
{
"network": "GVNIC_NAME_PREFIX-net-1",
"subnetwork": "GVNIC_NAME_PREFIX-sub-1",
"stackType": "IPV4_ONLY",
"nicType": "GVNIC",
},
{
"network": "RDMA_NAME_PREFIX-irdma",
"subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
"stackType": "IPV4_ONLY",
"nicType": "IRDMA",
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
],
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
},
...
}
}
Este agente debe seguir estos pasos:
Limpieza
Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.
Eliminar un proyecto
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID