En este documento, se describe cómo mejorar la confiabilidad de las instancias de máquina virtual (VM) a través de la creación y aplicación de políticas de posición dispersa. Para obtener más información sobre las políticas de posición, incluidas sus restricciones y precios, consulta la descripción general de las políticas de posición.
Una política de posición de distribución especifica que tus VMs deben distribuirse en distintos dominios de disponibilidad. Esta distribución ayuda a mitigar las interrupciones específicas de la ubicación, como los errores de hardware, y es útil cuando se ejecutan cargas de trabajo replicadas, distribuidas y a gran escala, como el sistema de archivos distribuidos de Hadoop (HDFS), Cassandra o Kafka.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
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 código o muestras 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
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 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 plantilla de instancias:
compute.instanceTemplates.create
en el proyecto -
Para crear un grupo de instancias administrado (MIG):
compute.instanceGroupManagers.create
en el proyecto POLICY_NAME
: Es el nombre de la política de posición dispersa.DOMAIN_COUNT
: La cantidad distinta de dominios de disponibilidad en los que se colocarán tus VMs. El valor debe ser de entre1
y8
.REGION
: la región en la que se creará la política de posición.PROJECT_ID
: el ID del proyecto en el que se creará la política de posición.REGION
: la región en la que se creará la política de posición.POLICY_NAME
: Es el nombre de la política de posición dispersa.DOMAIN_COUNT
: La cantidad distinta de dominios de disponibilidad en los que se colocarán tus VMs. El valor debe ser de entre1
y8
.- Aplica la política a una VM existente.
- Aplica la política mientras creas una VM.
- Aplica la política mientras creas VMs de forma masiva.
- Aplica la política cuando crees una plantilla de instancias.
- Aplica la política a las VMs en un MIG.
Si tu política de posición de distribución especifica varios dominios de disponibilidad, puedes aplicar la política a una VM sin detenerla. Sin embargo, es posible que se necesite reubicar la VM en un dominio de disponibilidad diferente. Durante este proceso, Compute Engine detiene o migra en vivo la VM según su política de mantenimiento del host.
La VM y la política de posición de distribución 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
, entonces, 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.VM_NAME
: el nombre de una VM existente.POLICY_NAME
: el nombre de una política de posición dispersa 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 distribuida y la VM.ZONE
: la zona donde se ubica la VM.VM_NAME
: el nombre de una VM existente.REGION
: la región en la que se encuentra la política de posición dispersa.POLICY_NAME
: el nombre de una política de posición dispersa existente.VM_NAME
: El nombre de la VM que se creará.MACHINE_TYPE
: Es el tipo de máquina para la VM.POLICY_NAME
: el nombre de una política de posición dispersa existente.ZONE
: la zona en la que se creará la VM.PROJECT_ID
: el ID del proyecto en el que se encuentra la política de posición distribuida.ZONE
: la zona en la que se creará la VM y en la que se encuentra el tipo de máquina. Solo puedes especificar una zona dentro de la región de la política de posición de distribución.VM_NAME
: El nombre de la VM que se creará.MACHINE_TYPE
: Es el tipo de máquina para la VM.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 compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, se usa la versión más reciente de la familia de imágenes de Debian 12. 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.
REGION
: la región en la que se encuentra la política de posición dispersa.POLICY_NAME
: el nombre de una política de posición dispersa existente.Solo puedes crear VMs de forma masiva que especifiquen una política de posición distribuida en la misma región que la política de posición.
Cuando creas VMs de forma masiva con una política de posición distribuida, puedes especificar, de manera opcional, el dominio de disponibilidad en el que crearlas. Evita crear todas tus VMs en un solo dominio. De lo contrario, no mitigas el riesgo de que un solo error de hardware afecte a todas tus VMs.
COUNT
: la cantidad de VM que se crearán.MACHINE_TYPE
: Es el tipo de máquina de las VMs.NAME_PATTERN
: Es el patrón del nombre de las VM. Para reemplazar una secuencia de números en el nombre de una VM, usa una secuencia de caracteres hash (#
). Por ejemplo, si usasvm-#
para el patrón de nombre, se generan VMs con nombres que comienzan convm-1
,vm-2
y continúan hasta la cantidad de VMs especificadas porCOUNT
.POLICY_NAME
: el nombre de una política de posición dispersa existente.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 distribuida.ZONE
: La zona en la que se crearán las VMs de forma masiva.COUNT
: la cantidad de VM que se crearán.NAME_PATTERN
: Es el patrón del nombre de las VM. Para reemplazar una secuencia de números en el nombre de una VM, usa una secuencia de caracteres hash (#
). Por ejemplo, si usasvm-#
para el patrón de nombre, se generan VMs con nombres que comienzan convm-1
,vm-2
y continúan hasta la cantidad de VMs especificadas porCOUNT
.MACHINE_TYPE
: Es el tipo de máquina de las VMs.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 compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, se usa la versión más reciente de la familia de imágenes de Debian 12. 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.
POLICY_NAME
: el nombre de una política de posición dispersa existente.Si deseas crear una plantilla de instancias regional, debes crear la plantilla en la misma región que la política de posición dispersa. De lo contrario, la creación de la plantilla de instancias fallará.
Cuando creas una plantilla de instancias, puedes especificar de forma opcional el dominio de disponibilidad en el que crear las VMs. Evita crear todas tus VMs en un solo dominio. De lo contrario, no mitigas el riesgo de que un solo error de hardware affecte a todas tus VMs.
Aplica una política de posición dispersa a las VMs en un MIG.
Crea una instancia de VM a partir de una plantilla de instancias.
INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias.MACHINE_TYPE
: El tipo de máquina de las VMs creadas con la plantilla de instancias.POLICY_NAME
: el nombre de una política de posición dispersa existente.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 distribuida.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias.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 compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, se usa la versión más reciente de la familia de imágenes de Debian 12. 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
: El tipo de máquina de las VMs creadas con la plantilla de instancias.POLICY_NAME
: el nombre de una política de posición dispersa existente.INSTANCE_GROUP_NAME
: el nombre del MIG que se creará.SIZE
: el tamaño del MIG.INSTANCE_TEMPLATE_NAME
: El nombre de una plantilla de instancias global existente que especifica una política de posición dispersa.ZONE
: la zona en la que se crea el MIG, que debe estar dentro de la región en la que se encuentra la política de posición dispersa.Para crear un MIG zonal, usa el método
instanceGroupManagers.insert
.Para crear un MIG regional, usa el método
regionInstanceGroupManagers.insert
.PROJECT_ID
: el ID del proyecto en el que se encuentran la política de posición distribuida y la plantilla de instancias que especifica la política de posición.ZONE
: La zona en la que se crea el MIG, que debe estar dentro de la región en la que se encuentra la política de posición dispersa.INSTANCE_GROUP_NAME
: el nombre del MIG que se creará.SIZE
: el tamaño del MIG.INSTANCE_TEMPLATE_NAME
: El nombre de una plantilla de instancias global existente que especifica una política de posición dispersa.INSTANCE_GROUP_NAME
: el nombre de un MIG existente.INSTANCE_TEMPLATE_NAME
: El nombre de una plantilla de instancias global existente que especifica una política de posición dispersa.ZONE
: La zona en la que se encuentra el MIG. Solo puedes aplicar la política de posición dispersa a un MIG ubicado dentro de la misma región que la política de posición.Para actualizar un MIG zonal, usa el método
instanceGroupManagers.insert
.Para actualizar un MIG regional, usa el método
regionInstanceGroupManagers.insert
.PROJECT_ID
: el ID del proyecto que usaste para crear un MIG existente, la política de posición distribuida y la plantilla de instancias que especifica la política de posición distribuida.ZONE
: La zona en la que se encuentra el MIG. Solo puedes aplicar la política de posición dispersa a un MIG ubicado dentro de la misma región que la política de posición.INSTANCE_GROUP_NAME
: el nombre de un MIG existente.INSTANCE_TEMPLATE_NAME
: El nombre de una plantilla de instancias global existente que especifica una política de posición dispersa.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:
Obtén más información sobre el proceso de migración en vivo durante los eventos de mantenimiento.
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 crear y aplicar una política de posición distribuida a las VMs, pídele al administrador que te otorgue el permiso Rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para crear y aplicar una política de posición distribuida 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 dispersa 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 distribución
A menos que quieras probar la aplicación de la política de posición distribuida a tus VMs, Google Cloud recomienda crear políticas de posición distribuida con dos o más dominios de disponibilidad. Así, se mitiga el riesgo de que todas las VMs se vean afectadas por un solo error de hardware. Para obtener más información, consulta Acerca de las políticas de posición distribuida.
Para crear una política de posición de distribución, selecciona una de las siguientes opciones:
gcloud
Para crear una política de posición dispersa, usa el comando
gcloud compute resource-policies create group-placement
con la marca--availability-domain-count
.gcloud compute resource-policies create group-placement POLICY_NAME \ --availability-domain-count=DOMAIN_COUNT \ --region=REGION
Reemplaza lo siguiente:
REST
Para crear una política de posición distribuida, realiza una solicitud
POST
al métodoresourcePolicies.insert
. En el cuerpo de la solicitud, incluye el campoavailabilityDomainCount
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": DOMAIN_COUNT } }
Reemplaza lo siguiente:
Aplica una política de posición dispersa
Puedes aplicar una política de posición dispersa a una VM o un MIG existente, o cuando creas VMs, plantillas de instancias o MIGs.
Para aplicar una política de posición dispersa a un recurso de Compute Engine, selecciona uno de los siguientes métodos:
Después de aplicar una política de posición dispersa a una VM, puedes verificar el dominio de disponibilidad en el que se encuentra la VM. Para ello, consulta los detalles de la VM y verifica el valor del campo
availabilityDomain
.Aplica la política a una VM existente
Antes de aplicar una política de posición de distribución a una VM existente, considera lo siguiente:
Si deseas especificar el dominio de disponibilidad en el que colocar tu VM, entonces aplica la política de posición a la VM actualizando sus propiedades. Cuando actualices las propiedades de la VM, asegúrate de incluir los campos
resourcePolicies
yscheduling.availabilityDomain
.Para aplicar una política de posición de distribución a una VM existente, selecciona una de las siguientes opciones: las siguientes opciones:
gcloud
Para aplicar una política de posición distribuida a una VM existente, usa el comando
gcloud compute instances add-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 distribuida a una VM existente, realiza una solicitud
POST
al métodoinstances.addResourcePolicies
.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:
Aplica la política mientras creas una VM
Solo puedes crear una VM que especifique una política de posición distribuida en la misma región que la política de posición.
Para crear una VM que especifique una política de posición distribuida, selecciona una de las opciones las siguientes opciones:
gcloud
Para crear una VM que especifique una política de posición dispersa, usa el comando
gcloud compute instances create
con la marca--resource-policies
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME \ --zone=ZONE
Reemplaza lo siguiente:
De manera opcional, para especificar el dominio de disponibilidad en el que se creará la VM, incluye la marca
--availability-domain
.gcloud compute instances create VM_NAME \ --availability-domain=DOMAIN_NUMBER \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME \ --zone=ZONE
Reemplaza
DOMAIN_NUMBER
por el número del dominio de disponibilidad en el que deseas colocar tu VM. El valor debe estar entre1
y la cantidad de dominios especificados en la política de posición dispersa. Para verificar la cantidad de dominios en una política de posición distribuida, consulta los detalles de la política de posición.REST
Para crear una VM que especifique una política de posición distribuida, 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", "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" ] }
Reemplaza lo siguiente:
De manera opcional, para especificar el dominio de disponibilidad en el que se creará la VM, incluye el campo
availabilityDomain
en el cuerpo de la solicitud.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_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": { "availabilityDomain": DOMAIN_NUMBER } }
Reemplaza
DOMAIN_NUMBER
por el número del dominio de disponibilidad en el que deseas colocar tu VM. El valor debe estar entre1
y la cantidad de dominios especificados en la política de posición dispersa. Para verificar la cantidad de dominios en una política de posición distribuida, consulta los detalles de la política de posición.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.
Aplica la política mientras creas VMs de forma masiva
Antes de crear VMs de forma masiva que especifiquen una política de posición dispersa, asegúrate de lo siguiente:
Para crear VMs de forma masiva que especifiquen una política de posición distribuida, selecciona una de las opciones las siguientes opciones:
gcloud
Para crear VMs de forma masiva que especifiquen una política de posición distribuida, 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 nombre para las VMs, ejecuta el siguiente comando:
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
Reemplaza lo siguiente:
De manera opcional, para especificar el dominio de disponibilidad en el que se crearán las VMs de forma masiva, incluye la marca
--availability-domain
.gcloud compute instances bulk create \ --availability-domain=DOMAIN_NUMBER \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
Reemplaza
DOMAIN_NUMBER
por el número del dominio de disponibilidad en el que deseas colocar tu VM. El valor debe estar entre1
y la cantidad de dominios especificados en la política de posición dispersa. Para verificar la cantidad de dominios en una política de posición distribuida, consulta los detalles de la política de posición.REST
Para crear VMs de forma masiva que especifiquen una política de posición distribuida, 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://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": [ "POLICY_NAME" ] } }
Reemplaza lo siguiente:
De manera opcional, para especificar el dominio de disponibilidad en el que se crearán las VMs de forma masiva, incluye el campo
availabilityDomain
en el cuerpo de la solicitud.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": [ "POLICY_NAME" ], "scheduling": { "availabilityDomain": DOMAIN_NUMBER } } }
Reemplaza
DOMAIN_NUMBER
por el número del dominio de disponibilidad en el que deseas colocar tu VM. El valor debe estar entre1
y la cantidad de dominios especificados en la política de posición dispersa. Para verificar la cantidad de dominios en una política de posición distribuida, consulta los detalles de la política de posición.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.
Aplica la política cuando crees una plantilla de instancias
Antes de crear una plantilla de instancias que especifique una política de posición de dispersión, asegúrate de lo siguiente:
Después de crear una plantilla de instancias que especifique una política de posición distribuida, puedes usar la plantilla para hacer lo siguiente:
Para crear una plantilla de instancias que especifique una política de posición distribuida, selecciona una de las siguientes opciones:
gcloud
Para crear una plantilla de instancias que especifique una política de posición dispersa, 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 distribución posición, ejecuta el siguiente comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME
Reemplaza lo siguiente:
De manera opcional, para especificar el dominio de disponibilidad en el que se crearán las VMs, incluye la marca
--availability-domain
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --availability-domain=DOMAIN_NUMBER \ --machine-type=MACHINE_TYPE \ --resource-policies=POLICY_NAME
Reemplaza
DOMAIN_NUMBER
por el número del dominio de disponibilidad en el que deseas crear tus VMs. El valor debe estar entre1
y la cantidad de dominios especificados en la política de ubicación. Para verificar la cantidad de dominios en una política de posición distribuida, consulta los detalles de la política de posición.REST
Para crear una plantilla de instancias que especifique una política de posición de distribuida, 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 distribuida, 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" ] } }
Reemplaza lo siguiente:
De manera opcional, para especificar el dominio de disponibilidad en el que se crearán las VMs, incluye el campo
availabilityDomain
en el cuerpo de la solicitud.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": { "availabilityDomain": DOMAIN_NUMBER } } }
Reemplaza
DOMAIN_NUMBER
por el número del dominio de disponibilidad en el que deseas crear tus VMs. El valor debe estar entre1
y la cantidad de dominios especificados en la política de ubicación. Para verificar la cantidad de dominios en una política de posición distribuida, consulta los detalles de la política de posición.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 la política a las VMs en un MIG
Después de crear una plantilla de instancias que especifique una política de posición dispersa, puedes usar la plantilla para hacer lo siguiente:
Aplica la política mientras creas un MIG
Solo puedes crear VMs que especifiquen una política de posición distribuida si las VMs se ubicados en la misma región que la política de posición.
Para crear un MIG con una plantilla de instancias que especifique una posición de distribución de Compute Engine, selecciona una de las siguientes opciones:
gcloud
Para crear un MIG con una plantilla de instancias que especifique una distribución de posición, usa el Comando
gcloud compute instance-groups managed create
.Por ejemplo, para crear un MIG zonal con una plantilla de instancias global que especifique una política de posición dispersa, ejecuta el siguiente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Reemplaza lo siguiente:
REST
Para crear un MIG con una plantilla de instancias que especifique una política de posición de distribución, realiza una solicitud
POST
a uno de los siguientes métodos:Por ejemplo, para crear un MIG zonal con una plantilla de instancias global que especifique una política de posición distribuida, realiza 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" } ] }
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 la política 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 a fin de usar una plantilla de instancias que especifique una posición de distribución de Compute Engine, selecciona una de las siguientes opciones:
gcloud
Para actualizar un MIG para usar una plantilla de instancias que especifique una política de posición dispersa, usa el comando
gcloud compute instance-groups managed rolling-action start-update
.Por ejemplo, para actualizar un MIG zonal para usar una plantilla de instancias que especifique una política de posición dispersa y reemplazar las VMs existentes del MIG con VMs nuevas que especifiquen las propiedades de la plantilla, ejecuta el siguiente comando:
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Reemplaza lo siguiente:
REST
Para actualizar un MIG para usar una plantilla de instancias que especifique una política de posición de expansión 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 uno de los siguientes métodos:Por ejemplo, para actualizar un MIG zonal para usar una plantilla de instancias global que especifique una política de posición dispersa 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/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" }
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.
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-12-22 (UTC)
-