Un grupo de instancias no administrado es un conjunto de instancias de máquina virtual (VM) que se encuentran en un solo proyecto, 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. Puedes usar un grupo de instancias no administrado en el servicio de backend de un balanceador de cargas.
Para las VM que necesitan parámetros de configuración coherentes, puedes usar un grupo de instancias administrado (MIG) que se base en 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 un MIG.
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. Para conocer la cantidad de VM por grupo de instancias que admite Cloud Load Balancing, 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
- Lee sobre la diferencia entre grupos de instancias administrados y no administrados.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- En la consola de Google Cloud, ve a la página Grupos de instancias.
- Haga clic en Crear grupo de instancias.
- Haz clic en Crea un nuevo grupo de instancias no administrado.
- Escribe un nombre para el grupo de instancias no administrado.
- En Ubicación, elige una región y una zona.
- Elige una Red y una Subred.
- En Instancias de VM, elige las VM que desees agregar a este grupo.
- Haz clic en Crear.
instance-group-name
: El nombre del grupo que deseas crearzone
: La zona en la que deseas crear el grupoinstance-group-name
: El nombre del grupo que deseas crearzone
: La zona en la que deseas crear el grupoproject-id
: El ID del proyecto que contiene el grupoinstance-group-name
: El nombre del grupo que se describirázone
: La zona del grupoinstance-group-name
: El nombre del grupo que se describirázone
: La zona del grupoproject-id
: El ID del proyecto que contiene el grupo- En la consola de Google Cloud, ve a la página Grupos de instancias.
- Elige uno o más grupos de instancias no administrados de la lista.
- Haz clic en Borrar para quitar los grupos. Los grupos se quitan, pero las VM de los grupos no se borran.
instance-group-name
: El nombre del grupo que deseas borrarzone
: La zona del grupoinstance-group-name
: El nombre del grupo que deseas borrarzone
: La zona del grupoproject-id
: El ID del proyecto que contiene el grupo- En la consola de Google Cloud, ve a la página Grupos de instancias.
- 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.
- Haz clic en Editar para modificar este grupo de instancias no administrado.
- En Instancias de VM, elige 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.
- Haz clic en Guardar para agregar las VM nuevas al grupo.
instance-group-name
: El nombre del grupo al que deseas agregar las VMzone
: La zona del grupolist-of-VM-names
: Una lista delimitada por comas de VM en la misma zona, red de VPC y subred.instance-group-name
: El nombre del grupo al que deseas agregar las VMzone
: La zona del grupoproject-id
: El ID del proyecto que contiene el grupoinstance-1-name
yinstance-2-name
: Los nombres de las VM, en la misma zona, red de VPC y subred, que deseas agregar al grupo- En la consola de Google Cloud, ve a la página Grupos de instancias.
- 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.
instance-group-name
: El nombre del grupo cuyos miembros deseas enumerarzone
: La zona del grupoinstance-group-name
: El nombre del grupo cuyos miembros deseas enumerarzone
: La zona del grupoproject-id
: El ID del proyecto que contiene el grupo- En la consola de Google Cloud, ve a la página Grupos de instancias.
- 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.
- En la lista, elige una o más VM que quieras quitar del grupo.
- 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.
instance-group-name
: El nombre del grupo que contiene las instancias que se quitaránzone
: La zona del grupolist-of-VM-names
: Una lista delimitada por comas de las VM que deseas quitar del grupoinstance-group-name
: El nombre del grupo que contiene las instancias que se quitaránzone
: La zona del grupoproject-id
: El ID del proyecto que contiene el grupoinstance-1-name
yinstance-2-name
: Los nombres de las VM que deseas desasociar del grupo- El tráfico se balancea entre todos los puertos con el mismo nombre de puerto.
- Un servicio de backend determinado solo puede reenviar tráfico a un puerto con nombre a la vez.
Si usas varios números de puerto para un puerto con nombre, todos los puertos deben ser de la misma aplicación.
Por ejemplo,
http:80,http:8080
funciona, perohttp:80,http:443
no funciona porque el puerto 80 no suele ser compatible con TLS.instance-group-a
con un puerto con nombre dehttp-port:80
instance-group-b
con un puerto con nombre dehttp-port:79
- En la consola de Google Cloud, ve a la página Grupos de instancias.
- 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.
- Haz clic en Editar para modificar este grupo de instancias no administrado.
- En la sección Asignación de puertos, haz clic en Agregar puerto e ingresa un nombre de puerto y su número. Agrega o quita otros puertos con nombre según sea necesario.
- Haz clic en Guardar para actualizar la lista de puertos con nombre del grupo de instancias no administrado.
instance-group-name
: El nombre del grupo de instanciaszone
: La zona del grupoport-name
yport-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 nombreDescribe el grupo de instancias y anota el valor de fingerprint.
Para agregar puertos con nombre, envía una solicitud
POST
con el método instanceGroups.setNamedPorts. Si deseas quitar todos los puertos con nombre, configuranamedPorts
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 instanciaszone
: La zona del grupoproject-id
: El ID del proyecto que contiene el grupoport-name
yport-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
- Crea un grupo de instancias administrado con VM en una sola zona.
- Crea un grupo de instancias administrado con VM en varias zonas de una región.
- Obtén información sobre Cloud Load Balancing.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Trabaja con grupos de instancias no administrados
Creación de 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
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:
REST
Para crear un grupo de instancias no administrado con REST, 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:
Cuando creas un nuevo grupo de instancias no administrado con Google Cloud CLI o REST, las VMs 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 la consola de Google Cloud, en la página Grupos de instancias, se enumeran los grupos de instancias administrados y no administrados existentes.
gcloud
Para generar una lista de todos los grupos de instancias no administrados en tu proyecto con Google Cloud CLI, usa la lista de grupos de instancias no administrados de instancias:
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:
REST
Para enumerar los grupos de instancias con REST, 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:
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
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:
REST
Para borrar un grupo de instancias no administrado con REST, envía una solicitud
DELETE
con el método instanceGroups.delete:DELETE https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name
Reemplaza lo siguiente:
Membresía del grupo
Agrega VM
Después de crear un grupo de instancias no administrado, puedes agregar VM al grupo. Sin embargo, solo puedes agrupar las VM si la primera o la única interfaz de red (
nic0
) de cada VM se conecta a la misma red de VPC. La cantidad máxima de VM que puedes agregar a un grupo de instancias no administrado es de 2,000. Si deseas agregar más de 2,000 VMs al grupo, comunícate con el equipo de asistencia.Console
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:
REST
Para agregar VMs a un grupo de instancias no administrado, 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:
Enumera las VM
Puedes recuperar una lista de las VM del grupo en un grupo de instancias no administrado.
Console
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:
REST
Para enumerar las VMs en un grupo de instancias no administrado, 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:
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
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:
REST
Para quitar VMs de un grupo de instancias no administrado, envía una solicitud
POST
con 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:
Trabaja con puertos con nombre
Los puertos con nombre son pares clave-valor que representan el nombre y el número de un puerto. El nombre del puerto representa un nombre de un servicio o aplicación. El número de puerto representa el puerto en el que se ejecuta el servicio o la aplicación.
Los puertos con nombre que usa Cloud Load Balancing. 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 llamadohttp-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.Los puertos con nombre son metadatos simples que usan los balanceadores de cargas de proxy. Los puertos con nombre no controlan recursos de red o de firewall en Compute Engine.
Múltiples números de puerto para un puerto con nombre
Puedes asignar varios puertos para cada nombre de servicio. También puedes asignar varios nombres de servicio a cada puerto.
Ten en cuenta los siguientes puntos:
Puedes definir varios puertos con nombre en un grupo de instancias. 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: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 eninstance-group-b
.Cuando agregas el mismo grupo de instancias a varios servicios de backend (para varios balanceadores de cargas) y el grupo de instancias entrega puertos diferentes en cada balanceador de cargas, no agregues todos los números de puerto a un solo puerto con nombre. En su lugar, debes crear un puerto con nombre único y asignarlo a un conjunto de puertos que cada servicio de backend deba entregar.
Por ejemplo, supón que tienes tres aplicaciones, cada una con su propio balanceador de cargas. Cada aplicación tiene su propio número de puerto: 81 para
app1
, 82 paraapp2
y 83 paraapp3
. Si suponemos que los tres servicios de backend usan un grupo de instancias común, asigna los puertos con nombre para este grupo de instancias como[app1:81, app2:82, app3:83]
.Puertos con nombre y verificaciones de estado
Para que un puerto con nombre y con varios números de puerto en un servicio de backend funcione en un balanceador de cargas de aplicaciones externo o en un balanceador de cargas de aplicaciones interno, la verificación de estado debe tener la marca
--use-serving-port
en lugar de un número de puerto específico. Esta opción no está disponible en la consola de Google Cloud. Para configurar--use-serving-port
, debes usar Google Cloud CLI o la API.Por ejemplo, supongamos que tienes una aplicación que balancea las cargas del tráfico en tres puertos diferentes (81, 82, 83) en el mismo servicio de backend con un solo grupo de instancias. Puedes asignar los puertos para estos grupos de instancias como
[app:81, 82, 83]
. La verificación de estado en esta situación debe tener la marca--use-serving-port
.Para obtener más información, consulta la documentación de verificación de estado del balanceo de cargas.
Puertos con nombre y reglas de firewall
Los puertos con nombre no crean ni modifican las reglas de firewall de Google Cloud. Para permitir el tráfico a las VM de backend, debes crear las reglas de firewall necesarias.
Puertos con nombre y servicios de backend
Además de la configuración del grupo de instancias, también debes configurar el servicio de backend. Por ejemplo, supongamos que configuraste el puerto con nombre en un grupo de instancias con el nombre
my-service-name
y el puerto8888
:gcloud compute instance-groups set-named-ports my-unmanaged-ig \ --named-ports=my-service-name:8888
Luego, debes hacer referencia al puerto con nombre en la configuración del servicio de backend mediante el
--port-name
en el servicio de backend configurado comomy-service-name
:gcloud compute backend-services update my-backend-service \ --port-name=my-service-name
Crea puertos con nombre
Console
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 el comando
instance-groups unmanaged get-named-ports
: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
Para 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, si los puertos
10
,20
y80
son para la misma aplicación, puedes asignarname1
a todos esos puertos. Además, puedes asignar dos nombres,name2
yname3
, al puerto8080
. Por último, puedes asignar el puerto9000
aname4
, como se muestra en el siguiente ejemplo:gcloud compute instance-groups unmanaged set-named-ports INSTANCE_GROUP \ --named-ports name1:10,name1:20,name1:80,\ name2:8080,name3:8080,\ name4:9000
Para quitar todos los puertos con nombre de un grupo de instancias no administrado con Google Cloud CLI, 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:
REST
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-09-03 (UTC)
-