Aggiunta di tag di rete
Un tag è semplicemente una stringa di caratteri aggiunta a un campo tags in una risorsa, ad esempio istanze di macchine virtuali (VM) di Compute Engine o modelli di istanza. Un tag non è una risorsa separata, quindi non puoi crearlo separatamente. Tutte le risorse con quella stringa sono considerate come se avessero quel tag. I tag consentono di applicare route e regole firewall a istanze VM specifiche.
Puoi assegnare tag di rete alle nuove VM al momento della creazione oppure puoi modificare il set di tag assegnati in qualsiasi momento successivo. Puoi modificare i tag di rete senza arrestare una VM.
Specifiche
I tag di rete che assegni a un'istanza si applicano a tutte le interfacce di rete dell'istanza. Un tag di rete si applica solo alle reti VPC collegate direttamente alle interfacce di rete dell'istanza. Questo vale anche per il peering di rete VPC, perché le reti con peering rimangono reti distinte. Pertanto, i tag di rete sono ancora significativi solo nella rete a cui è collegata l'interfaccia di rete dell'istanza.
I tag di rete devono iniziare con una lettera minuscola e possono contenere lettere minuscole, numeri e trattini. I tag devono terminare con una lettera minuscola o un numero.
Autorizzazioni
Per le attività descritte in questa pagina sono necessari i seguenti ruoli IAM. Per maggiori dettagli, consulta Ruoli IAM di Compute Engine.
| Attività | Ruolo richiesto |
|---|---|
| Assegnare un tag di rete a una nuova istanza al momento della creazione | Proprietario o Editor del progetto o Amministratore istanza |
| Aggiungere o rimuovere tag di rete per le istanze esistenti | |
| Aggiungere, rimuovere o modificare regole firewall | Proprietario o Editor del progetto o Amministratore della sicurezza |
Limiti
Ai tag di rete si applicano i seguenti limiti:
| Limite | Valore | Descrizione |
|---|---|---|
| Numero massimo di tag per VM | 64 | Tutti i tag di una VM devono essere univoci. Puoi assegnare fino a 64 tag diversi per VM. |
| Numero massimo di caratteri per ogni tag | 63 | |
| Caratteri accettabili per un tag | Lettere minuscole, numeri, trattini | Inoltre: • I tag devono iniziare con una lettera minuscola. • I tag devono terminare con un numero o una lettera minuscola. |
Regole firewall e route
I tag di rete consentono di applicare route e regole firewall a un'istanza o a un insieme di istanze specifici:
Puoi rendere una regola firewall applicabile a istanze specifiche utilizzando i tag di destinazione e i tag di origine.
Puoi rendere una route applicabile a istanze specifiche utilizzando un tag.
Destinazioni per le regole firewall
Ogni regola firewall in Google Cloud deve avere una destinazione che definisce le istanze a cui si applica. La destinazione predefinita è tutte le istanze nella rete, ma puoi specificare le istanze come destinazioni utilizzando i tag di destinazione o i service account di destinazione.
Il tag di destinazione definisce le Google Cloud VM a cui si applica la regola. La regola viene applicata a una rete VPC specifica. Viene resa applicabile all'indirizzo IP interno principale associato all'interfaccia di rete di qualsiasi istanza collegata a quella rete VPC che abbia un tag di rete corrispondente.
Sia le regole firewall in entrata sia quelle in uscita hanno destinazioni:
Le regole in entrata si applicano al traffico che entra nella rete VPC. Per le regole in entrata, le destinazioni sono le VM di destinazione in Google Cloud.
Le regole in uscita si applicano al traffico che esce dalla rete VPC. Per le regole in uscita, le destinazioni sono le VM di origine in Google Cloud.
Considera una regola firewall in entrata che consente il traffico sulla porta TCP 80 da qualsiasi origine. La regola ha un tag di destinazione http-server. Questa regola si applicherebbe solo alle istanze con il tag di rete http-server, il che significa che il traffico in entrata sulla porta 80 sarebbe consentito a queste istanze.
Filtri di origine per le regole firewall in entrata
Quando crei regole firewall in entrata, devi specificare un' origine. Puoi definirla utilizzando intervalli di indirizzi IP interni o esterni oppure facendo riferimento a istanze specifiche. Specifichi le istanze utilizzando i tag di origine o i service account di origine.
Il tag di origine per una regola firewall in entrata applicata a una rete VPC definisce un'origine del traffico come proveniente dall'indirizzo IP interno principale associato all'interfaccia di rete collegata a quella rete VPC per qualsiasi istanza con un tag di rete corrispondente.
Puoi utilizzare una combinazione di intervalli IP e tag di origine oppure una combinazione di intervalli IP e service account di origine. Non puoi utilizzare sia i tag di rete sia i service account nella stessa regola. Per saperne di più sui tag di origine e sui service account, consulta Filtro per service account o tag di rete.
Considerazioni
Quando utilizzi una regola firewall in entrata con i tag di origine, potresti notare un ritardo di propagazione. Questo ritardo è in genere di pochi secondi, ma in rari casi può essere di qualche minuto. Quando apporti le seguenti modifiche, l'applicazione o la rimozione della regola firewall in entrata da un'istanza associata può richiedere del tempo:
- Avvio o arresto di un'istanza con un tag associato al tag di origine di una regola
- Avvio di un'istanza con un tag associato al tag di destinazione di una regola
- Aggiunta o rimozione di tag da un'istanza se i tag vengono utilizzati nei campi di origine o di destinazione di una regola
- Aggiunta o rimozione di tag di origine o di destinazione da una regola
Questo ritardo di propagazione si applica solo alle regole in entrata che utilizzano i tag di origine. Tutte le altre regole firewall entrano in vigore immediatamente su un'istanza. Ad esempio, una regola in entrata che utilizza un intervallo di indirizzi IP di origine e tag di destinazione non ha ritardi di propagazione.
Interazione con le route statiche
Quando crei una route statica, specifichi una rete VPC. Puoi quindi specificare i tag in modo che la route si applichi solo al traffico inviato dalle VM con tag di rete corrispondenti nella rete VPC specificata.
Aggiungere, visualizzare e rimuovere tag
Puoi specificare i tag di rete quando crei un'istanza VM. Puoi anche aggiungere e rimuovere tag da una VM esistente.
Aggiungere tag durante la creazione di una VM
Console
- Vai alla pagina Istanze VM.
Vai alla pagina Istanze VM - Fai clic su Crea istanza.
- Fai clic su Gestione, sicurezza, dischi, networking, tenancy singola per aprire la sezione.
- Fai clic sulla scheda Networking.
- Nel campo Tag di rete , specifica uno o più tag separati da virgole.
- Compila gli altri campi della VM.
- Fai clic su Crea.
gcloud
Per assegnare nuovi tag a un'istanza, utilizza il seguente comando gcloud.
gcloud compute instances create INSTANCE_NAME \
--zone ZONE \
--tags TAGS \
...other parameters as needed.
Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanzaZONE: la zona dell'istanzaTAGS: un elenco di tag separati da virgole
Per saperne di più, consulta la gcloud
documentazione per maggiori
informazioni.
Terraform
Puoi utilizzare la risorsa Terraform per creare un'istanza VM con tag di rete.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Aggiungere tag a una VM esistente
Console
- Vai alla pagina Istanze VM.
Vai alla pagina Istanze VM - Fai clic sul nome di un'istanza.
- Nella pagina Dettagli istanza VM, fai clic su Modifica.
- Nella sezione Tag di rete , specifica uno o più tag separati da virgole.
- Fai clic su Salva.
gcloud
Per assegnare nuovi tag a un'istanza, utilizza il seguente comando gcloud.
gcloud compute instances add-tags INSTANCE_NAME \
--zone ZONE \
--tags TAGS
Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanzaZONE: la zona dell'istanzaTAGS: un elenco di tag separati da virgole
Per saperne di più, consulta la gcloud
documentazione per maggiori
informazioni.
Visualizzare i tag
Console
- Vai alla pagina Istanze VM.
Vai alla pagina Istanze VM Visualizza i tag nella colonna Tag di rete.
Se necessario, fai clic su Opzioni di visualizzazione delle colonne per aggiungere la colonna Tag di rete.
Per visualizzare le istanze con un tag specifico, nel filtro seleziona la proprietà Tag di rete e inserisci i tag su cui vuoi filtrare.
gcloud
Per elencare le istanze con i relativi tag, esegui questo comando:
gcloud compute instances list --format='table(name,status,tags.list())'
Per elencare le istanze con un tag specifico, esegui questo comando:
gcloud compute instances list --filter='tags:TAG_EXPRESSION'
Sostituisci quanto segue:
TAG_EXPRESSION: l'espressione che vuoi filtrare. Ad esempio,tag1,tag1 OR tag2,tag1 AND tag2. Per saperne di più sul filtraggio dell'output, consulta Filtri per argomento di gcloud.
Rimuovere i tag
Console
- Vai alla pagina Istanze VM.
Vai alla pagina Istanze VM - Fai clic sul nome di un'istanza.
- Nella pagina Dettagli istanza VM, fai clic su Modifica.
- Nella sezione Tag di rete, rimuovi i tag facendo clic su Rimuovi (
X). - Fai clic su Salva.
gcloud
Per rimuovere i tag da un'istanza, utilizza il seguente comando gcloud.
gcloud compute instances remove-tags INSTANCE_NAME \
--zone ZONE \
--tags TAGS
Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanzaZONE: la zona dell'istanzaTAGS: un elenco di tag separati da virgole
Per saperne di più, consulta la gcloud
documentazione per maggiori
informazioni.
Richieste API dirette
Puoi impostare i tag di rete associati a un'istanza effettuando una richiesta API diretta. A differenza dell'utilizzo dei Google Cloud console o gcloud comandi,
l'aggiornamento dei tag tramite richiesta API diretta non mantiene i tag esistenti.
Assicurati di specificare l'insieme completo di tag da associare a un'istanza ogni volta che aggiorni i tag in questo modo.
Per aggiornare i tag utilizzando una richiesta API diretta:
Determina l'impronta digitale più recente associata ai tag. L'impronta digitale viene utilizzata per evitare conflitti dovuti a richieste API simultanee. La procedura di aggiornamento dei tag di rete per un'istanza è simile all'aggiornamento dei metadati dell'istanza.
Esegui una richiestaGETall'istanza, ad esempio:GET https://compute./compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance
Cerca la proprietà
tags.fingerprintnella risposta:200 OK { ... "tags": { "items": [ "http-server", "db-client" ], "fingerprint": "MW8EqhxILtc=" }, ... }Puoi anche utilizzare un
gcloudcomando per ottenere l'fingerprint, come mostrato nell' esempio seguente:gcloud compute instances describe INSTANCE_NAME \ --zone ZONE \ --format="get(tags.fingerprint)"
Invia una richiesta
POSTal metodoinstance().setTags. Il corpo della richiesta deve contenere tutti i tag da associare all'istanza insieme al valorefingerprint.
Esempio di richiesta:POST https://compute./compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setTags { "items": [ "http-server", "db-client", "allow-internet-access" ], "fingerprint": "MW8EqhxILtc=" }Esempio di risposta:
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, ... }
Passaggi successivi
- Per saperne di più su come utilizzare le regole firewall, consulta Regole firewall VPC e Utilizza le regole firewall VPC.
- Per saperne di più su come utilizzare le route, consulta Route e Utilizza le route.