Netzwerktags konfigurieren

Netzwerktags sind Textattribute, die Sie VM-Instanzen in Compute Engine hinzufügen können. Damit sorgen Sie dafür, dass Firewallregeln und Routen auf bestimmte VM-Instanzen angewendet werden können.

Netzwerktags können Sie nur VM-Instanzen oder Instanzvorlagen hinzufügen. Sie können keine anderen Google Cloud-Ressourcen taggen. Netzwerktags können neuen Instanzen bei der Erstellung zugewiesen oder später nachträglich bearbeitet werden. Dazu müssen Sie die Instanz nicht anhalten.

Spezifikationen

Die Netzwerktags, die Sie einer Instanz zuweisen, gelten nur für das VPC-Netzwerk, in dem sich die primäre Netzwerkschnittstelle der Instanz befindet. Dies trifft auch auf das VPC-Netzwerk-Peering zu, weil Peer-Netzwerke voneinander unabhängig sind. Daher haben die Netzwerktags hier ebenfalls nur in dem Netzwerk eine Bedeutung, das die primäre Netzwerkschnittstelle der Instanz enthält.

Netzwerktags müssen mit einem Kleinbuchstaben beginnen und dürfen Kleinbuchstaben, Ziffern und Bindestriche enthalten. Am Ende des Tags muss ein Kleinbuchstabe oder eine Zahl stehen.

Berechtigungen

Die folgenden IAM-Rollen sind für die auf dieser Seite beschriebenen Aufgaben erforderlich. Weitere Informationen finden Sie unter Compute Engine-IAM-Rollen.

Aufgabe Erforderliche Rolle
Ein Netzwerktag beim Erstellen einer neuen Instanz zuweisen Projektinhaber oder -bearbeiter oder Instanzadministrator
Netzwerktags zu vorhandenen Instanzen hinzufügen oder daraus entfernen
Firewallregeln hinzufügen, entfernen oder bearbeiten Projektinhaber oder -bearbeiter oder Sicherheitsadministrator

Limits

Für Netzwerktags gelten die folgenden Beschränkungen:

Limit Wert Beschreibung
Maximale Anzahl von Tags pro VM 64 Alle Tags für eine VM müssen eindeutig sein. Sie können jeder VM bis zu 64 verschiedene Tags zuweisen.
Maximale Anzahl von Zeichen für jedes Tag 63
Zulässige Zeichen für Tags Kleinbuchstaben, Ziffern, Bindestriche Außerdem:
• Tags müssen mit einem Kleinbuchstaben beginnen.
• Am Ende des Tags muss ein Kleinbuchstabe oder eine Zahl stehen.

Firewallregeln und Routen

Mit Netzwerktags können Sie Firewallregeln und Routen auf eine bestimmte Instanz oder eine Gruppe von Instanzen anwenden:

  • Über Ziel- und Quelltags sorgen Sie dafür, dass eine Firewallregel auf bestimmte Instanzen anwendbar wird.

  • Über Tags werden Routen auf bestimmte Instanzen anwendbar.

Ziele für Firewallregeln

Jede Firewallregel in Google Cloud muss ein Ziel haben, das die Instanzen definiert, auf die sie angewendet wird. Das Standardziel sind alle Instanzen im Netzwerk, aber Sie können auch Instanzen mithilfe von Zieltags oder Zieldienstkonten als Ziele festlegen.

Das Zieltag definiert die Google Cloud-VMs, für die die Regel gilt. Die Regel wird auf die primäre interne IP-Adresse einer Instanz anwendbar, die ein passendes Netzwerktag hat.

Sowohl Firewallregeln für eingehenden als auch für ausgehenden Traffic haben Ziele:

  • Eingangsregeln gelten für in das VPC-Netzwerk eingehenden Traffic. Hierfür sind die Ziele Ziel-VMs in Google Cloud.

  • Ausgangsregeln gelten für aus dem VPC-Netzwerk ausgehenden Traffic. Die Ziele dafür sind Quell-VMs in Google Cloud.

Beispiel: Die Firewallregel für eingehenden Traffic lässt Traffic über den TCP-Port 80 von einer beliebigen Quelle aus zu. Die Regel hat das Zieltag http-server. Diese Regel gilt nur für Instanzen, die das Netzwerktag http-server haben, was bedeutet, dass eingehender Traffic über Port 80 zu diesen Instanzen zugelassen wird.

Quellfilter für Firewallregeln für eingehenden Traffic

Beim Erstellen von Firewallregeln für eingehenden Traffic müssen Sie eine Quelle angeben. Diese können Sie definieren, indem Sie interne oder externe IP-Adressbereiche verwenden oder indem Sie auf bestimmte Instanzen verweisen. Instanzen geben Sie über Quelltags oder Quelldienstkonten an.

Das Quelltag für eine Firewallregel für eingehenden Traffic definiert die Quelle des Traffics als primäre interne IP-Adresse einer beliebigen Instanz mit einem übereinstimmenden Netzwerktag.

Sie können IP-Bereiche und Quelltags oder IP-Bereiche und Quelldienstkonten miteinander kombinieren. Netzwerktags und Dienstkonten können jedoch nicht in derselben Regel verwendet werden. Weitere Informationen zu Quelltags und -dienstkonten finden Sie unter Nach Dienstkonto oder Netzwerktag filtern.

Hinweise

Wenn Sie eine Firewallregel für eingehenden Traffic mit Quelltags verwenden, kann es zu einer Übertragungsverzögerung kommen. Diese Verzögerung dauert in der Regel nur wenige Sekunden, kann jedoch in seltenen Fällen auch einige Minuten betragen. Nach den folgenden Änderungen kann es einige Zeit dauern, bis die Firewallregel für eingehenden Traffic auf eine verknüpfte Instanz angewendet oder von ihr entfernt wird:

  • Eine Instanz mit einem Tag starten oder stoppen, das mit dem Quell-Tag einer Regel verknüpft ist
  • Eine Instanz mit einem Tag starten, das mit dem Zieltag einer Regel verknüpft ist
  • Tags zu einer Instanz hinzufügen oder entfernen, wenn die Tags in den Quell- oder Zielfeldern einer Regel verwendet werden
  • Quell- oder Zieltags zu einer Regel hinzufügen oder entfernen

Diese Übertragungsverzögerung betrifft nur Regeln für eingehenden Traffic, die Quelltags verwenden. Alle anderen Firewallregeln für eine Instanz werden sofort wirksam. So weist beispielsweise eine Regel für eingehenden Traffic, die einen Quell-IP-Adressbereich und Zieltags verwendet, keine Übertragungsverzögerung auf.

Interaktion mit Routen

Wenn Sie eine Route erstellen, können Sie Tags festlegen, damit diese nur für Traffic gilt, der von der primären internen IP-Adresse von Instanzen mit übereinstimmenden Netzwerktags gesendet wird.

Tags hinzufügen und entfernen

Tags hinzufügen

Console

  1. Gehen Sie zur Seite der VM-Instanzen.
    Zur Seite "VM-Instanzen"
  2. Wählen Sie eine Instanz aus.
  3. Klicken Sie auf der Seite VM-Instanzdetails auf Bearbeiten.
  4. Geben Sie im Abschnitt Netzwerktags eines oder mehrere Tags an, die durch Kommas getrennt sind.
  5. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den folgenden Befehl gcloud, um einer Instanz neue Tags zuzuweisen. Ersetzen Sie dabei [INSTANCE-NAME] durch den Namen der Instanz, [ZONE] durch seine Zone und [TAGS] durch eine durch Kommas getrennte Liste von Strings:

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

Weitere Informationen finden Sie in der gcloudDokumentation.

Tags entfernen

Console

  1. Gehen Sie zur Seite der VM-Instanzen.
    Zur Seite "VM-Instanzen"
  2. Wählen Sie eine Instanz aus.
  3. Klicken Sie auf der Seite VM-Instanzdetails auf Bearbeiten.
  4. Entfernen Sie die gewünschten Tags im Abschnitt Netzwerktags. Klicken Sie dazu auf "Entfernen" (X).
  5. Klicken Sie auf Speichern.

gcloud

Verwenden Sie zum Entfernen von Tags aus einer Instanz den folgenden Befehl gcloud. Ersetzen Sie [INSTANCE-NAME] durch den Namen der Instanz, [ZONE] durch seine Zone und [TAGS] durch eine durch Kommas getrennte Liste der zu entfernenden Tags:

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

Weitere Informationen finden Sie in der gcloudDokumentation.

Direkte API-Anfragen

Sie können die einer Instanz zugeordneten Netzwerk-Tags durch eine direkte API-Anfrage festlegen. Anders als mit der Cloud Console oder mit Befehlen von gcloud werden vorhandene Tags beim Aktualisieren mit direkten API-Anfragen nicht beibehalten. Daher müssen Sie den vollständigen Satz von Tags angeben, die einer Instanz zugeordnet werden sollen, wenn Sie Tags auf diese Weise aktualisieren.

So aktualisieren Sie Tags über eine direkte API-Anfrage:

  1. Ermitteln Sie den neuesten mit den Tags verknüpften Fingerabdruck. Der Fingerabdruck dient dazu, Kollisionen aufgrund gleichzeitiger API-Anfragen zu verhindern. Das Aktualisieren von Netzwerktags für eine Instanz ähnelt dem Aktualisieren von Instanzmetadaten.

    Führen Sie eine GET-Anfrage an die Instanz aus. Beispiel:

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

    Identifizieren Sie in der Antwort das Attribut tags.fingerprint:

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

    Sie können auch den Befehl gcloud verwenden, um fingerprint zu erhalten. Dies wird im folgenden Beispiel gezeigt:

        gcloud compute instances describe [INSTANCE-NAME] \
           --zone [ZONE] \
           --format="get(tags.fingerprint)"
  2. Stellen Sie eine POST-Anfrage an die Methode instance().setTags. Der Anfragetext muss alle Tags, die mit der Instanz verknüpft sein sollten, sowie den fingerprint-Wert enthalten.

    Beispielanfrage:

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

    Beispielantwort:

        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,
        ...
        }
        

Weitere Informationen