Trabaja con instancias administradas

Una instancia administrada es una entidad de datos que representa el estado previsto para una instancia de máquina virtual (VM) real en un grupo de instancias administrado (MIG). Lee este documento para aprender a trabajar de manera confiable con las instancias administradas en un MIG. Por ejemplo, es posible que necesites agregar, quitar, actualizar o obtener información sobre una instancia específica.

Para asegurarte de que el MIG no revierta los cambios de configuración, es importante usar los métodos que se describen en este documento. Si trabajas fuera de los métodos del grupo, el MIG detectará los cambios y podría intentar reparar el grupo. Por ejemplo, si borras una instancia en un grupo, el MIG puede recrear esa instancia de forma automática según la especificación de la instancia administrada.

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.

El estado actual de una instancia administrada incluye los siguientes campos:

  • 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 previsto de una instancia administrada para una instancia de VM real incluye los siguientes elementos:

  • La versión deseada, es decir, el nombre de la versión y la plantilla de instancias que se usarán en la instancia
  • Estado Preservado de elementos (como discos o metadatos) que se conservarán.

Como se muestra en la figura 1, para cada instancia administrada en un MIG, el MIG mantiene una VM en funcionamiento en funcionamiento según la especificación de la instancia administrada.

Según su configuración, el MIG genera automáticamente instancias administradas, que corresponden a las instancias de VM reales que un MIG mantiene en su nombre.

Figura 1. Relación entre las instancias administradas y las VM correspondientes.

Para ver las especificaciones de una instancia administrada, consulta Obtén información sobre las instancias 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 obtener más información sobre el ajuste de escala automático en tu MIG, consulta 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 lo siguiente:

  • instance-group-name es el nombre del MIG regional o zonal al que se agrega una instancia nueva.
  • managed-instance-name es el nombre que deseas asignar 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 Actualiza las instancias de forma selectiva en un 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 preservado 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 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 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.

Configura instancias con estado en un MIG

Para obtener más información, consulta Configura MIG con estado.

¿Qué sigue?