Cómo configurar las etiquetas de red

Las etiquetas de red son atributos de texto que puedes agregar a las instancias de máquina virtual (VM) de Compute Engine. Las etiquetas te permiten aplicar las rutas y las reglas de firewall a las instancias de VM específicas.

Solo puedes agregar las etiquetas de red a las instancias de VM o a las plantillas de instancias. No puedes etiquetar otros recursos de GCP. Puedes asignar las etiquetas de red a las instancias nuevas cuando las creas o puedes editar el conjunto de etiquetas asignadas en cualquier momento posterior. Las etiquetas de red se pueden editar sin detener una instancia.

Especificaciones

Las etiquetas de red que asignas a una instancia solo se aplican a la red de VPC en la que se encuentra ubicada la interfaz de red principal de la instancia:

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
Agregar o quitar 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 para cada etiqueta 63
Caracteres aceptables para una etiqueta letras minúsculas, números, guiones Además, las etiquetas deben comenzar y terminar 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 aplicar una regla de firewall a instancias específicas.

  • Puedes usar una etiqueta para aplicar una ruta a instancias específicas.

Destinos para las reglas de firewall

Toda regla de firewall en GCP debe tener un destino que defina las instancias a las que se aplica. El destino predeterminado es todas las instancias de la red; 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 GCP a las que se aplica la regla. La regla se aplicará a la dirección IP interna principal de cualquier instancia 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 destinos son las VM de destino en GCP.

  • Las reglas de salida se aplican al tráfico que sale de tu red de VPC. Para las reglas de salida, los destinos son las VM de origen en GCP.

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 una etiqueta de red de 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 definirla con rangos de direcciones IP internas o externas, o en relación con las instancias específicas. Puedes especificar las instancias con las etiquetas o las cuentas de servicio de origen.

La etiqueta de origen para una regla de firewall de entrada define un origen de tráfico que procede de la dirección IP interna principal de cualquier instancia con 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 cómo filtrar por cuenta de servicio vs. etiqueta de red.

Interacción con las rutas

Cuando creas una ruta, puedes especificar etiquetas de modo que solo se aplique al tráfico que se envía desde la dirección IP interna principal de las instancias con etiquetas de red coincidentes.

Cómo agregar y quitar las etiquetas

Cómo agregar las etiquetas

Console

  1. Ve a la página Instancias de VM.
    Ir a la página Instancias de VM
  2. Selecciona una instancia.
  3. En la página Detalles de instancias de VM, haz clic en Editar.
  4. En la sección Etiquetas de red, especifica una o más etiquetas, separadas por comas.
  5. Haz clic en Guardar.

gcloud

Para asignar etiquetas nuevas a una instancia, usa el siguiente comando de gcloud. Reemplaza [INSTANCE-NAME] por el nombre de la instancia, [ZONE] por su zona y [TAGS] por una lista de strings delimitadas por comas:

gcloud compute instances add-tags [INSTANCE-NAME] \
    --zone [ZONE] \
    --tags [TAGS]

Consulta la documentación de gcloud para obtener más información.

Cómo quitar las etiquetas

Console

  1. Ve a la página Instancias de VM.
    Ir a la página Instancias de VM
  2. Selecciona una instancia.
  3. En la página Detalles de instancias de VM, haz clic en Editar.
  4. En la sección Etiquetas de red, haz clic en la X para quitar las etiquetas.
  5. Haz clic en Guardar.

gcloud

Para quitar las etiquetas de una instancia, usa el siguiente comando de gcloud. Reemplaza [INSTANCE-NAME] por el nombre de la instancia, [ZONE] por su zona y [TAGS] por una lista delimitada por comas de las etiquetas que se van a quitar:

gcloud compute instances remove-tags [INSTANCE-NAME] \
    --zone [ZONE] \
    --tags [TAGS]

Consulta la documentación de gcloud para obtener más información.

Solicitudes directas a la API

Puedes realizar una solicitud directa a la API para configurar las etiquetas de red asociadas con una instancia. A diferencia del uso de GCP Console o de los comandos de gcloud, la actualización de las etiquetas mediante una solicitud directa a la API no guarda las etiquetas existentes. Asegúrate de especificar todo el conjunto de etiquetas que se deben asociar con una instancia siempre que actualices las etiquetas de esta forma.

Para actualizar las etiquetas mediante una solicitud directa a la API:

  1. 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 solicitud GET a la instancia; por ejemplo:

    GET https://www.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 obtener la fingerprint, como se muestra en el siguiente ejemplo:

    gcloud compute instances describe [INSTANCE-NAME] \
       --zone [ZONE] \
       --format="get(tags.fingerprint)"
  2. Realiza una solicitud POST al método instance().setTags. El cuerpo de la solicitud debe contener todas las etiquetas que se deben asociar con la instancia, además del valor de fingerprint.

    Solicitud de ejemplo:

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

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión: