Aggiunta di tag di rete

Un tag è semplicemente una stringa di caratteri aggiunta a un campo tags in una risorsa come come istanze di macchine virtuali (VM) di Compute Engine oppure modelli di istanze. Un tag non è un separato non puoi crearla separatamente. Tutte le risorse con quella stringa vengono avere questo tag. I tag consentono di creare firewall e route applicabili di istanze VM specifiche.

Puoi assegnare tag di rete alle nuove VM al momento della creazione oppure modificare il set di tag assegnati in qualsiasi momento successivo. Puoi modificare i tag di rete senza interrompere una VM.

Specifiche

I tag di rete assegnati a un'istanza si applicano a tutte le istanze interfacce di rete. Un tag di rete si applica solo al VPC direttamente collegate alla rete dell'istanza. interfacce. Questo vale anche per il peering di rete VPC, perché le reti in peering rimangono reti distinte. Pertanto, i tag di rete vengono significativa solo nella rete verso cui viene visualizzata l'interfaccia di rete dell'istanza in allegato.

I tag di rete devono iniziare con una lettera minuscola e possono contenere lettere minuscole lettere, numeri e trattini. I tag devono terminare con una lettera minuscola o un numero.

Autorizzazioni

I seguenti ruoli IAM sono obbligatori per le attività descritte in questa pagina. Per Per maggiori dettagli, consulta Ruoli IAM di Compute Engine.

Attività Ruolo richiesto
Assegna un tag di rete a una nuova istanza quando viene creata Progetto proprietario o editor oppure Amministratore istanza
Aggiungi o rimuovi i tag di rete per le istanze esistenti
Aggiungi, rimuovi o modifica le regole firewall Progetto proprietario o editor oppure Amministratore sicurezza

Limiti

Ai tag di rete si applicano i limiti seguenti:

Limite Valore Descrizione
Numero massimo di tag per VM 64 Tutti i tag per 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 con una lettera minuscola.

Regole e route firewall

I tag di rete consentono di applicare route e regole firewall a un'istanza specifica o un insieme di istanze:

  • Rendi una regola firewall applicabile a istanze specifiche utilizzando il e tag di origine.

  • Puoi rendere una route applicabile a istanze specifiche utilizzando un tag.

Target per le regole firewall

Ogni regola firewall in Google Cloud deve avere un target, che definisce le istanze da ai quali si applica. Il target predefinito è tutte le istanze nella rete, ma puoi specificare le istanze come destinazioni utilizzando i tag di destinazione o il servizio di destinazione .

Il tag target definisce le VM Google Cloud a cui si applica la regola. La regola viene applicata a una rete VPC specifica. Viene realizzato applicabile all'indirizzo IP interno principale associato alla rete a riga di comando di qualsiasi istanza collegata a quella rete VPC corrispondente al tag di rete.

Le regole firewall in entrata e 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 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 VM di origine in Google Cloud.

Considera una regola firewall in entrata che consenta il traffico sulla porta TCP 80 da qualsiasi sorgente. La regola ha un tag di destinazione pari a http-server. Questa regola si applica solo alle istanze che hanno il tag di rete http-server, il che significa il traffico in entrata sulla porta 80 sarebbe consentito verso queste istanze.

Filtri di origine per le regole firewall in entrata

Quando crei regole firewall in entrata, devi specificare un fonte. Puoi definiscilo utilizzando intervalli di indirizzi IP interni o esterni oppure che fanno riferimento a istanze specifiche. Puoi specificare le istanze utilizzando i tag di origine o account di servizio di origine.

Il tag di origine per una regola firewall in entrata applicata a un VPC rete definisce una sorgente di traffico come proveniente dall'IP interno principale associato all'interfaccia di rete ad essa collegata 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 e account di servizio di origine. Tu non possono utilizzare sia tag di rete sia account di servizio nella stessa regola. Per ulteriori informazioni informazioni sui tag di origine e sugli account di servizio, consulta le informazioni sul filtro per servizio tra account e tag di rete.

Considerazioni

Quando utilizzi una regola firewall in entrata con tag di origine, potresti osservare di propagazione del segnale. Questo ritardo è in genere di pochi secondi, ma può verificarsi, in rari casi, pochi minuti. Quando apporti le seguenti modifiche, il firewall in entrata L'applicazione o la rimozione di una regola associata a un'istanza associata potrebbe richiedere del tempo:

  • L'avvio o l'interruzione di un'istanza il cui tag è associato a un tag di origine della regola
  • Avvio di un'istanza con un tag associato alla destinazione di una regola il tag.
  • Aggiungere o rimuovere tag da un'istanza se i tag vengono utilizzati nell'origine o nella campi target 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 tag di origine. Tutti le altre regole firewall hanno effetto immediato su un'istanza. Ad esempio, un una regola in entrata che utilizza un intervallo di indirizzi IP di origine e i tag di destinazione non ha di propagazione del segnale.

Interazione con route statiche

Quando crei una route statica, devi specificare una rete VPC. Tu puoi specificare i tag in modo che il percorso si applichi solo al traffico inviato da VM con tag di rete corrispondenti nella rete VPC specificata.

Aggiungi, visualizza e rimuovi tag

Puoi specificare i tag di rete quando crei un'istanza VM. Puoi anche aggiungere tra i tag di una VM esistente e la rimuoverne.

Aggiungere tag durante la creazione di una VM

Console

  1. Vai alla pagina Istanze VM.
    Vai alla pagina Istanze VM
  2. Fai clic su Crea istanza.
  3. Fai clic su Gestione, sicurezza, dischi, networking, single-tenancy per aprire quella sezione.
  4. Fai clic sulla scheda Networking.
  5. Nel campo Tag di rete, specifica uno o più tag, separati da virgole.
  6. Compilare gli altri campi per la VM.
  7. 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'istanza.
  • ZONE: la zona dell'istanza.
  • TAGS: un elenco di tag delimitato da virgole.

Consulta la gcloud documentazione per saperne di più informazioni.

Terraform

Puoi utilizzare il comando Terraform risorsa per creare un'istanza VM con tag di rete.

resource "google_compute_instance" "default" {
  project      = var.project_id # Replace this with your project ID in quotes
  zone         = "southamerica-east1-b"
  name         = "backend-instance"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    network = "default"
  }
  tags = ["health-check", "ssh"]
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Aggiungi tag a una VM esistente

Console

  1. Vai alla pagina Istanze VM.
    Vai alla pagina Istanze VM
  2. Fai clic sul nome di un'istanza.
  3. Nella pagina Dettagli istanza VM, fai clic su Modifica.
  4. Nella sezione Tag di rete, specifica uno o più tag, separati da virgole.
  5. 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'istanza.
  • ZONE: la zona dell'istanza.
  • TAGS: un elenco di tag delimitato da virgole.

Consulta la gcloud documentazione per saperne di più informazioni.

Visualizza tag

Console

  1. Vai alla pagina Istanze VM.
    Vai alla pagina Istanze VM
  2. Visualizza i tag nella colonna Tag di rete.

    Se necessario, fai clic su Opzioni di visualizzazione delle colonne per aggiungere i tag di rete. colonna.

  3. Per visualizzare le istanze contrassegnate con un tag specifico, seleziona nel filtro la proprietà Tag di rete e inserisci i tag in base ai quali 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 contrassegnate con un tag specifico, esegui questo comando:

gcloud compute instances list --filter='tags:TAG_EXPRESSION'

Sostituisci quanto segue:

  • TAG_EXPRESSION: l'espressione da filtrare. Per ad esempio tag1, tag1 OR tag2, tag1 AND tag2. Consulta l'argomento gcloud filtri per ulteriori informazioni informazioni su come filtrare l'output.

Rimuovi i tag

Console

  1. Vai alla pagina Istanze VM.
    Vai alla pagina Istanze VM
  2. Fai clic sul nome di un'istanza.
  3. Nella pagina Dettagli istanza VM, fai clic su Modifica.
  4. Nella sezione Tag di rete, rimuovi i tag facendo clic su Rimuovi (X).
  5. 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'istanza.
  • ZONE: la zona dell'istanza.
  • TAGS: un elenco di tag delimitato da virgole.

Consulta la gcloud documentazione per saperne di più informazioni.

Richieste API dirette

Puoi impostare i tag di rete associati a un'istanza creando un'API diretta richiesta. A differenza dell'utilizzo della console Google Cloud o dei comandi gcloud, l'aggiornamento dei tag tramite una richiesta API diretta non conserva i tag esistenti. Assicurati di specificare l'insieme completo di tag da associare con un'istanza ogni volta che aggiorni i tag in questo modo.

Per aggiornare i tag utilizzando una richiesta API diretta:

  1. Determina l'ultima fingerprint associata ai tag. L'impronta è per evitare collisioni con richieste API simultanee. Il processo di l'aggiornamento dei tag di rete per un'istanza è simile all'aggiornamento dell'istanza metadati.

    esegui una richiesta GET all'istanza. Ad esempio:

    GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance
    

    Cerca la proprietà tags.fingerprint nella risposta:

    200 OK
    {
    ...
    "tags": {
     "items": [
     "http-server",
     "db-client"
     ],
     "fingerprint": "MW8EqhxILtc="
    },
    ...
    }
    

    Puoi anche utilizzare un comando gcloud per ottenere fingerprint, come mostrato in nell'esempio seguente:

    gcloud compute instances describe INSTANCE_NAME \
       --zone ZONE \
       --format="get(tags.fingerprint)"
  2. Effettua una richiesta POST al metodo instance().setTags. Corpo della richiesta deve contenere tutti i tag che devono essere associati all'istanza insieme al valore fingerprint.

    Esempio di richiesta:

    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="
    }
    

    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