Añadir etiquetas de red
Una etiqueta es simplemente una cadena de caracteres que se añade a un campo tags de un recurso, como las instancias de máquina virtual (VM) de Compute Engine o las plantillas de instancia. Una etiqueta no es un recurso independiente, por lo que no se puede crear por separado. Todos los recursos que contengan esa cadena se considerarán que tienen esa etiqueta. Las etiquetas te permiten aplicar reglas de cortafuegos y rutas a instancias de VM específicas.
Puede asignar etiquetas de red a las nuevas máquinas virtuales en el momento de la creación o editar el conjunto de etiquetas asignadas en cualquier momento posterior. Puedes editar etiquetas de red sin detener una máquina virtual.
Especificaciones
Las etiquetas de red que asignes a una instancia se aplicarán a todas las interfaces de red de la instancia. Una etiqueta de red solo se aplica a las redes de VPC que están conectadas directamente a las interfaces de red de la instancia. Esto ocurre incluso con el emparejamiento entre redes de VPC, ya que las redes emparejadas siguen siendo redes distintas. Por lo tanto, las etiquetas de red solo tienen sentido en la red a la que está conectada la interfaz de red de la instancia.
Las etiquetas de red deben empezar por una letra minúscula y pueden contener letras minúsculas, números y guiones. Las etiquetas deben terminar en una letra minúscula o un número.
Permisos
Los siguientes roles de gestión de identidades y accesos son necesarios para las tareas que se describen en esta página. Para obtener más información, consulta Roles de gestión de identidades y accesos de Compute Engine.
Tarea | Rol obligatorio |
---|---|
Asignar una etiqueta de red a una instancia nueva cuando se crea | Propietario o editor del proyecto o administrador de instancia |
Añadir o quitar etiquetas de red de instancias | |
Añadir, eliminar o editar reglas de cortafuegos | Propietario o editor del proyecto o administrador de seguridad |
Límites
Se aplican los siguientes límites a las etiquetas de red:
Límite | Valor | Descripción |
---|---|---|
Número máximo de etiquetas por VM | 64 | Todas las etiquetas de una VM deben ser únicas. Puedes asignar hasta 64 etiquetas diferentes por máquina virtual. |
Número máximo de caracteres por etiqueta | 63 | |
Caracteres aceptables para una etiqueta | letras minúsculas, números y guiones | Además: • Las etiquetas deben empezar por una letra minúscula. • Las etiquetas deben terminar con un número o una letra minúscula. |
Reglas y rutas de cortafuegos
Las etiquetas de red te permiten aplicar reglas de cortafuegos y rutas a una instancia o a un conjunto de instancias específicos:
Para que una regla de cortafuegos se aplique a instancias específicas, utiliza etiquetas de destino y etiquetas de origen.
Para que una ruta se aplique a instancias específicas, usa una etiqueta.
Destinos de las reglas de cortafuegos
Cada regla de cortafuegos de Google Cloud debe tener un target que defina las instancias a las que se aplica. El destino predeterminado son todas las instancias de la red, pero puedes especificar instancias como destinos mediante etiquetas de destino o cuentas de servicio de destino.
La etiqueta de destino define las Google Cloud VMs 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 a la interfaz de red de cualquier instancia conectada a esa red de VPC que tenga una etiqueta de red coincidente.
Tanto las reglas de cortafuegos de entrada como las de salida tienen destinos:
Las reglas de entrada se aplican al tráfico que entra en tu red de VPC. En el caso de las reglas de entrada, los destinos son las máquinas virtuales de destino en Google Cloud.
Las reglas de salida se aplican al tráfico que sale de tu red de VPC. En el caso de las reglas de salida, los destinos son las máquinas virtuales de origen en Google Cloud.
Considera la posibilidad de usar una regla de cortafuegos de entrada que permita el tráfico en el puerto TCP 80
desde cualquier origen. La regla tiene una etiqueta de destino http-server
. Esta regla solo se aplicaría a las instancias que tengan la etiqueta de red http-server
, lo que significa que el tráfico entrante en el puerto 80
se permitiría en esas instancias.
Filtros de origen de reglas de cortafuegos de entrada
Cuando creas reglas de cortafuegos de entrada, debes especificar un origen. Puedes definirlo mediante intervalos de direcciones IP internas o externas, o bien haciendo referencia a instancias específicas. Puedes especificar instancias mediante etiquetas de origen o cuentas de servicio de origen.
La etiqueta de origen de una regla de cortafuegos de entrada aplicada en una red de VPC define el origen del tráfico como la dirección IP interna principal asociada a la interfaz de red conectada a esa red de VPC de cualquier instancia que tenga una etiqueta de red coincidente.
Puedes usar una combinación de intervalos de IP y etiquetas de origen, o bien una combinación de intervalos 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 sobre las etiquetas de origen y las cuentas de servicio, consulta el artículo sobre filtrar por cuenta de servicio o por etiqueta de red.
Cuestiones importantes
Si usas una regla de cortafuegos de entrada con etiquetas de origen, puede que observes un retraso en la propagación. Este retraso suele ser de unos segundos, pero en algunos casos puede ser de unos minutos. Cuando hagas los siguientes cambios, la regla de firewall de entrada puede tardar en aplicarse o en quitarse de una instancia asociada:
- Iniciar o detener una instancia que tenga una etiqueta asociada a la etiqueta de origen de una regla
- Iniciar una instancia que tenga una etiqueta asociada a la etiqueta de destino de una regla
- Añadir o quitar etiquetas de una instancia si las etiquetas se usan en los campos de origen o de destino de una regla
- Añadir o quitar etiquetas de origen o de destino de una regla
Este retraso de propagación solo se aplica a las reglas de entrada que usan etiquetas de origen. El resto de las reglas de cortafuegos se aplican inmediatamente a una instancia. Por ejemplo, una regla de entrada que usa un intervalo de direcciones IP de origen y etiquetas de destino no tiene ningún retraso de propagación.
Interacción con rutas estáticas
Cuando creas una ruta estática, especificas una red de VPC. A continuación, puedes especificar etiquetas para que la ruta solo se aplique al tráfico enviado desde VMs con etiquetas de red coincidentes en la red VPC especificada.
Añadir, ver y quitar etiquetas
Puedes especificar etiquetas de red al crear una instancia de VM. También puedes añadir y quitar etiquetas de una máquina virtual.
Añadir etiquetas al crear una VM
Consola
- Ve a la página Instancias de VM.
Ve a la página Instancias de VM. - Haz clic en Crear instancia.
- Haz clic en Gestión, seguridad, discos, redes, único cliente para abrir esa sección.
- Haz clic en la pestaña Redes.
- En el campo Etiquetas de red, especifique una o varias etiquetas separadas por comas.
- Rellena los demás campos de la VM.
- Haz clic en Crear.
gcloud
Para asignar etiquetas nuevas a una instancia, usa el siguiente comando gcloud
.
gcloud compute instances create INSTANCE_NAME \ --zone ZONE \ --tags TAGS \ ...other parameters as needed.
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.ZONE
: la zona de la instancia.TAGS
: una lista de etiquetas separadas por comas.
Para obtener más información, consulta la gcloud
documentación.
Terraform
Puede usar el recurso de Terraform para crear una instancia de VM que tenga etiquetas de red.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Añadir etiquetas a una VM
Consola
- Ve a la página Instancias de VM.
Ve a la página Instancias de VM. - Haz clic en el nombre de una instancia.
- En la página Detalles de la instancia de VM, haz clic en Editar.
- En la sección Etiquetas de red, especifique una o varias etiquetas separadas por comas.
- Haz clic en Guardar.
gcloud
Para asignar etiquetas nuevas a una instancia, usa el siguiente comando gcloud
.
gcloud compute instances add-tags INSTANCE_NAME \ --zone ZONE \ --tags TAGS
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.ZONE
: la zona de la instancia.TAGS
: una lista de etiquetas separadas por comas.
Para obtener más información, consulta la gcloud
documentación.
Ver etiquetas
Consola
- Ve a la página Instancias de VM.
Ve a la página Instancias de VM. Consulte las etiquetas en la columna Etiquetas de red.
Si es necesario, haga clic en Opciones de visualización de columnas para añadir la columna Etiquetas de red.
Para ver las instancias que tienen una etiqueta específica, seleccione la propiedad Etiquetas de red en el filtro e introduzca las etiquetas por las que quiere filtrar.
gcloud
Para enumerar las instancias con sus etiquetas, ejecuta este comando:
gcloud compute instances list --format='table(name,status,tags.list())'
Para enumerar las instancias etiquetadas con una etiqueta específica, ejecuta este comando:
gcloud compute instances list --filter='tags:TAG_EXPRESSION'
Haz los cambios siguientes:
TAG_EXPRESSION
: la expresión que quiere filtrar. Por ejemplo,tag1
,tag1 OR tag2
ytag1 AND tag2
. Consulta gcloud topic filters para obtener más información sobre cómo filtrar la salida.
Eliminar etiquetas
Consola
- Ve a la página Instancias de VM.
Ve a la página Instancias de VM. - Haz clic en el nombre de una instancia.
- En la página Detalles de la instancia de VM, haz clic en Editar.
- En la sección Etiquetas de red, quite etiquetas haciendo clic en Quitar (
X
). - Haz clic en Guardar.
gcloud
Para quitar etiquetas de una instancia, usa el siguiente comando gcloud
.
gcloud compute instances remove-tags INSTANCE_NAME \ --zone ZONE \ --tags TAGS
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.ZONE
: la zona de la instancia.TAGS
: una lista de etiquetas separadas por comas.
Para obtener más información, consulta la gcloud
documentación.
Solicitudes directas a la API
Puede definir las etiquetas de red asociadas a una instancia haciendo una solicitud directa a la API. A diferencia de lo que ocurre con los comandos de la Google Cloud consolagcloud
, al actualizar las etiquetas mediante una solicitud directa a la API no se conservan las etiquetas que ya existan.
Asegúrate de especificar el conjunto completo de etiquetas que deben asociarse a una instancia cada vez que actualices las etiquetas de esta forma.
Para actualizar etiquetas mediante una solicitud directa a la API, siga estos pasos:
Determina la huella digital más reciente asociada a las etiquetas. La huella digital se usa para evitar colisiones de solicitudes de API simultáneas. El proceso para actualizar las etiquetas de red de una instancia es similar al de actualizar 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
gcloud
para obtener elfingerprint
, como se muestra en el siguiente ejemplo:gcloud compute instances describe INSTANCE_NAME \ --zone ZONE \ --format="get(tags.fingerprint)"
Haz una solicitud
POST
al métodoinstance().setTags
. El cuerpo de la solicitud debe contener todas las etiquetas que se deban asociar a la instancia, así como el valorfingerprint
.
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, ... }
Siguientes pasos
- Para obtener más información sobre cómo trabajar con reglas de cortafuegos, consulta los artículos Reglas de cortafuegos de VPC y Usar reglas de cortafuegos de VPC.
- Para obtener más información sobre cómo trabajar con rutas, consulta Rutas y Usar rutas.