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.
Puedes aplicar una política de posición compacta cuando haces lo siguiente:
- Creas o actualizas una VM.
- Creas una reserva de un solo proyecto.
- Creas VMs de forma masiva.
- Crea una plantilla de instancias. Luego, la plantilla de instancias aplica la política de posición compacta cuando la usas para hacer lo siguiente:
- Crea una VM.
- Creas o actualizas un grupo de instancias administrado (MIG).
- Creas una reserva de un solo proyecto.
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
-
Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:
gcloud init
- Set a default region and zone.
-
Para crear políticas de posición:
compute.resourcePolicies.create
en el proyecto -
Para aplicar una política de posición a una VM existente:
compute.instances.addResourcePolicies
en el proyecto -
Para ver los detalles de una VM:
compute.instances.get
en el proyecto Para las políticas de posición de compactación, puedes usar
max-distance
(Vista previa) para controlar mejor qué tan lejos se encuentran las VMs. En la siguiente tabla, se describen la cantidad de VMs compatibles y la política de mantenimiento del host para cada valormax-distance
:Valor max-distance
Descripción Cantidad máxima de VMs Política de mantenimiento del host compatible Sin especificar Según la disponibilidad, las VMs se colocan lo más cerca posible entre sí. 1,500 Migrar o finalizar 3
Las VMs se colocan en clústeres adyacentes para obtener una latencia baja. 1,500 Migrar o finalizar 2
Las VMs se colocan en bastidores adyacentes y experimentan una latencia de red menor que las VMs que se colocan en clústeres adyacentes. 150 Finalizar 1
Las VMs se colocan en el mismo bastidor y minimizan la latencia de red tanto como sea posible. 22 Finalizar Solo puedes aplicar una política de posición compacta a las series de máquinas A2, A3, C2, C3, C2D, C3D, G2, H3, N2 y N2D. Si usas
max-distance
cuando creas una política de posición de compactación, no puedes aplicar la política a las series de máquinas A3, G2, N2 y N2D.No puedes aplicar políticas de posición de compactación a las VMs que especifican nodos de usuario único.
Si deseas crear una política de posición compacta para una reserva, consulta los requisitos adicionales para las reservas.
Recomendado: Sin un recuento fijo.
Puedes aplicar una política de posición de compactación que no especifique un recuento fijo de VMs a una cantidad de VMs no especificada. Esto hace que la política de posición de compactación sea efectiva, sin importar la cantidad de VMs a las que la apliques.
Con un recuento fijo
Puedes aplicar una política de posición de compactación que especifique un recuento fijo de VMs solo a una cantidad exacta de VMs. Esto hace que la política de posición de compactación sea efectiva solo si se aplica a la cantidad especificada de VMs.
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 de compactación a las VMs existentes, crea la política en una región que contenga la zona en la que se encuentran las VMs.Si una zona tiene capacidad disponible, una política de posición compacta con un valor
maxDistance
más alto (como3
) 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 un valor
maxDistance
menor (como1
) genere que la aplicación de la política a una o más de tus VMs falle.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 de posición. Si deseas aplicar la política de posición de compactación a las VMs existentes, crea la política en una región que contenga la zona en la que se encuentran las VMs.POLICY_NAME
: el nombre de la política de posición de compactación que se creará.Si una zona tiene capacidad disponible, una política de posición compacta con un valor
maxDistance
más alto (como3
) 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 un valor
maxDistance
menor (como1
) genere que la aplicación de la política a una o más de tus VMs falle.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 de compactación a las VMs existentes, crea la política en una región que contenga la zona en la que se encuentran las VMs.VM_COUNT
: la cantidad exacta de VMs a las que puedes aplicar la política de posición de compactación. El valor debe ser entre1
y la cantidad máxima de VMs a las que puedes aplicar la política de posición compacta.Si una zona tiene capacidad disponible, una política de posición compacta con un valor
maxDistance
más alto (como3
) 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 un valor
maxDistance
menor (como1
) genere que la aplicación de la política a una o más de tus VMs falle.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 de posición. Si deseas aplicar la política de posición de compactación a las VMs existentes, crea la política en una región que contenga la zona en la que se encuentran las VMs.POLICY_NAME
: el nombre de la política de posición de compactación que se creará.VM_COUNT
: la cantidad exacta de VMs a las que puedes aplicar la política de posición de compactación. El valor debe ser entre1
y la cantidad máxima de VMs a las que puedes aplicar la política de posición compacta.Si una zona tiene capacidad disponible, una política de posición compacta con un valor
maxDistance
más alto (como3
) 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 un valor
maxDistance
menor (como1
) genere que la aplicación de la política a una o más de tus VMs falle.- Aplica una política de posición compacta a una VM existente.
- Crea una VM que especifique una política de posición compacta.
- Crea VMs de forma masiva que especifiquen una política de posición compacta.
- Crea una plantilla de instancias que especifique 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 de compactación se encuentran en el mismo proyecto.
La VM se encuentra dentro de la región en la que existe la política de posición de compactación.
La VM especifica una serie de máquina y política de mantenimiento del host compatibles.
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.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 de compactación.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á.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición de compactación que especificas usa un valormax-distance
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.ZONE
: la zona donde se creará la VM. Solo puedes crear una VM en una zona que esté dentro de la región de la política de posición de compactación que especificas.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 crear una VM en una zona que esté dentro de la región de la política de posición de compactación que especifiques.VM_NAME
: El nombre de la VM que se creará.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.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición de compactación que especificas usa un valormax-distance
de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.COUNT
: la cantidad de VM que se crearán.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición de compactación que especificas usa un valormax-distance
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.ZONE
: la zona en la que se crearán las VMs de forma masiva. Solo puedes crear VMs en zonas que se encuentren dentro de la región de la política de posición de compactación que especifiques.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 y en la que se encuentra el tipo de máquina. Solo puedes crear VMs en zonas que se encuentren dentro de la región de la política de posición de compactación que especifiques.COUNT
: la cantidad de VM que se crearán.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.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición de compactación que especificas usa un valormax-distance
de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.INSTANCE_TEMPLATE_NAME
: es el nombre de la plantilla de instancias.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición de compactación que especificas usa un valormax-distance
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.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.ZONE
: es la zona donde se encuentra el tipo de máquina.INSTANCE_TEMPLATE_NAME
: es el nombre de la plantilla de instancias.POLICY_NAME
: el nombre de una política de posición de compactación existente.MAINTENANCE_POLICY
: la política de mantenimiento del host de la VM. Si la política de posición de compactación que especificas usa un valormax-distance
de1
o2
, solo puedes especificarTERMINATE
. De lo contrario, puedes especificarMIGRATE
oTERMINATE
.Crea un MIG que especifique la misma política de posición de compactación.
Aplica la política de posición de compactación a un MIG existente.
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 el mismo clúster, que equivale a un valormax-distance
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 valormax-distance
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 el mismo clúster, que equivale a un valormax-distance
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 valormax-distance
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.
Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Funciones obligatorias
Para obtener los permisos que necesitas a fin de crear y aplicar una política de posición compacta a las VMs, pídele a tu administrador que te otorgue el rol de IAM de Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en la VM o el proyecto. Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.Este rol predefinido contiene 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.
Restricciones
Además de las restricciones generales para las políticas de posición, las políticas de posición compacta tienen las siguientes restricciones:
Crea una política de posición de compactación
Para crear una política de posición de compactación, usa uno de los siguientes métodos:
Sin un recuento fijo
Puedes crear una política de posición compacta con gcloud CLI y 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 forma opcional, para tener un mejor control sobre qué tan lejos se colocan las VMs cuando tienes requisitos de latencia de red estrictos, puedes crear una política de posición de compactación con el comando
gcloud beta compute resource-policies create group-placement
con 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
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. Según el tipo de máquina y la zona especificada en las VMs a las que aplicas una política de posición compacta, se aplican las siguientes condiciones: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 forma opcional, para controlar mejor qué tan lejos se encuentran las VMs cuando tienes requisitos de latencia de red estrictos, puedes crear una política de posición compacta mediante una solicitud
POST
a la Métodobeta.resourcePolicies.insert
. En el cuerpo de la solicitud, incluye el campocollocation
configurado comoCOLLOCATED
y 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. Según el tipo de máquina y la zona especificada en las VMs a las que aplicas una política de posición compacta, se aplican las siguientes condiciones:Con un recuento fijo
Puedes crear una política de posición compacta que especifique un recuento fijo de VMs con gcloud CLI y REST.
gcloud
Para crear una política de posición de compactación que especifique un recuento fijo de VMs, usa el comando
gcloud compute resource-policies create group-placement
con las marcas--collocation=collocated
y--vm-count
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION \ --vm-count=VM_COUNT
Reemplaza lo siguiente:
De forma opcional, para tener un mejor control sobre qué tan lejos se colocan las VMs cuando tienes requisitos de latencia de red estrictos, puedes crear una política de posición de compactación con el comando
gcloud beta compute resource-policies create group-placement
con las marcas--collocation=collocated
,--max-distance
y--vm-count
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION \ --vm-count=VM_COUNT
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. Según el tipo de máquina y la zona especificada en las VMs a las que aplicas una política de posición compacta, se aplican las siguientes condiciones:REST
Para crear una política de posición compacta que especifique un recuento fijo de VMs, realiza una solicitud
POST
al métodoresourcePolicies.insert
. En el cuerpo de la solicitud, incluye el campocollocation
configurado comoCOLLOCATED
y el campovmCount
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "vmCount": "VM_COUNT" } }
Reemplaza lo siguiente:
De forma opcional, para controlar mejor qué tan lejos se encuentran las VMs cuando tienes requisitos de latencia de red estrictos, puedes crear una política de posición compacta mediante una solicitud
POST
a la Métodobeta.resourcePolicies.insert
. En el cuerpo de la solicitud, incluye el campocollocation
configurado comoCOLLOCATED
, los camposmaxDistance
yvmCount
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": "MAX_DISTANCE", "vmCount": "VM_COUNT" } }
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. Según el tipo de máquina y la zona especificada en las VMs a las que aplicas una política de posición compacta, se aplican las siguientes condiciones: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:
En su lugar, si deseas especificar una política de posición de compactación cuando creas una reserva de un solo proyecto a través de la especificación directa de las propiedades, consulta Crea una reserva para un solo proyecto.
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
Puedes aplicar una política de posición compacta a una VM existente con gcloud CLI y REST.
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 de compactación a una VM existente falla.
gcloud
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:
REST
Para aplicar una política de posición de compactación a una VM existente, realiza una solicitud
POST
al métodoinstances.addResourcePolicies
con 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:
Crea una VM que especifique una política de posición de compactación
Puedes crear una VM que especifique una política de posición compacta existente con gcloud CLI y REST.
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
.Por ejemplo, para crear una VM que especifique un tipo de máquina
c2d-standard-2
, ejecuta el siguiente comando:gcloud compute instances create VM_NAME \ --machine-type=c2d-standard-2 \ --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 de compactación, realiza una solicitud
POST
al métodoinstances.insert
con el camporesourcePolicies
.Por ejemplo, para crear una VM que especifique un tipo de máquina
c2d-standard-2
, realiza la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "name": "VM_NAME", "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } }
Reemplaza lo siguiente:
Si deseas obtener más información sobre las opciones de configuración y los roles de IAM para crear una VM, consulta Crea y, luego, inicia una instancia de VM.
Crea VMs de forma masiva que especifiquen una política de posición de compactación
Puedes crear VMs de forma masiva que especifiquen una política de posición compacta existente con gcloud CLI y REST.
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 que especifiquen un tipo de máquina
c2d-standard-2
y la misma política de posición de compactación, ejecuta el siguiente comando:gcloud compute instances bulk create \ --async \ --count=COUNT \ --machine-type=c2d-standard-2 \ --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 de compactación, realiza una solicitud
POST
al métodoinstances.bulkInsert
con el camporesourcePolicies
.Por ejemplo, para crear VMs de forma masiva que especifiquen un tipo de máquina
c2d-standard-2
y la misma política de posición de compactación, realiza la siguiente solicitudPOST
:POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": "COUNT", "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "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 sobre las opciones de configuración o los roles de IAM para crear VMs de forma masiva, consulta Crea VMs de forma masiva.
Crea una plantilla de instancias que especifique una política de posición de compactación
Puedes crear una plantilla de instancias que especifique una política de posición compacta existente con gcloud CLI y REST.
Después de crear una plantilla de instancias, puedes usarla para hacer lo siguiente:
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 un tipo de máquina
c2d-standard-2
y una política de posición compacta existente, ejecuta el siguiente comando:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=c2d-standard-2 \ --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 de compactación, realiza una solicitud
POST
al métodoinstanceTemplates.insert
. Especifica el camporesourcePolicies
en el cuerpo de la solicitud.Por ejemplo, para crear una plantilla de instancias global que especifique un tipo de máquina
c2d-standard-2
y una política de posición compacta existente, realiza la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "machineType": "zones/ZONE/machineTypes/c2d-standard-2", "properties": { "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 de compactación 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 que especifique una política de posición de compactación
Puedes crear un MIG con una plantilla de instancias que especifique una política de posición compacta con gcloud CLI y REST.
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 de compactación, realiza una solicitud a los métodos
POST
instanceGroupManagers.insert
oregionInstanceGroupManagers.insert
los con el campoinstanceTemplate
configurado como el nombre de la plantilla existente.Por ejemplo, para crear un MIG regional con propiedades de VM predeterminadas y la forma de distribución de cualquier zona, realiza la siguiente solicitud
POST
: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 sobre las opciones de configuración y los roles de IAM para crear MIG, consulta Situaciones básicas para crear MIG.
Aplica una política de posición de compactación a un MIG existente
Puedes aplicar una política de posición compacta a un MIG existente con una plantilla de instancias que especifique la misma política de posición con gcloud CLI y REST.
gcloud
Para actualizar un MIG para usar una plantilla de instancias que especifique una política de posición de compactación, usa el comando
gcloud compute instance-groups managed rolling-action start-update
con la marca--version=template
.Por ejemplo, para actualizar un MIG regional para usar una plantilla de instancias que especifique una política de posición de compactación 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 de compactación y aplicar de forma automática las propiedades de la plantilla y la política de posición a las VMs existentes en el MIG, realiza una solicitud
PATCH
ainstanceGroupManagers.insert
oregionInstanceGroupManagers.insert
con el campoinstanceTemplate
.Por ejemplo, para actualizar un MIG regional para usar una plantilla de instancias que especifique una política de posición de compactación 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 sobre las opciones de configuración y los roles de IAM para actualizar las VMs en un MIG, consulta Actualiza y aplica configuraciones nuevas a las VMs 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í.
Puedes verificar la ubicación física de una VM que especifica una política de posición con gcloud CLI y REST.
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-05-29 (UTC)
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema de traducción" },{ "type": "thumb-down", "id": "otherDown", "label":"Otro" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Fácil de comprender" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Resolvió mi problema" },{ "type": "thumb-up", "id": "otherUp", "label":"Otro" }] -