Crea grupos de instancias no administradas

Un grupo de instancias no administrado es un conjunto de máquinas virtuales (VM) que se encuentran en una sola zona, red de VPC y subred. Un grupo de instancias no administrado es útil para agrupar las VM que requieren parámetros de configuración o ajustes individuales.

Para las VM que requieren parámetros de configuración coherentes, puedes usar un grupo de instancias administrado (MIG) con una plantilla de instancias. Siempre que sea posible, considera usar grupos de instancias administrados en lugar de los no administrados. Para crear un grupo de instancias administrado, consulta Crea grupos de instancias administrados.

Puedes agregar cualquier tipo de grupo de instancias como un backend a un balanceador de cargas de Google Cloud. Para obtener más información, consulta Descripción general de Cloud Load Balancing. Si quieres obtener más información sobre la cantidad de VM por grupo de instancias que admite Google Cloud, consulta VM por grupo de instancias.

Para obtener más información sobre los grupos de instancias, consulta Descripción general de los grupos de instancias.

Antes de comenzar

Trabaja con grupos de instancias no administrados

Crea grupos

A diferencia de los grupos de instancias administrados, los grupos de instancias no administrados son solo conjuntos de VM distintas que no comparten una plantilla de instancias común. Solo debes crear un grupo y agregar VM individuales al grupo.

Console

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

    Ir a la página Grupos de instancias

  2. Haz clic en Crear un grupo de instancias.
  3. Haz clic en Grupo de instancias no administrado nuevo.
  4. Ingresa un nombre para el grupo de instancias no administrado.
  5. En Ubicación, selecciona una región y una zona.
  6. Selecciona una Red y una Subred.
  7. En Instancias de VM, selecciona las VM que desees agregar a este grupo.
  8. Haz clic en Crear.

gcloud

Para crear un nuevo grupo de instancias no administrado, usa el comando instance-groups unmanaged create:

gcloud compute instance-groups unmanaged create instance-group-name \
    --zone=zone

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo que deseas crear
  • zone: La zona en la que deseas crear el grupo

API

Para crear un grupo de instancias no administrado con la API, envía una solicitud POST mediante el método instanceGroups.insert:

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups

{
   "name": "instance-group-name"
}

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo que deseas crear
  • zone: La zona en la que deseas crear el grupo
  • project-id: El ID del proyecto que contiene el grupo

Cuando creas un nuevo grupo de instancias no administrado con la herramienta de línea de comandos de gcloud o la API, las VM no se agregan de forma automática. Puedes agregar VM al grupo de instancias no administrado de forma manual.

Enumera y describe grupos

Recupera una lista de grupos de instancias no administrados existentes.

Console

En Cloud Console, en la página Grupos de instancias, se enumeran los grupos de instancias administrados y no administrados existentes.

Ir a la página Grupos de instancias

gcloud

Para generar una lista de todos los grupos de instancias no administrados en tu proyecto con la herramienta de línea de comandos de gcloud, usa instance-groups unmanaged list:

gcloud compute instance-groups unmanaged list

Para ver información sobre un grupo de instancias no administrado específico, usa el comando instance-groups unmanaged describe:

gcloud compute instance-groups unmanaged describe instance-group-name \
   --zone=zone

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo que se describirá
  • zone: La zona del grupo

API

Para enumerar los grupos de instancias con la API, envía una solicitud GET mediante el método instanceGroups.list:

GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups

Para obtener información sobre un grupo de instancias no administrado específico con la API, envía una solicitud GET mediante el método instanceGroups.get:

GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo que se describirá
  • zone: La zona del grupo
  • project-id: El ID del proyecto que contiene el grupo

Borra grupos

A diferencia de lo que ocurriría en un grupo de instancias administrado, la eliminación de un grupo de instancias no administrado no borra ninguna de las VM del grupo. Si borras un grupo de instancias no administrado, solo se quita la agrupación lógica de las VM.

No puedes borrar un grupo de instancias si el grupo es un backend de un balanceador de cargas de Google Cloud. Primero debes quitar el backend del servicio de backend.

Console

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

    Ir a la página Grupos de instancias

  2. Selecciona uno o más grupos de instancias no administrados de la lista.
  3. Haz clic en Borrar para quitar los grupos. Los grupos se quitan, pero las VM de los grupos no se borran.

gcloud

Para borrar un grupo de instancias no administrado, usa el comando instance-groups unmanaged delete:

gcloud compute instance-groups unmanaged delete instance-group-name \
    --zone=zone

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo que deseas borrar
  • zone: La zona del grupo

API

Para borrar un grupo de instancias no administrado con la API, envía una solicitud DELETE mediante el método instanceGroups.delete:

DELETE https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo que deseas borrar
  • zone: La zona del grupo
  • project-id: El ID del proyecto que contiene el grupo

Membresía del grupo

Agrega VM

Después de crear un grupo de instancias no administrado, puedes agregar VM al grupo.

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 al que deseas agregar las VM. Se abrirá una página con las propiedades del grupo de instancias y una lista de las VM que ya forman parte del grupo.
  3. Haz clic en Editar grupo para modificar este grupo de instancias no administrado.
  4. En Instancias de VM, selecciona una o más instancias existentes que desees agregar a este grupo. Solo puedes seleccionar las VM que estén en la misma zona, red de VPC y subred que las VM existentes.
  5. Haz clic en Guardar para agregar las VM nuevas al grupo.

gcloud

Para agregar instancias a un grupo de instancias no administrado, usa el comando instance-groups unmanaged add-instances:

gcloud compute instance-groups unmanaged add-instances instance-group-name \
    --zone=zone \
    --instances=list-of-VM-names

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo al que deseas agregar las VM
  • zone: La zona del grupo
  • list-of-VM-names: Una lista delimitada por comas de VM en la misma zona, red de VPC y subred.

API

Para agregar VM a un grupo de instancias no administrado con la API, envía una solicitud POST mediante el método instanceGroups.addInstances:

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

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

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo al que deseas agregar las VM
  • zone: La zona del grupo
  • project-id: El ID del proyecto que contiene el grupo
  • instance-1-name y instance-2-name: Los nombres de las VM, en la misma zona, red de VPC y subred, que deseas agregar al grupo

Enumera las VM

Puedes recuperar una lista de las VM del grupo en un grupo de instancias no administrado.

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 no administrado que deseas ver. Aparecerá una página con la lista de instancias que se incluyen en el grupo.

gcloud

Para enumerar las VM en un grupo de instancias no administrado, usa el comando instance-groups unmanaged list-instances:

gcloud compute instance-groups unmanaged list-instances instance-group-name \
   --zone=zone

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo cuyos miembros deseas enumerar
  • zone: La zona del grupo

API

Para enumerar las VM en un grupo de instancias no administrado con la API, envía una solicitud POST mediante el método instanceGroups.listInstances:

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

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo cuyos miembros deseas enumerar
  • zone: La zona del grupo
  • project-id: El ID del proyecto que contiene el grupo

Quita VM

Puedes quitar VM de un grupo de instancias no administrado. Si quitas una VM del grupo de instancias, esta no se borra.

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 deseas quitar las VM. Se abrirá una página con las propiedades del grupo de instancias y una lista de las VM incluidas en el grupo.
  3. En la lista, selecciona una o más VM que quieras quitar del grupo.
  4. Haz clic en Quitar del grupo. Las VM que quitas de un grupo de instancias no administrado seguirán existiendo y se seguirán ejecutando, a menos que las detengas o borres.

gcloud

Para quitar VM de un grupo de instancias no administrado, usa el comando instance-groups unmanaged remove-instances:

gcloud compute instance-groups unmanaged remove-instances instance-group-name \
    --zone=zone \
    --instances=list-of-VM-names

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo que contiene las instancias que se quitarán
  • zone: La zona del grupo
  • list-of-VM-names: Una lista delimitada por comas de las VM que deseas quitar del grupo

API

Para quitar VM de un grupo de instancias no administrado con la API, envía una solicitud POST mediante el método instanceGroups.removeInstances. Puedes quitar varias VM de forma simultánea, como se muestra a continuación:

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

Reemplaza lo siguiente:

  • instance-group-name: El nombre del grupo que contiene las instancias que se quitarán
  • zone: La zona del grupo
  • project-id: El ID del proyecto que contiene el grupo
  • instance-1-name y instance-2-name: Los nombres de las VM que deseas desasociar del grupo

Trabaja con puertos con nombre

Los puertos con nombre son pares clave-valor que representan el nombre y el número de un puerto. Se usan junto con los balanceadores de cargas de Google Cloud. Los balanceadores de cargas que funcionan como proxies se suscriben a un solo puerto con nombre en su configuración del servicio de backend. El nombre del puerto se traduce en un número de puerto según la asignación de puertos con nombre de cada backend del grupo de instancias.

Por ejemplo, un servicio de backend puede suscribirse a un puerto con el nombre http-port. El grupo de instancias de backend puede tener un puerto con el nombre http-port:80. El grupo de instancias de backend le indica al balanceador de cargas que envíe tráfico a una VM en el grupo del puerto 80 mediante un protocolo (como TCP). El protocolo se define en el servicio de backend del balanceador de cargas.

Puedes definir varios puertos con nombre en un grupo de instancias. Sin embargo, el servicio de backend de un balanceador de cargas solo se suscribe a un único puerto con nombre. Los grupos de instancias de backend en el mismo servicio de backend pueden usar distintas asignaciones de puertos con nombre. A modo de ejemplo, considera un servicio de backend que se suscribe al puerto con nombre http-port y que tiene dos grupos de instancias de backend:

  • instance-group-a con un puerto con nombre de http-port:80
  • instance-group-b con un puerto con nombre de http-port:79

Este servicio de backend envía tráfico al puerto 80 para las VM en instance-group-a y al puerto 79 para las VM en instance-group-b.

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 especificar los puertos con nombre. Se abrirá una página con las propiedades del grupo de instancias.
  3. Haz clic en Editar grupo para modificar este grupo de instancias no administrado.
  4. En la sección Asignación de nombre de puerto (opcional), haz clic en Agregar elemento para ingresar un nombre de puerto y su número. Agrega o quita otros puertos con nombre según sea necesario.
  5. Haz clic en Guardar para actualizar la lista de puertos con nombre del grupo de instancias no administrado.

gcloud

Para agregar puertos con nombre a un grupo de instancias no administrado, usa el comando instance-groups unmanaged set-named-ports:

gcloud compute instance-groups unmanaged set-named-ports instance-group-name \
    --zone=zone \
    --named-ports=port-name:port-number,...

Para enumerar los puertos con nombre en un grupo de instancias no administrado, usa instance-groups unmanaged get-named-ports:

gcloud compute instance-groups unmanaged get-named-ports instance-group-name \
    --zone=zone

Para quitar todos los puertos con nombre de un grupo de instancias no administrado con la herramienta de línea de comandos de gcloud, usa instance-groups unmanaged set-named-ports con una lista vacía de puertos con nombre:

gcloud compute instance-groups unmanaged set-named-ports instance-group-name \
    --zone=zone \
    --named-ports=""

En todos los ejemplos anteriores, reemplaza la siguiente información, si aparece:

  • instance-group-name: El nombre del grupo de instancias
  • zone: La zona del grupo
  • port-name y port-number: El nombre y el número del puerto, que representan una asignación de un nombre que elijas a un número de puerto. Puedes especificar varias asignaciones separadas por comas. Por ejemplo, port-one:80,port-two:8080 es una lista válida de puertos con nombre

API

  1. Describe el grupo de instancias y anota el valor de fingerprint.

  2. Para agregar puertos con nombre con la API, envía una solicitud POST mediante el método instanceGroups.setNamedPorts. Si deseas quitar todos los puertos con nombre, configura namedPorts como una lista vacía.

    POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/setNamedPorts
    
    {
        "fingerprint": "fingerprint",
        "namedPorts": [
            {
            "name": "port-name",
            "port": port-number
            },
            {
            "name": "port-name",
            "port": port-number
            },
            ....
        ]
    }
    

    Reemplaza lo siguiente:

    • instance-group-name: El nombre del grupo de instancias
    • zone: La zona del grupo
    • project-id: El ID del proyecto que contiene el grupo
    • port-name y port-number: El nombre y el número del puerto, que representan una asignación de un nombre que elijas a un número de puerto.
    • fingerprint: El valor de huella digital del paso anterior
  3. Vuelve a describir el grupo de instancias y anota los puertos con nombre configurados.

Próximos pasos