Crea grupos de instancias no administrados

Los grupos de instancias no administradas son colecciones de instancias que existen en una zona única y no comparten una plantilla de instancias común. Puedes usar grupos de instancias no administrados para ajustar tu configuración preexistente de tareas de balanceo de cargas. Sin embargo, siempre debes crear grupos de instancias administrados a menos que tus aplicaciones requieran que agrupes instancias que no sean idénticas.

Para obtener más información sobre los grupos de instancias, lee la descripción general de los grupos de instancias. Para crear un grupo de instancias administrado (MIG), lee Crea grupos de instancias administrados.

Antes de comenzar

Crea un grupo de instancias no administrado

A diferencia de los grupos de instancias administrados, los no administrados solo son conjuntos de instancias únicas que no comparten una plantilla de instancias común. Los grupos no administrados no crean, borran o escalan la cantidad de instancias del grupo. Tan solo se crea un grupo y, luego, se agregan instancias individuales a este.

Console

  1. Ve a la página Grupos de instancias en GCP Console.

    Ir a la página Grupos de instancias

  2. Haz clic en Crear un grupo de instancias.
  3. Ingresa un nombre para el grupo de instancias no administrado.
  4. En Ubicación, selecciona Zona única
  5. En Zona, selecciona la zona en la que deseas ubicar el grupo.
  6. En Tipo de grupo, selecciona Grupo de instancias no administrado.
  7. Selecciona la red para este grupo.
  8. En Instancias de VM, selecciona las instancias que deseas agregar a este grupo.
  9. Haz clic en Crearpara crear el grupo nuevo.

gcloud

Para crear un grupo de instancias no administrado nuevo con la herramienta de línea de comandos de gcloud, usa el comando instance-groups unmanaged create:

gcloud compute instance-groups unmanaged create [INSTANCE_GROUP]

API

En la API, crea una solicitud POST para el servicio instanceGroups. Incluye un nombre de grupo en el cuerpo de la solicitud.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups

{
 "name": "[INSTANCE_GROUP]"
}

Cuando creas un grupo de instancias no administrado por primera vez, está vacío. Después de crearlo, puedes agregar instancias específicas al grupo.

Agrega instancias a un grupo de instancias no administrado

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

Esto es lo que debes tener en cuenta:

  • Una instancia solo puede pertenecer a un grupo de instancias de balanceo de cargas. También puedes agregar una instancia a un solo grupo de instancias de balanceo de cargas y a varios grupos de instancias sin balanceo de cargas.

  • Si se balancean las cargas del grupo de instancias, todas las instancias deben pertenecer a la misma red o subred de VPC.

Console

  1. Ve a la página Grupos de instancias en GCP Console.

    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 deseas agregar las instancias. Se abrirá una página con las propiedades del grupo de instancias y una lista de instancias 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 instancias si se encuentran en la misma zona que el grupo.
  5. Haz clic en Guardar para guardar los cambios. Las instancias seleccionadas se unen al grupo de instancias no administrado.

gcloud

Usa el subcomando add-instances de gcloud instance-groups unmanaged:

gcloud compute instance-groups unmanaged add-instances [INSTANCE_GROUP] \
  --instances [INSTANCE_NAME],[ANOTHER_INSTANCE_NAME]

API

Crea una solicitud al servicio instanceGroups con el nombre del grupo de instancias no administrado al que deseas agregar instancias. Especifica las URL de las instancias que deseas agregar al grupo.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/addInstances

{
 "instances": [
  {
   "instance": "https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]"
  }
 ]
}

Enumera grupos de instancias no administrados en un proyecto

Recupera una lista de grupos de instancias no administrados existentes.

Console

En GCP Console, dirígete a la página Grupos de instancias.

Ir a la página Grupos de instancias

En la página, se enumeran los grupos de instancias existentes que tengas. Ten en cuenta que, en esta página, también se enumeran los grupos de instancias administrados.

gcloud

Confirma que tu grupo de instancias no administrado se creó con éxito con el comando list:

gcloud compute instance-groups unmanaged list [INSTANCE_GROUP]

Para obtener información sobre un grupo específico, ejecuta el siguiente comando:

gcloud compute instance-groups unmanaged describe [INSTANCE_GROUP]

API

Genera una lista de todos los grupos de instancias dentro de un proyecto. Construye una solicitud GET al servicio instanceGroups:

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups

Obtén información sobre un grupo específico. Construye una solicitud GET al servicio instanceGroups y, además, incluye el nombre de un grupo de instancias no administrado específico:

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Haz una lista de instancias en un grupo de instancias no administrado

Recupera una lista de instancias incluidas en un grupo de instancias no administrado.

Console

  1. Ve a la página Grupos de instancias en GCP Console.

    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 contiene las instancias que deseas ver. Se abrirá una página con las propiedades del grupo de instancias y una lista de instancias incluidas en ese grupo.

gcloud

Para enumerar las instancias en un grupo de instancias no administrado, usa el subcomando list-instances del grupo de comandos instances de gcloud compute instance-groups unmanaged:

gcloud compute instance-groups unmanaged list-instances [INSTANCE_GROUP]

API

Construye una solicitud al servicio instanceGroups con el nombre del grupo de instancias no administrado cuyas instancias deseas enumerar. De manera opcional, puedes incluir filtros en el cuerpo de la solicitud.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/listInstances

Quita instancias de un grupo

Separa las instancias de sus grupos sin borrarlas.

Si el grupo forma parte de un servicio de backend que tiene habilitado el desvío de conexión, pueden transcurrir hasta 60 segundos después de la duración del desvío de conexión hasta que se quite o borre la instancia de VM.

Console

  1. Ve a la página Grupos de instancias en GCP Console.

    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 instancias. Se abrirá una página con las propiedades del grupo de instancias y una lista de instancias incluidas en ese grupo.
  3. En la lista de instancias, selecciona las instancias que deseas 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 instancias de un grupo de instancias no administrado, usa el subcomando remove de gcloud compute instance-groups unmanaged:

gcloud compute instance-groups unmanaged remove-instances [INSTANCE_GROUP] \
  --instances [INSTANCE_NAME],[ANOTHER_INSTANCE_NAME],[INSTANCES ...]

API

Crea una solicitud al servicio instanceGroups con el nombre del grupo de instancias no administrado cuyas instancias deseas quitar. Especifica las URL de las instancias que deseas quitar del grupo.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/removeInstances

{
 "instances": [
  {
   "instance": "https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[ANOTHER_INSTANCE_NAME]"
  }
 ]
}

Agrega un grupo de instancias no administrado a un servicio de backend

Es necesario un servicio de backend para crear un HTTP(S), un proxy SSL, un proxy TCP o un balanceador de cargas interno. Un servicio de backend puede contener varios backends. Un grupo de instancias es un tipo de backend. Las instancias en el grupo de instancias responden al tráfico del balanceador de cargas. El servicio de backend, a su vez, detecta las instancias que puede usar, la cantidad de tráfico que puede manejar y el tráfico que maneja en el momento. Además, el servicio de backend supervisa la verificación de estado y no envía conexiones nuevas a instancias en mal estado.

Si quieres obtener instrucciones para agregar un grupo de instancias a un servicio de backend, consulta Agrega grupos de instancias a un servicio de backend.

Asigna puertos con nombre a grupos de instancias no administrados

Los puertos con nombre son pares clave-valor que representan un nombre de servicio y el número de puerto en el que se ejecuta el servicio. Los servicios de balanceo de cargas usan puertos con nombre para dirigir el tráfico a puertos específicos en instancias individuales. Por ejemplo, si configuras un puerto con nombre como http:80 y, luego, configuras tu servicio de backend para que envíe tráfico a un puerto llamado http, el balanceo de cargas reenvía el tráfico al puerto 80 de instancias individuales que forman parte del grupo de instancias.

Los puertos con nombre son metadatos simples que usan el balanceo de cargas. Los puertos con nombre no controlan recursos de red o de firewall en Compute Engine.

Puedes asignar varios puertos para cada nombre de servicio y varios nombres de servicio a cada puerto. Sin embargo, ten en cuenta que un servicio de backend dado solo puede reenviar tráfico a un puerto con nombre a la vez.

Console

  1. Ve a la página Grupos de instancias en GCP Console.

    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. Haz clic en Especificar mapeo de nombre de puertos para expandir las opciones de puertos con nombre.
  5. Haz clic en Agregar elemento y, luego, ingresa el nombre de puerto deseado y los números de puerto que quieres asociar con ese nombre. Haz clic en Agregar elemento de nuevo para agregar más entradas si es necesario.
  6. Haz clic en Guardar para guardar los cambios y aplicar los puertos con nombre a las instancias del grupo de instancias no administrado.

gcloud

Configura uno o más puertos con nombre con el comando set-named-ports:

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports [PORT_NAME]:[PORT],[PORT_NAME]:[PORT]

Por ejemplo:

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports name1:80,name2:8080

A fin de asignar varios puertos a cada nombre de servicio o varios nombres por cada servicio, crea más de una entrada para cada nombre o puerto. Por ejemplo, asigna name1 a los puertos 10, 20 y 80. Luego, asigna name2 y name3 al puerto 8080. Por último, asigna el puerto 9000 a name4.

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports name1:10,name1:20,name1:80,\
                name2:8080,name3:8080,\
                name4:9000

Verifica las asignaciones de puertos con nombre para un grupo de instancias no administrado mediante el comando get-named-ports:

gcloud compute instance-groups unmanaged get-named-ports [INSTANCE_GROUP]
NAME  PORT
name1 10
name1 20
name1 80
name2 8080
name3 8080
name4 9000

API

Construye una solicitud para el servicio instanceGroups y, además, incluye el nombre de un grupo de instancias no administrado específico. Para obtener el valor fingerprint actual del grupo de instancias no administrado, obtén información sobre un grupo específico. Incluye fingerprint y uno o más pares de valores namedPorts en el cuerpo de la solicitud:

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "[PORT_NAME]",
   "port": [PORT_NUMBER]
  },
  {
   "name": "[PORT_NAME]",
   "port": [PORT_NUMBER]
  }
 ]
}

Por ejemplo:

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "name1",
   "port": 80
  },
  {
   "name": "name2",
   "port": 8080
  }
 ]
}

Si quieres asignar varios puertos a cada nombre de servicio, crea varias entradas para ese nombre de servicio. Por ejemplo, puedes asignar los puertos 10, 20 y 80 a name1. Asigna también el puerto 8080 a name2.

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "name1",
   "port": 10
  },
  {
   "name": "name1",
   "port": 20
  }
  {
   "name": "name1",
   "port": 80
  }
  {
   "name": "name2",
   "port": 8080
  }
  {
   "name": "name3",
   "port": 80
  }
  {
   "name": "name4",
   "port": 8080
  }
 ]
}

Para enumerar los puertos con nombre que ya están asignados a un grupo de instancias no administrado, crea una solicitud GET que apunte al grupo:

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Borra un grupo de instancias no administrado

A diferencia de un grupo de instancias administrado, la eliminación de un grupo de instancias no administrado no borra ninguna de las instancias dentro del grupo. Borrar un grupo de instancias no administrado solo disuelve la agrupación lógica de instancias.

Borra un grupo de instancias no administrado con la herramienta de línea de comandos de gcloud o la API.

Console

  1. Ve a la página Grupos de instancias en GCP Console.

    Ir a la página Grupos de instancias

  2. Selecciona uno o más grupos de la lista que quieres borrar.
  3. Haz clic en Borrar para borrar el grupo. Las instancias del grupo no se borran.

gcloud

Para borrar un grupo de instancias no administrado, usa el comando delete:

gcloud compute instance-groups unmanaged delete [INSTANCE_GROUP]

API

Crea una solicitud DELETE para el servicio instanceGroups y, además, incluye el nombre de un grupo de instancias no administrado específico que desees borrar:

DELETE https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Qué sigue

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine