En este documento se describe cómo reducir la latencia de red entre tus instancias de Compute Engine creando y aplicando políticas de colocación compacta. Para obtener más información sobre las políticas de colocación, incluidas las series de máquinas admitidas, las restricciones y los precios, consulta el artículo sobre las políticas de colocación.
Una política de colocación compacta especifica que las instancias deben colocarse físicamente más cerca unas de otras. Esto puede ayudar a mejorar el rendimiento y reducir la latencia de red entre tus instancias cuando, por ejemplo, ejecutas cargas de trabajo de computación de alto rendimiento (HPC), aprendizaje automático (ML) o servidores de bases de datos.
Antes de empezar
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para crear y aplicar una política de colocación compacta a las instancias de proceso, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:
-
Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
) -
Para crear una reserva, sigue estos pasos:
Administrador de Compute (
roles/compute.admin
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para crear y aplicar una política de colocación compacta a las instancias de Compute. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear y aplicar una política de colocación compacta a las instancias de proceso, se necesitan los siguientes permisos:
-
Para crear políticas de emplazamiento, sigue estos pasos:
compute.resourcePolicies.create
en el proyecto -
Para aplicar una política de colocación a las instancias existentes, sigue estos pasos:
compute.instances.addResourcePolicies
en el proyecto -
Para crear instancias, sigue estos pasos:
compute.instances.create
en el proyecto- Para usar una imagen personalizada para crear la VM, haz clic en
compute.images.useReadOnly
en la imagen. - Para usar una captura para crear la VM,
compute.snapshots.useReadOnly
en la captura - Para usar una plantilla de instancia para crear la VM, haz clic en
compute.instanceTemplates.useReadOnly
en la plantilla de instancia. - Para asignar una red antigua a la VM, haz lo siguiente:
compute.networks.use
en el proyecto - Para especificar una dirección IP estática para la máquina virtual,
compute.addresses.use
en el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red antigua, haz lo siguiente:
compute.networks.useExternalIp
en el proyecto - Para especificar una subred para la VM,
compute.subnetworks.use
en el proyecto o en la subred elegida. - Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida. - Para definir los metadatos de la instancia de VM de la VM:
compute.instances.setMetadata
en el proyecto, - Para definir etiquetas en la máquina virtual,
compute.instances.setTags
en la máquina virtual - Para definir etiquetas de la VM,
compute.instances.setLabels
en la VM - Para definir una cuenta de servicio que use la VM, haz lo siguiente en la VM:
compute.instances.setServiceAccount
- Para crear un disco para la VM
compute.disks.create
del proyecto, sigue estos pasos: - Para adjuntar un disco en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.use
en el disco - Para adjuntar un disco en modo de solo lectura,
compute.disks.useReadOnly
en el disco.
-
Para crear una reserva, sigue estos pasos:
compute.reservations.create
en el proyecto -
Para crear una plantilla de instancia, sigue estos pasos:
compute.instanceTemplates.create
en el proyecto -
Para crear un grupo de instancias gestionado (MIG), sigue estos pasos:
compute.instanceGroupManagers.create
en el proyecto -
Para ver los detalles de una instancia:
compute.instances.get
en el proyecto
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Crear una política de colocación compacta
Antes de crear una política de emplazamiento compacta, tenga en cuenta lo siguiente:
Si quiere aplicar una política de colocación compacta a una instancia de VM que no sea N2 ni N2D, le recomendamos que especifique un valor de distancia máximo.
Solo puedes aplicar políticas de colocación compacta a instancias A4 o A3 Ultra que se hayan implementado con las funciones que proporciona Cluster Director. Para obtener más información, consulta Cluster Director en la documentación de AI Hypercomputer.
De forma predeterminada, no puedes aplicar políticas de colocación compacta con un valor de distancia máxima a instancias A3 mega, A3 high o A3 edge. Para solicitar acceso a esta función, ponte en contacto con tu gestor técnico de cuentas (TAM) o con el equipo de Ventas.
Para crear una política de colocación compacta, selecciona una de las siguientes opciones:
gcloud
Para aplicar la política de emplazamiento compacto a instancias N2 o N2D, crea la política con el comando
gcloud compute resource-policies create group-placement
y la marca--collocation=collocated
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION
Haz los cambios siguientes:
POLICY_NAME
: el nombre de la política de posición compacta.REGION
: la región en la que se va a crear la política de emplazamiento.
Para aplicar la política de emplazamiento compacto a cualquier otra instancia admitida, crea la política con el comando
gcloud beta compute resource-policies create group-placement
y las marcas--collocation=collocated
y--max-distance
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
Haz los cambios siguientes:
POLICY_NAME
: el nombre de la política de posición compacta.MAX_DISTANCE
: la configuración de distancia máxima de tus instancias. El valor debe estar comprendido entre1
, que especifica que las instancias se coloquen en el mismo rack para que la latencia de red sea lo más baja posible, y3
, que especifica que las instancias se coloquen en clústeres adyacentes. Si quieres aplicar la política de colocación compacta a una reserva o a una instancia Ultra A4 o A3, no puedes especificar el valor1
.REGION
: la región en la que se va a crear la política de emplazamiento.
REST
Para aplicar la política de colocación compacta a instancias N2 o N2D, crea la política haciendo una solicitud
POST
al métodoresourcePolicies.insert
. En el cuerpo de la solicitud, incluye el campocollocation
y asigna el valorCOLLOCATED
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que quieres crear la política de emplazamiento.REGION
: la región en la que se va a crear la política de emplazamiento.POLICY_NAME
: el nombre de la política de posición compacta.
Para aplicar la política de posición compacta a cualquier otra instancia admitida, crea la política haciendo una solicitud
POST
al métodobeta.resourcePolicies.insert
. En el cuerpo de la solicitud, incluye lo siguiente:El campo
collocation
se ha definido comoCOLLOCATED
.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:
PROJECT_ID
: el ID del proyecto en el que quieres crear la política de emplazamiento.REGION
: la región en la que se va a crear la política de emplazamiento.POLICY_NAME
: el nombre de la política de posición compacta.MAX_DISTANCE
: la configuración de distancia máxima de tus instancias. El valor debe estar comprendido entre1
, que especifica que las instancias se coloquen en el mismo rack para que la latencia de red sea lo más baja posible, y3
, que especifica que las instancias se coloquen en clústeres adyacentes. Si quieres aplicar la política de colocación compacta a una reserva o a una instancia Ultra A4 o A3, no puedes especificar el valor1
.
Aplicar una política de colocación compacta
Puedes aplicar una política de colocación compacta a una instancia de cálculo o a un grupo de instancias gestionado (MIG) que ya tengas, o bien al crear instancias, plantillas de instancias, MIGs o reservas de instancias.
Para aplicar una política de colocación compacta a un recurso de Compute Engine, selecciona uno de los siguientes métodos:
- Aplica la política a una instancia.
- Aplica la política al crear una instancia.
- Aplica la política al crear instancias en bloque.
- Aplica la política al crear una reserva.
- Aplica la política al crear una plantilla de instancia.
- Aplica la política a las instancias de un MIG.
Después de aplicar una política de colocación compacta a una instancia, puedes verificar la ubicación física de la instancia en relación con otras instancias que especifiquen la misma política de colocación.
Aplicar la política a una instancia
Antes de aplicar una política de colocación compacta a una instancia de proceso, asegúrate de que se cumplen los siguientes requisitos:
La instancia y la política de colocación compacta deben estar en la misma región. Por ejemplo, si la política de colocación se encuentra en la región
us-central1
, la instancia debe estar en una zona deus-central1
. Si necesitas migrar una instancia a otra región, consulta Mover una instancia entre zonas o regiones.La instancia debe usar una serie de máquinas y una política de mantenimiento del host compatibles. Si necesitas hacer cambios en la instancia, haz una o ambas de las siguientes acciones:
De lo contrario, no se podrá aplicar la política de colocación compacta a la instancia. Si la instancia ya especifica una política de colocación y quieres sustituirla, consulta Sustituir una política de colocación en una instancia.
Para aplicar una política de emplazamiento compacta a una instancia, selecciona una de las siguientes opciones:
gcloud
Para aplicar una política de emplazamiento compacta a una instancia, usa el comando
gcloud compute instances add-resource-policies
.gcloud compute instances add-resource-policies INSTANCE_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de una instancia.POLICY_NAME
: el nombre de una política de posición compacta.ZONE
: la zona en la que se encuentra la instancia.
REST
Para aplicar una política de colocación compacta a una instancia, envía una solicitud
POST
al métodoinstances.addResourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentran la política de emplazamiento compacta y la instancia.ZONE
: la zona en la que se encuentra la instancia.INSTANCE_NAME
: el nombre de una instancia.REGION
: la región en la que se encuentra la política de colocación compacta.POLICY_NAME
: el nombre de una política de posición compacta.
Aplicar la política al crear una instancia
Solo puedes crear una instancia de proceso que especifique una política de colocación compacta en la misma región que la política de colocación.
Para crear una instancia que especifique una política de colocación compacta, selecciona una de las siguientes opciones:
gcloud
Para crear una instancia que especifique una política de colocación compacta, usa el comando
gcloud compute instances create
con las marcas--maintenance-policy
y--resource-policies
.gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia que se va a crear.MACHINE_TYPE
: un tipo de máquina admitido para las políticas de colocación compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la instancia. Si la política de colocación compacta que especifiques usa un valor de distancia máxima de1
o2
, o si el tipo de máquina que elijas no admite la migración en directo, solo podrás especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.POLICY_NAME
: el nombre de una política de posición compacta.ZONE
: la zona en la que se creará la instancia.
REST
Para crear una instancia que especifique una política de colocación compacta, haz una solicitud
POST
al métodoinstances.insert
. En el cuerpo de la solicitud, incluye los camposonHostMaintenance
yresourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la política de emplazamiento compacta.ZONE
: la zona en la que se va a crear la instancia y en la que se encuentra el tipo de máquina. Solo puedes especificar una zona en la región de la política de colocación compacta.INSTANCE_NAME
: el nombre de la instancia que se va a crear.MACHINE_TYPE
: un tipo de máquina admitido para las políticas de colocación compacta.IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen (por ejemplo,debian-cloud
). Para obtener más información sobre los proyectos de imágenes admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
REGION
: la región en la que se encuentra la política de posición compacta.POLICY_NAME
: el nombre de una política de posición compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la instancia. Si la política de colocación compacta que especifiques usa un valor de distancia máxima de1
o2
, o si el tipo de máquina que elijas no admite la migración en directo, solo podrás especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.
Para obtener más información sobre las opciones de configuración para crear una instancia, consulta Crear e iniciar una instancia.
Aplicar la política al crear instancias en bloque
Solo puedes crear instancias de proceso de forma masiva con una política de colocación compacta en la misma región que la política de colocación.
Para crear instancias en bloque que especifiquen una política de colocación compacta, selecciona una de las siguientes opciones:
gcloud
Para crear instancias de forma masiva que especifiquen una política de colocación compacta, usa el comando
gcloud compute instances bulk create
con las marcas--maintenance-policy
y--resource-policies
.Por ejemplo, para crear instancias en bloque en una sola zona y especificar un patrón de nombre para las instancias, ejecuta el siguiente comando:
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
Haz los cambios siguientes:
COUNT
: número de instancias que se van a crear, que no puede ser superior al número máximo de instancias admitido de la política de asignación compacta especificada.MACHINE_TYPE
: un tipo de máquina admitido para las políticas de colocación compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la instancia. Si la política de colocación compacta que especifiques usa un valor de distancia máxima de1
o2
, o si el tipo de máquina que elijas no admite la migración en directo, solo podrás especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.NAME_PATTERN
: el patrón de nombre de las instancias. Para sustituir una secuencia de números en un nombre de instancia, utiliza una secuencia de caracteres de almohadilla (#
). Por ejemplo, si se usavm-#
para el patrón de nombre, se generan instancias con nombres que empiezan porvm-1
,vm-2
y así sucesivamente hasta el número de instancias especificado porCOUNT
.POLICY_NAME
: el nombre de una política de posición compacta.ZONE
: la zona en la que se crearán las instancias en bloque.
REST
Para crear instancias de forma masiva que especifiquen una política de colocación compacta, haz una solicitud
POST
al métodoinstances.bulkInsert
. En el cuerpo de la solicitud, incluye los camposonHostMaintenance
yresourcePolicies
.Por ejemplo, para crear instancias de forma masiva en una sola zona y especificar un patrón de nombres para las instancias, haz una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": "COUNT", "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la política de emplazamiento compacta.ZONE
: la zona en la que se crearán las instancias en bloque.COUNT
: número de instancias que se van a crear, que no puede ser superior al número máximo de instancias admitido de la política de colocación compacta especificada.NAME_PATTERN
: el patrón de nombre de las instancias. Para sustituir una secuencia de números en un nombre de instancia, utiliza una secuencia de caracteres de almohadilla (#
). Por ejemplo, si se usavm-#
para el patrón de nombre, se generan instancias con nombres que empiezan porvm-1
,vm-2
y así sucesivamente hasta el número de instancias especificado porCOUNT
.MACHINE_TYPE
: un tipo de máquina admitido para las políticas de colocación compacta.IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen (por ejemplo,debian-cloud
). Para obtener más información sobre los proyectos de imágenes admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
REGION
: la región en la que se encuentra la política de posición compacta.POLICY_NAME
: el nombre de una política de posición compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la instancia. Si la política de colocación compacta que especifiques usa un valor de distancia máxima de1
o2
, o si el tipo de máquina que has elegido no admite la migración en directo, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.
Para obtener más información sobre las opciones de configuración para crear instancias en bloque, consulta Crear instancias en bloque.
Aplicar la política al crear una reserva
Si quieres crear una reserva de un solo proyecto bajo demanda que especifique una política de emplazamiento compacta, debes crear una reserva con segmentación específica. Cuando crees instancias para consumir la reserva, asegúrate de lo siguiente:
Las instancias deben especificar la misma política de colocación compacta aplicada a la reserva.
Las instancias deben segmentar específicamente la reserva para consumirla. Para obtener más información, consulta Consumir instancias de una reserva específica.
Para crear una reserva de un solo proyecto con una política de colocación compacta, selecciona uno de los siguientes métodos:
Crea la reserva especificando las propiedades directamente, tal como se describe en esta sección.
Aplica la política al crear una plantilla de instancia, tal como se describe en este documento, y, a continuación, crea una reserva de un solo proyecto especificando la plantilla de instancia que acabas de crear.
Para crear una reserva de un solo proyecto con una política de colocación compacta especificando las propiedades directamente, selecciona una de las siguientes opciones:
gcloud
Para crear una reserva de un solo proyecto con una política de colocación compacta especificando las propiedades directamente, usa el comando
gcloud compute reservations create
con las marcas--require-specific-reservation
y--resource-policies=policy
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --resource-policies=policy=POLICY_NAME \ --vm-count=NUMBER_OF_INSTANCES \ --zone=ZONE
Haz los cambios siguientes:
RESERVATION_NAME
: el nombre de la reserva.MACHINE_TYPE
: un tipo de máquina admitido para las políticas de colocación compacta.POLICY_NAME
: el nombre de una política de posición compacta.NUMBER_OF_INSTANCES
: el número de instancias que se van a reservar, que no puede ser superior al número máximo de instancias admitido de la política de asignación compacta especificada.ZONE
: la zona en la que se reservarán las instancias. Solo puedes reservar instancias en una zona de la región de la política de colocación compacta especificada.
REST
Para crear una reserva de un solo proyecto con una política de emplazamiento compacta especificando las propiedades directamente, haz una solicitud
POST
al métodoreservations.insert
. En el cuerpo de la solicitud, incluye el camporesourcePolicies
y el campospecificReservationRequired
con el valortrue
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_INSTANCES", "instanceProperties": { "machineType": "MACHINE_TYPE", } }, "specificReservationRequired": true }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la política de emplazamiento compacta.ZONE
: la zona en la que se reservarán las instancias. Solo puedes reservar instancias en una zona de la región de la política de colocación compacta especificada.RESERVATION_NAME
: el nombre de la reserva.REGION
: la región en la que se encuentra la política de posición compacta.POLICY_NAME
: el nombre de una política de posición compacta.NUMBER_OF_INSTANCES
: el número de instancias que se van a reservar, que no puede ser superior al número máximo de instancias admitido de la política de asignación compacta especificada.MACHINE_TYPE
: un tipo de máquina admitido para las políticas de colocación compacta.
Para obtener más información sobre las opciones de configuración para crear reservas de un solo proyecto, consulta el artículo Crear una reserva para un solo proyecto.
Aplicar la política al crear una plantilla de instancia
Si quieres crear una plantilla de instancia regional, debes crearla en la misma región que la política de emplazamiento compacta. De lo contrario, no se podrá crear la plantilla de instancia.
Después de crear una plantilla de instancia que especifique una política de colocación compacta, puedes usarla para hacer lo siguiente:
Para crear una plantilla de instancia que especifique una política de colocación compacta, selecciona una de las siguientes opciones:
gcloud
Para crear una plantilla de instancia que especifique una política de colocación compacta, usa el comando
gcloud compute instance-templates create
con las marcas--maintenance-policy
y--resource-policies
.Por ejemplo, para crear una plantilla de instancia global que especifique una política de colocación compacta, ejecuta el siguiente comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME
Haz los cambios siguientes:
INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia.MACHINE_TYPE
: un tipo de máquina admitido para las políticas de colocación compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la instancia. Si la política de colocación compacta que especifiques usa un valor de distancia máxima de1
o2
, o si el tipo de máquina que has elegido no admite la migración en directo, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.POLICY_NAME
: el nombre de una política de posición compacta.
REST
Para crear una plantilla de instancia que especifique una política de colocación compacta, haz una solicitud
POST
a uno de los siguientes métodos:Para crear una plantilla de instancia global, usa el método
instanceTemplates.insert
.Para crear una plantilla de instancia regional, usa el método
regionInstanceTemplates.insert
.
En el cuerpo de la solicitud, incluye los campos
onHostMaintenance
yresourcePolicies
.Por ejemplo, para crear una plantilla de instancia global que especifique una política de colocación compacta, haz una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la política de emplazamiento compacta.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia.IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen (por ejemplo,debian-cloud
). Para obtener más información sobre los proyectos de imágenes admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
MACHINE_TYPE
: un tipo de máquina admitido para las políticas de colocación compacta.POLICY_NAME
: el nombre de una política de posición compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la instancia. Si la política de colocación compacta que especifiques usa un valor de distancia máxima de1
o2
, o si el tipo de máquina que elijas no admite la migración en directo, solo podrás especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.
Para obtener más información sobre las opciones de configuración para crear una plantilla de instancia, consulta Crear plantillas de instancia.
Aplicar la política a las instancias de un MIG
Después de crear una plantilla de instancia que especifique una política de colocación compacta, puedes usar la plantilla para hacer lo siguiente:
Aplicar la política al crear un MIG
Solo puedes crear instancias de proceso que especifiquen una política de colocación compacta si las instancias se encuentran en la misma región que la política de colocación.
Para crear un MIG con una plantilla de instancia que especifique una política de colocación compacta, selecciona una de las siguientes opciones:
gcloud
Para crear un MIG con una plantilla de instancia que especifique una política de colocación compacta, usa el comando
gcloud compute instance-groups managed create
.Por ejemplo, para crear un MIG zonal con una plantilla de instancia global que especifique una política de colocación compacta, ejecuta el siguiente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_GROUP_NAME
: el nombre del MIG que se va a crear.SIZE
: el tamaño de la MIG.INSTANCE_TEMPLATE_NAME
: el nombre de una plantilla de instancia global que especifica una política de colocación compacta.ZONE
: la zona en la que se creará el MIG, que debe estar en la región en la que se encuentre la política de colocación compacta.
REST
Para crear un MIG con una plantilla de instancia que especifique una política de colocación compacta, haz una solicitud
POST
a uno de los siguientes métodos:Para crear un MIG zonal, usa el método
instanceGroupManagers.insert
.Para crear un MIG regional, usa el método
regionInstanceGroupManagers.insert
.
Por ejemplo, para crear un MIG zonal con una plantilla de instancia global que especifique una política de colocación compacta, haz una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ] }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentran la política de colocación compacta y la plantilla de instancia que especifica la política de colocación.ZONE
: la zona en la que se creará el MIG, que debe estar en la región en la que se encuentra la política de colocación compacta.INSTANCE_GROUP_NAME
: el nombre del MIG que se va a crear.INSTANCE_TEMPLATE_NAME
: el nombre de una plantilla de instancia global que especifica una política de colocación compacta.SIZE
: el tamaño de la MIG.
Para obtener más información sobre las opciones de configuración para crear MIGs, consulta Escenarios básicos para crear MIGs.
Aplicar la política a un MIG
Solo puedes aplicar una política de colocación compacta a un MIG si este se encuentra en la misma región que la política de colocación o, en el caso de los MIGs zonales, en una zona de la misma región que la política de colocación.
Para actualizar un MIG de forma que use una plantilla de instancia que especifique una política de colocación compacta, selecciona una de las siguientes opciones:
gcloud
Para actualizar un MIG de forma que use una plantilla de instancia que especifique una política de colocación compacta, usa el comando
gcloud compute instance-groups managed rolling-action start-update
.Por ejemplo, para actualizar un MIG zonal de forma que use una plantilla de instancia que especifique una política de colocación compacta y sustituir las instancias del MIG por otras que especifiquen las propiedades de la plantilla, ejecuta el siguiente comando:
gcloud compute instance-groups managed rolling-action start-update MIG_NAME \ --version=template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Haz los cambios siguientes:
MIG_NAME
: el nombre de un MIG.INSTANCE_TEMPLATE_NAME
: el nombre de una plantilla de instancia global que especifica una política de colocación compacta.ZONE
: la zona en la que se encuentra el MIG. Solo puedes aplicar la política de colocación compacta a un MIG ubicado en la misma región que la política de colocación.
REST
Para actualizar un MIG de forma que use una plantilla de instancia que especifique una política de colocación compacta y aplicar automáticamente las propiedades de la plantilla y de la política de colocación a las instancias del MIG, haz una solicitud
PATCH
a uno de los siguientes métodos:Para actualizar un MIG zonal, usa el método
instanceGroupManagers.insert
.Para actualizar un MIG regional, usa el método
regionInstanceGroupManagers.insert
.
Por ejemplo, para actualizar un MIG zonal de forma que use una plantilla de instancia global que especifique una política de colocación compacta y sustituir las instancias del MIG por otras que especifiquen las propiedades de la plantilla, haz la siguiente solicitud
PATCH
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentran el MIG, la política de colocación compacta y la plantilla de instancia que especifica la política de colocación.ZONE
: la zona en la que se encuentra el MIG. Solo puedes aplicar la política de colocación compacta a un MIG ubicado en la misma región que la política de colocación.MIG_NAME
: el nombre de un MIG.INSTANCE_TEMPLATE_NAME
: el nombre de una plantilla de instancia global que especifica una política de colocación compacta.
Para obtener más información sobre las opciones de configuración para actualizar las instancias de un MIG, consulta Actualizar y aplicar nuevas configuraciones a las instancias de un MIG.
Verificar la ubicación física de una instancia
Después de aplicar una política de colocación compacta a una instancia de computación, puedes ver la ubicación física de la instancia en relación con otras instancias. Esta comparación se limita a las instancias ubicadas en tu proyecto y que especifican la misma política de colocación compacta. Ver la ubicación física de una instancia te ayuda a hacer lo siguiente:
Confirma que la política se ha aplicado correctamente.
Identifica qué instancias están más cerca entre sí.
Para ver la ubicación física de una instancia en relación con otras instancias que especifican la misma política de colocación compacta, selecciona una de las siguientes opciones:
gcloud
Para ver la ubicación física de una instancia que especifica una política de emplazamiento compacto, usa el comando
gcloud compute instances describe
con la marca--format
.gcloud compute instances describe INSTANCE_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de una instancia que especifica una política de colocación compacta.ZONE
: la zona en la que se encuentra la instancia.
El resultado debería ser similar al siguiente:
VM-Position RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy'] PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA
El valor del campo
PHYSICAL_HOST
se compone de tres partes. Cada una de estas partes representa el clúster, el rack y el host en los que se encuentra la instancia.Al comparar la posición de dos instancias que usan la misma política de colocación compacta en tu proyecto, cuantas más partes del campo
PHYSICAL_HOST
compartan las instancias, más cerca estarán físicamente entre sí. Por ejemplo, supongamos que dos instancias especifican uno de los siguientes valores de ejemplo para el campoPHYSICAL_HOST
:/CCCCCCC/xxxxxx/xxxx
: las dos instancias se colocan en el mismo clúster, lo que equivale a un valor de distancia máximo de2
. Las instancias colocadas en el mismo clúster experimentan una latencia de red baja./CCCCCCC/BBBBBB/xxxx
: las dos instancias se colocan en el mismo rack, lo que equivale a una distancia máxima de1
. Las instancias colocadas en el mismo rack tienen una latencia de red menor que las instancias colocadas en el mismo clúster./CCCCCCC/BBBBBB/AAAA
: las dos instancias comparten el mismo host. Las instancias colocadas en el mismo host minimizan la latencia de red lo máximo posible.
REST
Para ver la ubicación física de una instancia que especifica una política de colocación compacta, haz una solicitud
GET
al métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la instancia.ZONE
: la zona en la que se encuentra la instancia.INSTANCE_NAME
: el nombre de una instancia que especifica una política de colocación compacta.
El resultado debería ser similar al siguiente:
{ ... "resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy" ], "resourceStatus": { "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx" }, ... }
El valor del campo
physicalHost
se compone de tres partes. Cada una de estas partes representa el clúster, el rack y el host en los que se encuentra la instancia.Al comparar la posición de dos instancias que usan la misma política de colocación compacta en tu proyecto, cuantas más partes del campo
physicalHost
compartan las instancias, más cerca estarán físicamente entre sí. Por ejemplo, supongamos que dos instancias especifican uno de los siguientes valores de ejemplo para el campophysicalHost
:/CCCCCCC/xxxxxx/xxxx
: las dos instancias se colocan en el mismo clúster, lo que equivale a un valor de distancia máximo de2
. Las instancias colocadas en el mismo clúster experimentan una latencia de red baja./CCCCCCC/BBBBBB/xxxx
: las dos instancias se colocan en el mismo rack, lo que equivale a una distancia máxima de1
. Las instancias colocadas en el mismo rack experimentan una latencia de red menor que las instancias colocadas en el mismo clúster./CCCCCCC/BBBBBB/AAAA
: las dos instancias comparten el mismo host. Las instancias colocadas en el mismo host minimizan la latencia de red lo máximo posible.
Siguientes pasos
Consulta cómo ver las políticas de emplazamiento.
Consulta cómo sustituir, quitar o eliminar políticas de emplazamiento.
Consulta cómo hacer lo siguiente con una instancia de proceso que especifique una política de colocación:
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-