Crea grupos de instancias no administrados

Los grupos de instancias no administrados son conjuntos de instancias que no son necesariamente idénticas y que 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 usar grupos de instancias administrados, a menos que tus aplicaciones necesiten que agrupes instancias que no sean idénticas.

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

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 se agregan instancias individuales a este luego.

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 Crear para crear el grupo nuevo.

gcloud

Para crear un grupo de instancias no administrado nuevo con la herramienta 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://www.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.

Ten en cuenta lo siguiente:

  • 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 las instancias existentes que deseas 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 contenido en gcloud instance-groups unmanaged:

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

API

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

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

{
 "instances": [
  {
   "instance": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://www.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

Si tienes grupos de instancias existentes, se detallan en la página. Ten en cuenta que, en esta página, también se detallan los grupos de instancias administrados.

gcloud

Confirma que el grupo de instancias no administrado se creó con éxito mediante 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. Crea una solicitud GET para el servicio instanceGroups:

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

Obtén información sobre un grupo específico. Crea una solicitud GET para el servicio instanceGroups y también incluye el nombre de un grupo de instancias no administrado específico:

GET https://www.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 en ese grupo.

gcloud

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

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

API

Crea una solicitud para el servicio instanceGroups con el nombre del grupo de instancias no administrado del que quieres enumerar instancias. Si no, puedes incluir filtros en el cuerpo de la solicitud.

POST https://www.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 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, contenido dentro del 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 para el servicio instanceGroups con el nombre del grupo de instancias no administrado del que deseas quitar las instancias. Especifica las URL de las instancias que deseas quitar del grupo.

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

{
 "instances": [
  {
   "instance": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://www.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 la página sobre cómo agregar 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 el servicio de backend para enviar tráfico a un puerto denominado http, el balanceo de cargas reenviará el tráfico al puerto 80 de instancias individuales que forman parte del grupo de instancias.

Los puertos con nombre son metadatos simples que utiliza 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 entradas adicionales si es necesario.
  6. Haz clic en Guardar para guardar los cambios y aplicar los puertos con nombre a las instancias del grupo 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. A continuación, asigna name2 y name3 al puerto 80. 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

Comprueba las asignaciones de puertos con nombre para un grupo de instancias no administrado con 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

Crea una solicitud para el servicio instanceGroups y también incluye el nombre de un grupo de instancias no administrado específico: Obtén información sobre un grupo específico a fin de obtener el valor fingerprint para el grupo de instancias no administrado. Incluye el valor fingerprint y uno o más pares de valores namedPorts en el cuerpo de la solicitud:

POST https://www.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]
  }
 ]
}

Como en el siguiente ejemplo:

POST https://www.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://www.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://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Borra un grupo de instancias no administrado

A diferencia de los grupos de instancias administrados, borrar un grupo no administrado no borra ninguna de las instancias dentro de este. Borrar un grupo de instancias no administrado solo disuelve la agrupación lógica de las instancias.

Borra un grupo de instancias no administrado con la herramienta de gcloud compute 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 también incluye el nombre del grupo de instancias no administrado específico que quieres borrar:

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

Pasos siguientes

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

Enviar comentarios sobre...

Documentación de Compute Engine