Trabaja con instancias administradas

Puedes controlar un grupo de instancias administrado (MIG) y sus instancias de máquinas virtuales (VM) como una sola entidad. Por ejemplo, puedes establecer políticas de reparación automática, ajuste de escala automático y actualización automática en el grupo. Según las especificaciones, el MIG actúa de forma automática en sus instancias para lograr el estado deseado.

Si necesitas actuar en instancias administradas específicas en un MIG, por ejemplo, para crear o borrar instancias con nombres específicos, aún debes actuar en esas instancias a través de la entidad de grupo. Usa los métodos de esta página, por ejemplo, los métodos de la API instanceGroupManager o regionInstanceGroupManager.

Si actúas en instancias administradas a través de métodos fuera de los métodos del grupo, tus acciones pueden entrar en conflicto con las acciones del grupo. Por ejemplo, si borras una instancia que pertenece a un grupo pero no usas los métodos de eliminación de instancias, el MIG puede recrear automáticamente esa instancia según las especificaciones del grupo.

Antes de comenzar

¿Qué es una instancia administrada?

Una instancia administrada es una entidad de datos dentro de un MIG que contiene el estado actual y el estado deseado de una instancia de VM real. En particular, ocurre lo siguiente:

  • El estado actual incluye lo siguiente:
    • El estado del ciclo de vida de la instancia, por ejemplo, RUNNING, STOPPING
    • La acción actual que realiza el MIG en una instancia, por ejemplo: RESTARTING, VERIFYING, NONE
    • El estado de la instancia, por ejemplo, HEALTHY, UNHEALTHY
  • El estado deseado incluye lo siguiente:
    • La versión deseada, es decir, el nombre de la versión y la plantilla de instancias que se usarán en la instancia
    • El estado preservado de los elementos (discos, metadatos) que se preservarán

Por cada instancia administrada, el MIG mantiene una VM real en funcionamiento según la especificación de la instancia.

Si deseas ver las especificaciones de una instancia administrada, consulta Obtén información sobre las VM administradas en un MIG.

Agrega instancias a un MIG

Para agregar más instancias a un MIG, puedes seguir estos pasos:

Para verificar que las instancias agregadas recientemente estén en funcionamiento, verifica el estado del grupo o verifica el estado de las instancias administradas.

Cambio de tamaño manual

Si un grupo de instancias administrado aún no está configurado para el ajuste de escala automático, puedes cambiar el tamaño del grupo manualmente a fin de cambiar la cantidad de instancias en el grupo. Consulta Cambia el tamaño de un grupo de instancias de forma manual.

Ajuste de escala automático

Puedes configurar grupos de instancias administrados para agregar o quitar automáticamente instancias en función de las cargas de trabajo. Las aplicaciones pueden manejar fácilmente los aumentos de tráfico, y puedes reducir los costos cuando se necesiten menos recursos de procesamiento. Para usar el ajuste de escala automático en tu MIG, consulta Aplica el ajuste de escala automático en grupos de instancias.

Agrega instancias con nombres específicos

Si tienes un sistema que depende de nombres específicos, usa la herramienta de gcloud o la API para agregar VM con nombres específicos a un MIG existente.

Los nombres que asignes a estas instancias administradas persisten si el MIG vuelve a crear la VM. Para obtener más información sobre cómo preservar el estado de las instancias de un MIG, consulta MIG con estado.

Limitaciones

Si creas instancias con nombres específicos:

  • El ajuste de escala automático debe estar desactivado durante el proceso de creación de la instancia.
  • Debes establecer la política de actualización del MIG como oportunista.
  • Si actualizas un MIG regional, haz lo siguiente:
  • No puedes usar nombres de instancias de VM duplicados dentro de un proyecto.

gcloud

Usa el subcomando create-instances:

gcloud compute instance-groups managed create-instance instance-group-name \
    --instance managed-instance-name \
    [--region region | --zone zone]

Reemplaza los siguientes elementos:

  • instance-group-name es el nombre del MIG regional o zonal al que se agregará una instancia nueva.
  • managed-instance-name es el nombre que deseas asignarle a la instancia nueva.

API

En la API, realiza una solicitud POST al método regionInstanceGroupManagers.createInstances. Para un grupo de instancias administrado zonal, usa el método instanceGroupManagers.createInstances. En el cuerpo de la solicitud, incluye el campo instances con nombres para una o más instancias.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/createInstances
{
  "instances": [
    {
      "name": "instance-name-1"
    },
    {
      "name": "instance-name-2"
    }
  ]
}

Actualiza las instancias seleccionadas en un grupo

Consulta cómo implementar actualizaciones para MIG.

Borra instancias de un MIG

Cuando borras instancias administradas, el MIG reduce el targetSize del grupo y borra las instancias de VM correspondientes. El MIG quita las instancias de cualquier grupo de destino al que pertenezcan.

Borrar instancias de un grupo de instancias administrado no cambia ninguna configuración del escalador automático especificada. Si borras instancias de un grupo de instancias administrado, es posible que el escalador automático detecte un aumento en la carga de trabajo en las demás instancias y aumente el tamaño del grupo a su nivel anterior. Para evitar esto, detén el escalador automático antes de intentar borrar las instancias.

Si el grupo forma parte de un servicio de backend en el que el vaciado de conexiones está habilitado, pueden transcurrir hasta 60 segundos más después de que se complete el vaciado de conexiones hasta que se quite o se borre la instancia de VM.

Para borrar una instancia administrada y, por lo tanto, borrar la instancia de VM correspondiente, puedes hacer lo siguiente:

Borra instancias específicas

Puedes borrar instancias específicas en un grupo de instancias administrado. Borrar instancias reduce el targetSize especificado del grupo de instancias y quita instancias en los grupos de destino de los que forman parte. Si configuraste un MIG con estado, este también borra las opciones de configuración de estado preservadas de las instancias.

Borrar instancias de un grupo de instancias administrado no cambia ninguna configuración del escalador automático especificada. Si borras instancias de un grupo de instancias administrado, es posible que el escalador automático detecte un aumento en la carga de trabajo en las demás instancias y aumente el tamaño del grupo a su nivel anterior. Para evitar esto, detén el escalador automático antes de intentar borrar las instancias.

Si el grupo forma parte de un servicio de backend en el que el vaciado de conexiones está habilitado, pueden transcurrir hasta 60 segundos más después de que se complete el vaciado de conexiones hasta que se quite o se borre la instancia de VM.

Para borrar instancias de un grupo de instancias administrado, puedes usar Google Cloud Console, la herramienta de línea de comandos de gcloud o la API.

Console

  1. En Cloud Console, ve a la página Grupos de instancias.

    Ir a la página Grupos de instancias

  2. En la columna Nombre de la lista, haz clic en el nombre del grupo de instancias en el que quieres borrar las instancias individuales. Se abrirá una página con las propiedades del grupo de instancias y una lista de instancias incluidas en el grupo.
  3. En la lista, selecciona una o más instancias que quieres borrar.
  4. Haz clic en Borrar. Se borran las instancias seleccionadas.

gcloud

Para borrar una instancia con la herramienta de gcloud, usa el subcomando instance-groups managed delete-instances:

gcloud compute instance-groups managed delete-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    [--region region | --zone zone]

API

En la API, realiza una solicitud POST al método regionInstanceGroupManagers.deleteInstances. Para un grupo de instancias administrado zonal, usa el método instanceGroupManagers.deleteInstances.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/deleteInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

Después de realizar una solicitud para borrar instancias en un grupo de instancias administrado, las instancias se detienen en cuanto el sistema puede borrarlas. Este proceso puede tardar una cantidad de tiempo significativa dependiendo de la cantidad de instancias que borres del grupo. Verifica el estado del grupo o verifica el estado de las instancias administradas.

Abandona instancias de un MIG

Puedes separar una instancia de VM de un grupo de instancias administrado para depurar con mayor facilidad los problemas de instancias individuales sin afectar al grupo en su totalidad. Cuando se descarta una instancia de un grupo, también se la quita de los balanceadores de cargas asignados al grupo de instancias administrado. No se quitan los grupos de destino asignados de forma manual a instancias individuales específicas.

Descartar instancias reduce el targetSize especificado del grupo de instancias, pero no cambia ninguna configuración del escalador automático. Los grupos de instancias administrados con un escalador automático continúan agregando o quitando instancias de forma automática según sea necesario.

Si el grupo forma parte de un servicio de backend en el que el vaciado de conexiones está habilitado, pueden transcurrir hasta 60 segundos más después de que se complete el vaciado de conexiones hasta que se quite o se borre la instancia de VM.

Descarta instancias de un grupo de instancias administrado mediante Google Cloud Console, la herramienta de gcloud o la API.

Console

  1. En Cloud Console, ve a la página Grupos de instancias.

    Ir a la página Grupos de instancias

  2. En la columna Nombre de la lista, haz clic en el nombre del grupo de instancias del que quieres quitar las instancias. Se abrirá una página con las propiedades del grupo de instancias y una lista de instancias incluidas en el grupo.
  3. En la lista, selecciona una o más instancias que quieres quitar del grupo.
  4. Haz clic en Quitar del grupo. Las instancias seleccionadas abandonan el grupo, pero siguen en ejecución fuera de este.

gcloud

Para quitar una instancia del grupo de instancias sin borrar la VM, usa el subcomando abandon-instances.

gcloud compute instance-groups managed abandon-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    [--region region | --zone zone]

API

En la API, realiza una solicitud POST al método regionInstanceGroupManagers.abandonInstances. Para un grupo de instancias administrado zonal, usa el método instanceGroupManagers.abandonInstances.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/abandonInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

Después de realizar una solicitud para descartar instancias de un grupo de instancias administrado, el grupo las quita lo antes posible. Verifica el estado del grupo o verifica el estado de las instancias administradas.

Vuelve a crear instancias en un MIG

Si se vuelve a crear una instancia, se borra la VM especificada y se crea una nueva mediante la configuración que se asignó a la instancia administrada.

Usa este método para actualizar las VM seleccionadas a fin de que usen la plantilla de instancias más reciente y la configuración con estado si corresponde. Si necesitas volver a crear todas las VM de un grupo de instancias administrado, inicia una actualización progresiva.

Si el grupo forma parte de un servicio de backend en el que el vaciado de conexiones está habilitado, pueden transcurrir hasta 60 segundos más después de que se complete el vaciado de conexiones hasta que se quite o se borre la instancia de VM.

Vuelve a crear las instancias de VM seleccionadas en el grupo de instancias administrado mediante la herramienta de gcloud o la API.

gcloud

Usa el subcomando instance-groups managed recreate-instances.

gcloud compute instance-groups managed recreate-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    [--region region | --zone zone]

API

En la API, realiza una solicitud POST al método regionInstanceGroupManagers.recreateInstances. Para un grupo de instancias administrado zonal, usa el método instanceGroupManagers.recreateInstances.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/recreateInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

Una vez que realizas una solicitud para volver a crear instancias de VM en un grupo de instancias administrado, las VM nuevas se inician en cuanto el sistema puede aprovisionarlas. Este proceso puede tomar un tiempo significativo en función de la cantidad de instancias que vuelves a crear. Verifica el estado del grupo o verifica el estado de las instancias administradas.

Obtén información sobre instancias en un MIG

Consulta cómo obtener información sobre las instancias administradas en un MIG.

Pasos siguientes