En este documento, se explica cómo reducir la latencia de red entre las instancias de máquina virtual (VM) a través de la creación y aplicación de políticas de posición de compactación.
Una política de posición de compactación especifica que tus VMs deben colocarse físicamente más cerca entre sí. Esto puede ayudar a mejorar el rendimiento y reducir la latencia de red entre las VMs cuando, por ejemplo, ejecutas cargas de trabajo de computación de alto rendimiento (HPC), aprendizaje automático (AA) o servidor de base de datos.
Antes de comenzar
-
Configura la autenticación si aún no lo hiciste.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Para crear una reserva:
Administrador de Compute (
roles/compute.admin
) -
Para crear políticas de posición:
compute.resourcePolicies.create
en el proyecto -
Para aplicar una política de posición a las VMs existentes:
compute.instances.addResourcePolicies
en el proyecto -
Para crear VMs, sigue estos pasos:
compute.instances.create
en el proyecto- Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen - Si deseas usar una instantánea para crear la VM, sigue estos pasos:
compute.snapshots.useReadOnly
en la instantánea - Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente:
compute.instanceTemplates.useReadOnly
en la plantilla de instancias - Para asignar una red heredada a la VM:
compute.networks.use
en el proyecto - Si deseas especificar una dirección IP estática para la VM;
compute.addresses.use
en el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red y punto heredado;
compute.networks.useExternalIp
en el proyecto - A fin de 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 - A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos:
compute.instances.setMetadata
en el proyecto - A fin de configurar etiquetas para la VM y los puntos;
compute.instances.setTags
en la VM - Si deseas configurar etiquetas para la VM, haz lo siguiente:
compute.instances.setLabels
en la VM - A fin de configurar una cuenta de servicio para que la VM la use
compute.instances.setServiceAccount
en la VM - Si deseas crear un disco nuevo para la VM:
compute.disks.create
en el proyecto - Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.use
en el disco - Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos:
compute.disks.useReadOnly
en el disco
-
Para crear una reserva:
compute.reservations.create
en el proyecto -
Para crear una plantilla de instancias:
compute.instanceTemplates.create
en el proyecto -
Para crear un grupo de instancias administrado (MIG) regional o zonal:
compute.instanceGroupManagers.create
en el proyecto -
Para ver los detalles de una VM:
compute.instances.get
en el proyecto Un valor de distancia máxima. Esto te permite controlar la distancia entre tus VMs cuando tienes requisitos estrictos de latencia de red. Según el tipo de máquina y la zona de las VMs a las que aplicas la política, se aplican las siguientes condiciones:
Si una zona tiene capacidad disponible, una política de posición compacta con una distancia máxima más alta (como
3
) puede provocar que tus VMs se coloquen más cerca unas de las otras.Si una zona carece de capacidad, es más probable que una política de posición compacta con una distancia máxima menor (como
1
) evite que la política se aplique a algunas VMs.
Además, los valores de distancia máxima afectan la cantidad de VMs a las que puedes aplicar la política de posición compacta, así como la política de mantenimiento del host de las VMs. Para obtener más información, consulta Restricciones de las políticas de posición compacta.
Una cantidad fija de VMs. Esto hace que la política de posición compacta sea efectiva solo cuando la aplicas a una cantidad específica de VMs. Si intentas aplicar la política de posición compacta a más VMs que la cantidad especificada, se generan errores. No puedes aplicar políticas de posición compacta con una cantidad fija de VMs a las reservas.
POLICY_NAME
: el nombre de la política que se creará.REGION
: la región en la que se creará la política. Si deseas aplicar la política de posición compacta a una VM existente, crea la política en una región que contenga la zona en la que se encuentra la VM.Para controlar mejor qué tan lejos se encuentran las VMs, usa el comando
gcloud beta compute resource-policies create group-placement
y, luego, incluye la marca--max-distance
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
Reemplaza
MAX_DISTANCE
por la configuración de distancia máxima para tus VMs. El valor debe estar entre1
, que especifica que tus VMs se deben colocar en el mismo bastidor para obtener la latencia de red más baja posible y,3
, que especifica que se deben colocar las VMs en los clústeres adyacentes. Si deseas aplicar la política de posición compacta a una reserva, no puedes especificar un valor de1
.Para que la política de posición compacta sea efectiva solo cuando se aplica a una cantidad específica de VMs, incluye la marca
--vm-count
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION \ --vm-count=VM_COUNT
Reemplaza
VM_COUNT
por la cantidad exacta de VMs a las que puedes aplicar la política de posición compacta. El valor debe ser entre1
y la cantidad máxima de VMs a las que puedes aplicar la política de posición compacta.PROJECT_ID
: el ID del proyecto en el que deseas crear la política de posición.REGION
: la región en la que se creará la política. Si deseas aplicar la política de posición compacta a una VM existente, crea la política en una región que contenga la zona en la que se encuentra la VM.POLICY_NAME
: el nombre de la política de posición compacta que se creará.Para controlar mejor qué tan lejos se encuentran las VMs, realiza una solicitud
POST
al métodobeta.resourcePolicies.insert
. En el cuerpo de la solicitud, incluye el campomaxDistance
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": "MAX_DISTANCE" } }
Reemplaza
MAX_DISTANCE
por la configuración de distancia máxima para tus VMs. El valor debe estar entre1
, que especifica que tus VMs se deben colocar en el mismo bastidor para obtener la latencia de red más baja posible y,3
, que especifica que se deben colocar las VMs en los clústeres adyacentes. Si deseas aplicar la política de posición compacta a una reserva, no puedes especificar un valor de1
.Para que la política de posición compacta sea efectiva solo cuando se aplica a una cantidad específica de VMs, incluye el campo
vmCount
en el cuerpo de la solicitud.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "vmCount": "VM_COUNT" } }
Reemplaza
VM_COUNT
por la cantidad exacta de VMs a las que puedes aplicar la política de posición compacta. El valor debe ser entre1
y la cantidad máxima de VMs a las que puedes aplicar la política de posición compacta.- Aplica una política de posición compacta a una VM existente.
- Crea una VM con una política de posición compacta.
- Crea VMs de forma masiva con una política de posición compacta.
- Crea una reserva con una política de posición compacta.
- Crea una plantilla de instancias con una política de posición compacta.
- Aplica una política de posición compacta a las VMs en un MIG.
La VM y la política de posición compacta deben estar ubicadas en la misma región. Por ejemplo, si la política de posición se encuentra en la región
us-central1
, la VM debe estar ubicada en una zona enus-central1
. Si necesitas migrar una VM a otra región, consulta Traslada una VM entre zonas o regiones.La VM debe usar una serie de máquinas y una política de mantenimiento del host compatibles. Si necesitas realizar cambios en la VM, realiza una de las siguientes acciones o ambas:
Si deseas aplicar una política de posición compacta que especifique una cantidad fija de VMs, debes actualizar la VM para que no se reinicie automáticamente después de un error de host.
Para aplicar una política de posición de compactación a una VM existente, usa el comando
gcloud compute instances add-resource-policies
con la marca--resource-policies
.gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONE
Reemplaza lo siguiente:
VM_NAME
: el nombre de una VM existente.POLICY_NAME
: el nombre de una política de posición de compactación existente.ZONE
: la zona donde se ubica la VM.
Para aplicar una política de posición compacta a una VM existente, realiza una solicitud
POST
al métodoinstances.addResourcePolicies
. En el cuerpo de la solicitud, incluye el camporesourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto en el que se encuentran la política de posición compacta y la VM.ZONE
: la zona en la que existe la VM, que debe estar dentro de la región en la que se encuentra la política de posición de compactación.VM_NAME
: el nombre de una VM existente.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 de compactación existente.
VM_NAME
: El nombre de la VM que se creará.MACHINE_TYPE
: un tipo de máquina compatible para las políticas de posición compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición compacta que especificas usa un valor de distancia máxima de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.POLICY_NAME
: el nombre de una política de posición de compactación existente. Si la política de posición compacta especifica una cantidad de VMs, debes incluir la marca--no-restart-on-failure
. Esto indica que la VM no se reinicia automáticamente después de un error de host.ZONE
: la zona donde se creará la VM.PROJECT_ID
: el ID del proyecto en el que se encuentra la política de posición compacta.ZONE
: la zona en la que se creará la VM y en la que se encuentra el tipo de máquina. Solo puedes especificar un tipo de máquina que esté disponible dentro de la región de la política de posición compacta.VM_NAME
: El nombre de la VM que se creará.MACHINE_TYPE
: un tipo de máquina compatible para las políticas de posición compacta.REGION
: la región en la que se encuentra la política de posición de compactación.POLICY_NAME
: el nombre de una política de posición de compactación existente. Si la política de posición compacta especifica una cantidad fija de VMs, en el camposcheduling
, debes incluir el campoautomaticRestart
configurado comofalse
. Esto indica que la VM no se reinicia automáticamente después de un error de host.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición compacta que especificas usa un valor de distancia máxima de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.COUNT
: la cantidad de VMs que se crearán, que no puede ser mayor que la cantidad máxima de VMs admitida para la política de posición compacta especificada.MACHINE_TYPE
: un tipo de máquina compatible para las políticas de posición compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición compacta que especificas usa un valor de distancia máxima de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.NAME_PATTERN
: el patrón de nombre para las VMs que se crearán. Usa el carácter de hash (#
) para reemplazarlo por una secuencia de números. Por ejemplo, si especificasvm-#
, se crean VMs con los nombresvm-1
,vm-2
, etc., hasta el número de VMs especificadas enCOUNT
.POLICY_NAME
: el nombre de una política de posición de compactación existente. Si la política de posición compacta especifica una cantidad de VMs, debes incluir la marca--no-restart-on-failure
. Esto indica que las VMs no se reinician automáticamente después de un error de host.ZONE
: la zona en la que se crearán las VMs de forma masiva.PROJECT_ID
: el ID del proyecto en el que se encuentra la política de posición compacta.ZONE
: la zona en la que se crearán las VMs de forma masiva.COUNT
: la cantidad de VMs que se crearán, que no puede ser mayor que la cantidad máxima de VMs admitida para la política de posición compacta especificada.MACHINE_TYPE
: un tipo de máquina compatible para las políticas de posición compacta.NAME_PATTERN
: el patrón de nombre para las VMs que se crearán. Usa el carácter de hash (#
) para reemplazarlo por una secuencia de números. Por ejemplo, si especificasvm-#
, se crean VMs con los nombresvm-1
,vm-2
, etc., hasta el número de VMs especificadas enCOUNT
.REGION
: la región en la que se encuentra la política de posición de compactación.POLICY_NAME
: el nombre de una política de posición de compactación existente. Si la política de posición compacta especifica una cantidad fija de VMs, en el camposcheduling
, debes incluir el campoautomaticRestart
configurado comofalse
. Esto indica que las VMs no se reinician automáticamente después de un error de host.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición compacta que especificas usa un valor de distancia máxima de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.Las VMs deben especificar la misma política de posición compacta aplicada a la reserva.
Las VMs deben orientarse específicamente a la reserva para consumirla. Para obtener más información, consulta Consume las VMs de una reserva específica.
Para crear la reserva, especifica las propiedades directamente como se describe en esta sección.
Crea una plantilla de instancias con una política de posición compacta como se describe en este documento y, luego, crea una reserva de un solo proyecto; para ello, especifica la plantilla de instancias recién creada.
RESERVATION_NAME
por el nombre de la reserva.MACHINE_TYPE
: un tipo de máquina compatible para las políticas de posición compacta.POLICY_NAME
: el nombre de una política de posición de compactación existente. No puedes especificar una política de posición compacta con una cantidad fija de VMs. De lo contrario, la creación de la reserva fallará.NUMBER_OF_VMS
: la cantidad de VMs que se reservarán, que no puede ser mayor que la cantidad máxima de VMs admitida para la política de posición compacta especificada.ZONE
: es la zona en la que se reservarán las VMs. Solo puedes reservar VMs en una zona dentro de la región de la política de posición compacta especificada.PROJECT_ID
: el ID del proyecto en el que se encuentra la política de posición compacta.ZONE
: es la zona en la que se reservarán las VMs. Solo puedes reservar VMs en una zona dentro de la región de la política de posición compacta especificada.RESERVATION_NAME
por el nombre de la reserva.REGION
: la región en la que se encuentra la política de posición de compactación.POLICY_NAME
: el nombre de una política de posición de compactación existente. No puedes especificar una política de posición compacta con una cantidad fija de VMs. De lo contrario, la creación de la reserva fallará.NUMBER_OF_VMS
: la cantidad de VMs que se reservarán, que no puede ser mayor que la cantidad máxima de VMs admitida para la política de posición compacta especificada.MACHINE_TYPE
: un tipo de máquina compatible para las políticas de posición compacta.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias.MACHINE_TYPE
: un tipo de máquina compatible para las políticas de posición compacta.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición compacta que especificas usa un valor de distancia máxima de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.POLICY_NAME
: el nombre de una política de posición de compactación existente. Si la política de posición compacta especifica una cantidad de VMs, debes incluir la marca--no-restart-on-failure
. Esto indica que las VMs creadas con la plantilla de instancias no se reinician automáticamente después de un error de host.Para crear una plantilla de instancias global: método
instanceTemplates.insert
.Para crear una plantilla de instancias regional: método
regionInstanceTemplates.insert
.PROJECT_ID
: el ID del proyecto en el que se encuentra la política de posición compacta que deseas aplicar a la plantilla de instancias.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias.IMAGE
oIMAGE_FAMILY
: especifica una de las siguientes opciones:IMAGE
: una versión específica de la imagen de SO; por ejemplo,debian-10-buster-v20200309
.IMAGE_FAMILY
: Es una familia de imágenes. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-10
, se usa la versión más reciente de la familia de imágenes de Debian 10. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
MACHINE_TYPE
: un tipo de máquina compatible para las políticas de posición compacta.POLICY_NAME
: el nombre de una política de posición de compactación existente. Si la política de posición compacta especifica una cantidad fija de VMs, en el camposcheduling
, debes incluir el campoautomaticRestart
configurado comofalse
. Esto indica que las VMs creadas con la plantilla de instancias no se reinician automáticamente después de un error de host.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición compacta que especificas usa un valor de distancia máxima de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.MIG_NAME
: el nombre del MIG que se creará.REGION
: la región en la que se crea el MIG, que debe coincidir con la región en la que se encuentra la política de posición de compactación.SIZE
: el tamaño del MIG.INSTANCE_TEMPLATE_NAME
: el nombre de una plantilla de instancias existente que especifica una política de posición de compactación.PROJECT_ID
: el ID del proyecto en el que se encuentran la política de posición compacta y la plantilla de instancias que especifica la política de posición.REGION
: la región en la que se crea el MIG, que debe coincidir con la región en la que se encuentra la política de posición de compactación.MIG_NAME
: el nombre del MIG que se creará.INSTANCE_TEMPLATE_NAME
: el nombre de una plantilla de instancias existente que especifica una política de posición de compactación.SIZE
: el tamaño del MIG.MIG_NAME
: el nombre de un MIG existente.REGION
: la región en la que se encuentra el MIG. Solo puedes aplicar la política de posición de compactación a un MIG que se encuentra en la misma región.INSTANCE_TEMPLATE_NAME
: el nombre de una plantilla de instancias existente que especifica una política de posición de compactación.PROJECT_ID
: el ID del proyecto en el que se encuentran el MIG, la política de posición compacta y la plantilla de instancias que especifica la política de posición.REGION
: la región en la que se encuentra el MIG. Solo puedes aplicar la política de posición de compactación a un MIG que se encuentra en la misma región.MIG_NAME
: el nombre de un MIG existente.INSTANCE_TEMPLATE_NAME
: el nombre de una plantilla de instancias existente que especifica una política de posición de compactación.VM_NAME
: el nombre de una VM existente.ZONE
: la zona donde se ubica la VM./CCCCCCC/xxxxxx/xxxx
: las dos VMs se colocan en la mismo clúster, que equivale a un valor de distancia máxima de2
. Las VMs ubicadas en el mismo clúster experimentan una latencia de red baja./CCCCCCC/BBBBBB/xxxx
: las dos VMs se colocan en el mismo bastidor, que equivale a un valor de distancia máxima de1
. Las VM ubicadas en el mismo bastidor experimentan una latencia de red más baja que las VMs ubicadas en el mismo clúster./CCCCCCC/BBBBBB/AAAA
: las dos VMs comparten el mismo host. Las VMs ubicadas en el mismo host minimizan la latencia de red tanto como sea posible.PROJECT_ID
: El ID del proyecto en el que se encuentra la VM.ZONE
: la zona donde se ubica la VM.VM_NAME
: el nombre de una VM existente que especifica una política de posición./CCCCCCC/xxxxxx/xxxx
: las dos VMs se colocan en la mismo clúster, que equivale a un valor de distancia máxima de2
. Las VMs ubicadas en el mismo clúster experimentan una latencia de red baja./CCCCCCC/BBBBBB/xxxx
: las dos VMs se colocan en el mismo bastidor, que equivale a un valor de distancia máxima de1
. Las VM ubicadas en el mismo bastidor experimentan una latencia de red más baja que las VMs ubicadas en el mismo clúster./CCCCCCC/BBBBBB/AAAA
: las dos VMs comparten el mismo host. Las VMs ubicadas en el mismo host minimizan la latencia de red tanto como sea posible.Obtén más información para ver las políticas de posición.
Obtén más información para reemplazar, quitar o borrar políticas de posición.
Obtén información sobre cómo hacer lo siguiente con una VM que especifica una política de posición:
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Roles obligatorios
Para obtener los permisos que necesitas para crear y aplicar una política de posición de compacta a las VMs, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
Si quieres obtener más información para otorgar roles, consulta Administra el acceso.
Estos roles predefinidos contienen los permisos necesarios para crear y aplicar una política de posición compacta a las VMs. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear y aplicar una política de posición de compactación a las VMs:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos
Crea una política de posición de compactación
Cuando creas una política de posición compacta, puedes especificar de forma opcional una de las siguientes opciones o ambas:
Para crear una política de posición compacta, usa gcloud CLI o REST.
gcloud
Para crear una política de posición de compactación, usa el comando
gcloud compute resource-policies create group-placement
con la marca--collocation=collocated
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION
Reemplaza lo siguiente:
De manera opcional, puedes hacer una de las siguientes acciones o ambas:
REST
Para crear una política de posición compacta, realiza una solicitud
POST
al métodoresourcePolicies.insert
. En el cuerpo de la solicitud, incluye el campocollocation
y configúralo comoCOLLOCATED
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
Reemplaza lo siguiente:
De manera opcional, puedes hacer una de las siguientes acciones o ambas:
Aplica políticas de posición de compactación
Puedes aplicar una política de posición de compactación a una VM existente o cuando creas VMs, plantillas de instancias, MIG o reservas de VMs.
Para crear un recurso de Compute Engine que especifique una política de posición de compactación, selecciona uno de los siguientes métodos:
Después de aplicar una política de posición de compactación a una VM, puedes verificar la ubicación física de una VM en relación con otras VMs que especifiquen la misma política.
Aplica una política de posición de compactación a una VM existente
Antes de aplicar una política de posición de compactación a una VM existente, asegúrate de lo siguiente:
De lo contrario, la aplicación de la política de posición compacta a la VM fallará. Si la VM ya especifica una política de posición y quieres reemplazarla, consulta Reemplaza una política de posición en una VM en su lugar.
Para aplicar una política de posición compacta a una VM existente, selecciona una de las siguientes opciones:
gcloud
REST
Crea una VM con una política de posición compacta
Solo puedes crear una VM con una política de posición compacta en una zona dentro de la misma región que la política de posición.
Para crear una VM que especifique una política de posición compacta, selecciona una de las siguientes opciones:
gcloud
Para crear una VM que especifique una política de posición de compactación, usa el comando
gcloud compute instances create
con la marca--resource-policies
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONE
Reemplaza lo siguiente:
REST
Para crear una VM que especifique una política de posición compacta, realiza una solicitud
POST
al métodoinstances.insert
. En el cuerpo de la solicitud, incluye el camporesourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } }
Reemplaza lo siguiente:
Si deseas obtener más información acerca de las opciones de configuración para crear una VM, consulta Crea y, luego, inicia una instancia de VM.
Crea VMs de forma masiva con una política de posición compacta
Solo puedes crear VMs de forma masiva con una política de posición compacta en la misma región que la política de posición.
Para crear VMs de forma masiva que especifiquen una política de posición compacta, selecciona una de las siguientes opciones:
gcloud
Para crear VMs de forma masiva que especifiquen una política de posición de compactación, usa el comando
gcloud compute instances bulk create
con la marca--resource-policies
.Por ejemplo, para crear VMs de forma masiva en una sola zona y especificar un patrón del nombre para las VMs, 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
Reemplaza lo siguiente:
REST
Para crear VMs de forma masiva que especifiquen una política de posición compacta, realiza una solicitud
POST
al métodoinstances.bulkInsert
. En el cuerpo de la solicitud, incluye el camporesourcePolicies
.Por ejemplo, si deseas crear VMs de forma masiva en una sola zona y especificar un patrón de nombre para las VMs, realiza una solicitud
POST
de la siguiente manera:POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": "COUNT", "machineType": "MACHINE_TYPE", "namePattern": "NAME_PATTERN", "instanceProperties": { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Reemplaza lo siguiente:
Para obtener más información acerca de las opciones de configuración para crear VMs de forma masiva, consulta Crea VMs de forma masiva.
Crea una reserva con una política de posición compacta
Si deseas crear una reserva según demanda de un solo proyecto que especifique una política de posición compacta, debes crear una reserva orientada específicamente. Cuando crees VMs para consumir la reserva, asegúrate de lo siguiente:
Para crear una reserva de un solo proyecto con una política de posición compacta, selecciona uno de los siguientes métodos:
Para crear una reserva de un solo proyecto con una política de posición compacta a través de la especificación directa de las propiedades, selecciona una de las siguientes opciones:
gcloud
Para crear una reserva de un solo proyecto con una política de posición compacta a través de la especificación directa de las propiedades, usa el comando
gcloud compute reservations create
con las marcas--require-specific-reservation
y--resource-policies
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --resource-policies=policy=POLICY_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Reemplaza lo siguiente:
REST
Para crear una reserva de un solo proyecto con una política de posición compacta a través de la especificación directa de las propiedades, realiza una solicitud
POST
al métodoreservations.insert
. En el cuerpo de la solicitud, incluye el camporesourcePolicies
y el campospecificReservationRequired
configurado comotrue
.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_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", } }, "specificReservationRequired": true }
Reemplaza lo siguiente:
Para obtener más información acerca de las opciones de configuración y los métodos de creación para las reservas de un solo proyecto, consulta Crea una reserva para un solo proyecto.
Crea una plantilla de instancias con una política de posición compacta
Si deseas crear una plantilla de instancias regional, debes crear la plantilla en la misma región de la política de posición compacta. De lo contrario, la creación de la plantilla de instancias fallará.
Después de crear una plantilla de instancias, puedes usarla para hacer lo siguiente:
Para crear una plantilla de instancias que especifique una política de posición compacta, selecciona una de las siguientes opciones:
gcloud
Para crear una plantilla de instancias que especifique una política de posición de compactación, usa el comando
gcloud compute instance-templates create
con la marca--resource-policies
.Por ejemplo, para crear una plantilla de instancias global que especifique una política de posició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
Reemplaza lo siguiente:
REST
Para crear una plantilla de instancias que especifique una política de posición compacta, realiza una solicitud
POST
a uno de los siguientes métodos:Especifica el campo
resourcePolicies
en el cuerpo de la solicitud.Por ejemplo, para crear una plantilla de instancias global que especifique una política de posición de compactación, realiza 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" } } }
Reemplaza lo siguiente:
Si quieres obtener más información sobre las opciones de configuración para crear una plantilla de instancias, consulta Crea plantillas de instancias.
Aplica una política de posición de compactación a las VMs en un MIG
Después de crear una plantilla de instancias que especifique una política de posición de compactación, puedes usar la plantilla para hacer lo siguiente:
Si deseas aplicar una política de posición compacta a un MIG, se recomienda crear o aplicar la política a un MIG regional con la forma de distribución de cualquier zona. De esta manera, cada vez que un MIG regional necesite escalar horizontalmente a través de la creación de VMs, selecciona la zona en la que se crearán las VMs según tus reservas, cuotas y requisitos de hardware.
Crea un MIG con una política de posición compacta
Solo puedes crear VMs que especifiquen una política de posición compacta si las VMs se encuentran en la misma región que la política de posición.
Para crear un MIG con una plantilla de instancias que especifique una política de posición compacta, selecciona una de las siguientes opciones:
gcloud
Para crear un MIG con una plantilla de instancias que especifique una política de posición de compactación, usa el comando
gcloud compute instance-groups managed create
con la marca--template
.Por ejemplo, para crear un MIG regional con una forma de distribución de cualquier zona, ejecuta el siguiente comando:
gcloud compute instance-groups managed create MIG_NAME \ --region=REGION \ --size=SIZE \ --target-distribution-shape=any-single-zone \ --template=INSTANCE_TEMPLATE_NAME
Reemplaza lo siguiente:
REST
Para crear un MIG con una plantilla de instancias que especifique una política de posición compacta, realiza una solicitud
POST
a los métodosinstanceGroupManagers.insert
oregionInstanceGroupManagers.insert
.Por ejemplo, para crear un MIG regional con propiedades de VM predeterminadas y la forma de distribución de cualquier zona, realiza una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "MIG_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "targetSize": SIZE }
Reemplaza lo siguiente:
Para obtener más información acerca de las opciones de configuración para crear MIG, consulta Situaciones básicas para crear MIG.
Aplica una política de posición de compactación a un MIG existente
Solo puedes aplicar una política de posición compacta a un MIG existente si el MIG se encuentra en la misma región que la política de posición o, para los MIG zonales, en una zona dentro de la misma región que la política de posición.
Para actualizar un MIG para usar una plantilla de instancias que especifique una política de posición compacta, elige una de las siguientes opciones:
gcloud
Para actualizar un MIG para usar una plantilla de instancias que especifique una política de posición compacta, usa el comando
gcloud compute instance-groups managed rolling-action start-update
.Por ejemplo, para actualizar un MIG regional para usar una plantilla de instancias que especifique una política de posición compacta y reemplazar las VMs existentes del MIG por VMs nuevas que especifiquen las propiedades de la plantilla, ejecuta el siguiente comando:
gcloud compute instance-groups managed rolling-action start-update MIG_NAME \ --region=REGION \ --type=proactive \ --version=template=INSTANCE_TEMPLATE_NAME
Reemplaza lo siguiente:
REST
Para actualizar un MIG para usar una plantilla de instancias que especifique una política de posición compacta y aplicar automáticamente las propiedades de la plantilla y la política de posición a las VMs existentes en el MIG, realiza una solicitud
PATCH
a los métodosinstanceGroupManagers.insert
oregionInstanceGroupManagers.insert
.Por ejemplo, para actualizar un MIG regional para usar una plantilla de instancias que especifique una política de posición compacta y reemplazar las VMs existentes del MIG por VMs nuevas que especifiquen las propiedades de la plantilla, realiza la siguiente solicitud
PATCH
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "updatePolicy": { "type": "PROACTIVE" } }
Reemplaza lo siguiente:
Si deseas obtener más información acerca de las opciones de configuración para actualizar las VMs en un MIG, consulta Actualiza y aplica configuraciones nuevas a las VM en un MIG.
Verifica la ubicación física de una VM
Después de aplicar una política de posición de compactación a una VM, puedes ver cómo la política de posición de compactación afectó su ubicación física en relación con otras VMs que especifican la misma política. Esto te ayuda a determinar si la política de posición de compactación se aplicó de forma correcta a una VM y a asignar las VMs más cercanas entre sí.
Para verificar la ubicación física de una VM que especifica una política de posición en relación con otras VMs, selecciona una de las siguientes opciones:
gcloud
Para ver la ubicación física de una VM que especifica una política de posición de compactación, usa el comando
gcloud compute instances describe
con la marca--format
.gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONE
Reemplaza lo siguiente:
El resultado es similar a este:
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. Estas partes representan el clúster, el bastidor y el host en el que se encuentra la VM.Cuando se compara la posición de dos VMs que especifican la misma política de posición de compactación, cuantas más partes en el campo
PHYSICAL_HOST
comparten las VMs, más cerca están entre sí. Por ejemplo, si dos VMs especifican uno de los siguientes valores de muestra para el campoPHYSICAL_HOST
:REST
Para ver la ubicación física de una VM que especifica una política de posición de compactación, realiza una solicitud
GET
al métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Reemplaza lo siguiente:
El resultado es similar a este:
{ ... "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. Estas partes representan el clúster, el bastidor y el host en el que se encuentra la VM.Cuando se compara la posición de dos VMs que especifican la misma política de posición de compactación, cuantas más partes en el campo
physicalHost
comparten las VMs, más cerca están entre sí. Por ejemplo, si dos VMs especifican uno de los siguientes valores de muestra para el campophysicalHost
:Próximos pasos
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-09-09 (UTC)
-