Agrega etiquetas de red
Una etiqueta es solo una string de caracteres que se agrega al campo de etiquetas en un recurso, como las instancias de máquina virtual (VM) de Compute Engine o las plantillas de instancias. Una etiqueta no es un recurso independiente, por lo que no puedes crearla por separado. Se considera que todos los recursos con esa string tienen esa etiqueta. Las etiquetas te permiten hacer que las reglas de firewall y las rutas se puedan aplicar a instancias de VM específicas.
Puedes asignar las etiquetas de red a las VMs nuevas cuando las creas o puedes editar el conjunto de etiquetas asignadas en cualquier momento posterior. Puedes editar las etiquetas de red sin detener una VM.
Especificaciones
Las etiquetas de red que asignas a una instancia se aplican a todas las interfaces de red de la instancia. Una etiqueta de red solo se aplica a las Redes de VPC que se adjuntan directamente a las interfaces de red de la instancia. Esto es así incluso en el Intercambio de tráfico de red de VPC, debido a que las redes de intercambio de tráfico siguen siendo redes distintas. Por lo tanto, las etiquetas de red aún son significativas en la red a la que se adjunta la interfaz de red de la instancia.
Las etiquetas de red deben comenzar con una letra minúscula y contener letras minúsculas, números y guiones. Las etiquetas deben terminar con una letra minúscula o un número.
Permisos
Se requieren las siguientes funciones de IAM para las tareas que se analizan en esta página. Para obtener más detalles, consulta Funciones de IAM de Compute Engine.
Tarea | Función requerida |
---|---|
Asignar una etiqueta de red a una instancia nueva cuando se crea | Propietario o editor del proyecto o administrador de instancias |
Agrega o quita las etiquetas de red para las instancias existentes | |
Agregar, quitar o editar las reglas de firewall | Propietario o editor del proyecto o administrador de seguridad |
Límites
Los siguientes límites se aplican a las etiquetas de red:
Límite | Valor | Descripción |
---|---|---|
Cantidad máxima de etiquetas por VM | 64 | Todas las etiquetas de una VM deben ser únicas. Puedes asignar hasta 64 etiquetas diferentes por VM. |
Cantidad máxima de caracteres por cada etiqueta | 63 | |
Caracteres aceptables para una etiqueta | letras minúsculas, números, guiones | Además: • Las etiquetas deben comenzar con una letra en minúscula. • Las etiquetas deben finalizar con un número o una letra minúscula. |
Rutas y reglas de firewall
Las etiquetas de red te permiten aplicar las rutas y reglas de firewall a una instancia específica o a un conjunto de instancias:
Puedes usar etiquetas de destino y de origen para que una regla de firewall se pueda aplicar a instancias específicas.
Puedes usar una etiqueta para que una ruta se pueda aplicar a instancias específicas.
Destinos para las reglas de firewall
Toda regla de firewall en Google Cloud debe tener un destino que define las instancias a las que se aplica. Todas las instancias de la red son el destino predeterminado; sin embargo, puedes especificar las instancias como destinos con las etiquetas o las cuentas de servicio de destino.
La etiqueta de destino define las VM de Google Cloud a las que se aplica la regla. La regla se aplica a una red de VPC específica. Se aplica a la dirección IP interna principal asociada con la interfaz de red de cualquier instancia adjunta a esa red de VPC que tenga una etiqueta de red correspondiente.
Las reglas de firewall de entrada y salida tienen destinos:
Las reglas de entrada se aplican al tráfico que entra a tu red de VPC. Para las reglas de entrada, los objetivos son VM de destino en Google Cloud.
Las reglas de salida se aplican al tráfico que sale de tu red de VPC. Para las reglas de salida, los objetivos son las VM de origen en Google Cloud.
Considera una regla de firewall de entrada que permita el tráfico en el puerto TCP 80
desde cualquier origen. La regla tiene una etiqueta de destino de http-server
. Esta regla solo se aplicará a las instancias que tengan la etiqueta de red http-server
, lo cual significa que se permitirá el tráfico entrante en el puerto 80
a esas instancias.
Filtros de origen para reglas de firewall de entrada
Cuando creas reglas de firewall de entrada, debes especificar un origen. Puedes definirlo mediante rangos de direcciones IP internas o externas o en relación con las instancias específicas. Puedes especificar las instancias mediante las etiquetas o las cuentas de servicio de origen.
La etiqueta de origen de una regla de firewall de entrada que se aplica en una red de VPC define una fuente de tráfico como si proviniera de la dirección IP interna principal asociada con la interfaz de red conectada a esa red de VPC para cualquier instancia que tenga una etiqueta de red coincidente.
Puedes usar una combinación de rangos de IP y etiquetas de origen o una combinación de rangos de IP y cuentas de servicio de origen. No puedes usar etiquetas de red y cuentas de servicio en la misma regla. Para obtener más información acerca de las etiquetas y cuentas de servicio de origen, consulta Comparación entre el filtrado por cuenta de servicio y por etiqueta de red.
Consideraciones
Cuando usas una regla de firewall de entrada con etiquetas de origen, es posible que observes una demora de propagación. Esta demora suele ser de algunos segundos, pero puede ser, en algunos casos, de algunos minutos. Cuando realizas los siguientes cambios, la regla de firewall de entrada puede llevar tiempo en aplicarse o quitarse de una instancia asociada:
- Iniciar o detener una instancia que tiene una etiqueta asociada con la etiqueta de origen de una regla
- Iniciar una instancia que tiene una etiqueta asociada con la etiqueta de destino de una regla
- Agregar o quitar etiquetas de una instancia si las etiquetas se usan en los campos de origen o de destino de una regla
- Agregar o quitar etiquetas de origen o de destino de una regla
Esta demora de propagación se aplica solo a las reglas de entrada que usan etiquetas de origen. Todas las demás reglas de firewall se aplican de inmediato en una instancia. Por ejemplo, una regla de entrada que usa un rango de direcciones IP de origen y etiquetas de destino no tiene demora de propagación.
Interacción con rutas estáticas
Cuando creas una ruta estática, especificas una red de VPC. Luego, puedes especificar etiquetas de modo que la ruta solo se aplique al tráfico enviado desde las VMs con etiquetas de red que coincidan en la red de VPC especificada.
Agrega, visualiza y quita etiquetas
Puedes especificar etiquetas de red cuando creas una instancia de VM. También puedes agregar y quitar etiquetas de una VM existente.
Agrega etiquetas al momento de crear una VM
Console
- Ve a la página Instancias de VM.
Ir a la página Instancias de VM - Haz clic en Crear instancia.
- Haz clic en Administración, seguridad, discos, herramientas de redes, instancia única para abrir esa sección.
- Haz clic en la pestaña Redes.
- En el campo Etiquetas de redes, especifica una o más etiquetas, separadas por comas.
- Propaga los demás campos para la VM.
- Haz clic en Crear.
gcloud
Para asignar etiquetas nuevas a una instancia, usa el siguiente comando de gcloud
.
gcloud compute instances create INSTANCE_NAME \ --zone ZONE \ --tags TAGS \ ...other parameters as needed.
Reemplaza lo siguiente:
INSTANCE_NAME
: El nombre de la instancia.ZONE
: La zona de la instancia.TAGS
: Una lista de etiquetas delimitadas por comas.
Consulta la documentación de gcloud
para obtener más información.
Terraform
Puedes usar el recurso de Terraform para crear una instancia de VM que tenga etiquetas de red.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Agrega etiquetas a una VM existente
Console
- Ve a la página Instancias de VM.
Ir a la página Instancias de VM - Haz clic en un nombre de Instancia.
- En la página Detalles de instancias de VM, haz clic en Editar.
- En la sección Etiquetas de red, especifica una o más etiquetas, separadas por comas.
- Haz clic en Guardar.
gcloud
Para asignar etiquetas nuevas a una instancia, usa el siguiente comando de gcloud
.
gcloud compute instances add-tags INSTANCE_NAME \ --zone ZONE \ --tags TAGS
Reemplaza lo siguiente:
INSTANCE_NAME
: El nombre de la instancia.ZONE
: La zona de la instancia.TAGS
: Una lista de etiquetas delimitadas por comas.
Consulta la documentación de gcloud
para obtener más información.
Visualiza etiquetas
Console
- Ve a la página Instancias de VM.
Ir a la página Instancias de VM Ve las etiquetas en la columna Etiquetas de red.
Si es necesario, haz clic en Opciones de visualización de columnas para agregar la columna Etiquetas de red.
Para ver las instancias etiquetadas con una etiqueta específica, en el filtro, selecciona la propiedad Etiquetas de red y, luego, ingresa las etiquetas que deseas filtrar.
gcloud
Para enumerar las instancias con sus etiquetas, ejecuta el siguiente comando:
gcloud compute instances list --format='table(name,status,tags.list())'
Para enumerar las instancias etiquetadas con una etiqueta específica, ejecuta el siguiente comando:
gcloud compute instances list --filter='tags:TAG_EXPRESSION'
Reemplaza lo siguiente:
TAG_EXPRESSION
: Es la expresión que deseas filtrar. Por ejemplo,tag1
,tag1 OR tag2
,tag1 AND tag2
. Consulta filtros de temas de gcloud para obtener más información sobre cómo filtrar los resultados.
Quitar las etiquetas
Console
- Ve a la página Instancias de VM.
Ir a la página Instancias de VM - Haz clic en un nombre de Instancia.
- En la página Detalles de instancias de VM, haz clic en Editar.
- En la sección Etiquetas de red, haz clic en la
X
para quitar las etiquetas. - Haz clic en Guardar.
gcloud
Para quitar las etiquetas de una instancia, usa el siguiente comando de gcloud
.
gcloud compute instances remove-tags INSTANCE_NAME \ --zone ZONE \ --tags TAGS
Reemplaza lo siguiente:
INSTANCE_NAME
: El nombre de la instancia.ZONE
: La zona de la instancia.TAGS
: Una lista de etiquetas delimitadas por comas.
Consulta la documentación de gcloud
para obtener más información.
Solicitudes directas a la API
Puedes establecer las etiquetas de red asociadas con una instancia mediante una solicitud directa a la API. A diferencia del uso de los comandos de gcloud
o la consola de Google Cloud, la actualización de etiquetas mediante la solicitud directa a la API no conserva las etiquetas existentes.
Asegúrate de especificar todo el conjunto de etiquetas que se deben asociar a una instancia siempre que actualices las etiquetas de esta forma.
Para actualizar las etiquetas mediante una solicitud directa a la API, haz lo siguiente:
Determina la última huella digital asociada con las etiquetas. La huella digital se usa para prevenir cualquier colisión derivada de solicitudes simultáneas a la API. El proceso de actualización de las etiquetas de red de una instancia es similar al proceso de actualización de los metadatos de la instancia.
Realiza una solicitudGET
a la instancia; por ejemplo:GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance
Busca la propiedad
tags.fingerprint
en la respuesta:200 OK { ... "tags": { "items": [ "http-server", "db-client" ], "fingerprint": "MW8EqhxILtc=" }, ... }
También puedes usar un comando de
gcloud
para obtenerfingerprint
, como se muestra en el siguiente ejemplo:gcloud compute instances describe INSTANCE_NAME \ --zone ZONE \ --format="get(tags.fingerprint)"
Realiza una solicitud
POST
al métodoinstance().setTags
. El cuerpo de la solicitud debe contener todas las etiquetas que se deben asociar con la instancia, además del valor defingerprint
.
Ejemplo de solicitud:POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setTags { "items": [ "http-server", "db-client", "allow-internet-access" ], "fingerprint": "MW8EqhxILtc=" }
Respuesta de ejemplo:
200 OK { "kind": "compute#operation", "id": "9251830049681941507", "name": "operation-1442414898862-51fde63aa57b1-422323e0-c439fb04", "zone": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f", "operationType": "setTags", "targetLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance", "targetId": "4392196237934605253", "status": "PENDING", "user": "user@example.com", "progress": 0, ... }
¿Qué sigue?
- Para obtener más información sobre cómo trabajar con reglas de firewall, consulta Reglas de firewall de VPC y Usa reglas de firewall de VPC.
- Para obtener más información sobre cómo trabajar con rutas, consulta Rutas y Usa rutas.