Statische externe IP-Adresse reservieren


Sie können statische externe IP-Adressen für Ihre VM-Instanz reservieren. Sie können statische IP-Adressen für Ihre VM auch ändern, auflisten und freigeben.

Externe IP-Adressen können statisch oder sitzungsspezifisch sein. Wenn für eine VM eine feste externe IP-Adresse erforderlich ist, die sich nicht ändert, können Sie eine statische externe IP-Adresse abrufen. Sie können neue externe IP-Adressen reservieren oder vorhandene sitzungsspezifische externe IP-Adressen umwandeln.

Wenn Sie eine statische IP-Adresse für Ihr internes Compute Engine-Netzwerk benötigen, lesen Sie stattdessen den Artikel Statische interne IP-Adresse reservieren.

Hinweise

  • Weitere Informationen zu IP-Adressen
  • Informationen zu Kontingenten und Limits für statische externe IP-Adressen.
  • Informationen zu Preisen für externe IP-Adressen.
  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    Terraform

    Wenn Sie die Terraform-Beispiele auf dieser Seite aus einer lokalen Entwicklungsumgebung heraus verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

    1. Installieren Sie die Google Cloud CLI.
    2. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

      gcloud init
    3. Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:

      gcloud auth application-default login

    Weitere Informationen: Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Berechtigungen

Wenn Sie statische regionale, externe IPv6-Adressen über die Google Cloud Console reservieren möchten, müssen Sie ein Netzwerk und ein Subnetzwerk auswählen. Zum Aufrufen einer Liste der verfügbaren Netzwerke und Subnetzwerke benötigen Sie jedoch die folgenden IAM-Berechtigungen:

  • compute.networks.list
  • compute.subnetworks.list

Statische externe IP-Adressen

Eine statische externe IP-Adresse ist die IP-Adresse, die so lange für Ihre Ressource reserviert ist, bis Sie diese freigeben. Wenn Sie eine IP-Adresse haben, über die Ihre Kunden oder Nutzer regelmäßig auf Ihren Dienst zugreifen, können Sie diese reservieren, damit nur Ihre Ressource sie nutzen kann. Sie können auch eine sitzungsspezifische externe IP-Adresse in eine statische externe IP-Adresse umwandeln.

Weitere Informationen finden Sie unter IP-Adressen.

In der folgenden Tabelle sind die von Google Cloud unterstützten statischen externen IP-Adressen aufgeführt.

IP-Adresstyp Ressource IP-Bereich Quelle Verknüpft mit
Regionale externe IPv4-Adressen VMs und regionale Load Balancer /32 Der Pool externer IP-Adressen von Google Projekt
Regionale externe IPv6-Adressen VMs und unterstützte regionale Load Balancer /96 Externer IPv6-Adressbereich des Subnetzes Subnetz
Globale externe IPv4-Adressen Globale Load Balancer /32 Der Pool externer IP-Adressen von Google Projekt
Globale externe IPv6-Adressen Globale Load Balancer /64 Der Pool externer IP-Adressen von Google Projekt

Eine Liste der regionalen und globalen Load Balancer finden Sie unter Zusammenfassung der Load Balancer-Typen.

Spezifikationen für die Verwendung statischer externer IP-Adressen

  • Eine statische externe IP-Adresse kann immer nur von einer einzigen Ressource verwendet werden.

  • Ist eine IP-Adresse einmal einer Ressource zugewiesen, kann nicht überprüft werden, ob die IP-Adresse statisch oder sitzungsspezifisch ist. Sie können die IP-Adresse mit der Liste der für dieses Projekt reservierten statischen externen IP-Adressen vergleichen. Mit dem Unterbefehl compute addresses list können Sie eine Liste der für Ihr Projekt verfügbaren statischen externen IP-Adressen aufrufen.

  • Jede VM kann mehrere Netzwerkschnittstellen haben, aber jede Netzwerkschnittstelle kann nur eine einzige externe IP-Adresse haben, die entweder sitzungsspezifisch oder statisch ist.

  • Der Name einer statischen IP-Adresse kann nicht geändert werden.

  • Zugewiesene externe IP-Adressen befinden sich für alle Zwecke auf dem gleichen physischen Host wie die VM und in derselben Region wie die VM, einschließlich Routing, Latenz und Preise. Dies gilt unabhängig von den Lookup-Informationen für die Internet-Standortbestimmung.

Hinweis: Netzwerkschnittstellen können Traffic über mehrere Weiterleitungsregeln empfangen, die unter Umständen andere externe IP-Adressen bedienen. Beliebig viele externe IP-Adressen können eine Netzwerkschnittstelle über diese Weiterleitungsregeln referenzieren, allerdings kann jede Netzwerkschnittstelle nur eine externe IP-Adresse haben.

Weitere Informationen über Load-Balancing und Weiterleitungsregeln finden Sie in der Dokumentation zu Load-Balancing (nur auf Englisch verfügbar).

Neue statische externe IP-Adresse reservieren

Nachdem Sie die Adresse reserviert haben, weisen Sie sie einer neuen VM zu, wenn Sie sie erstellen, oder einer vorhandenen VM.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Statische Adresse reservieren auf.

    Zur Seite "Statische Adresse reservieren"

  2. Wählen Sie einen Namen für die neue Adresse.

  3. Geben Sie an, ob die Netzwerkdienststufe Premium oder Standard ist. Die statische IPv6-Adressreservierung wird nur in der Premium-Stufe unterstützt.

  4. Geben Sie an, ob es sich um eine IPv4- oder IPv6-Adresse handelt.

  5. Legen Sie fest, ob diese IP-Adresse regional oder global ist.

    • Wenn Sie eine statische IP-Adresse für einen globalen Load Balancer reservieren, wählen Sie Global aus und klicken Sie dann auf Reservieren.
    • Wenn Sie eine statische IP-Adresse für eine VM oder für einen regionalen Load Balancer reservieren, wählen Sie Regional und dann die Region aus, in der die Adresse erstellt werden soll.
  6. Wenn Sie eine regionale externe IPv6-Adresse reservieren, wählen Sie außerdem Folgendes aus:

    • Netzwerk: das VPC-Netzwerk
    • Subnetzwerk: das Subnetz, aus dem die statische regionale IPv6-Adresse zugewiesen wird
    • Endpunkttyp: Wählen Sie VM-Instanz oder Network Load Balancer aus.
  7. Optional: Wenn Sie die statische externe IP-Adresse für eine VM reservieren, wählen Sie in der Liste Zugeordnet zu eine VM aus, an die die IP-Adresse angehängt werden soll.

  8. Klicken Sie auf Reservieren, um die IP-Adresse zu reservieren.

gcloud

Verwenden Sie den Befehl gcloud compute addresses create, um eine statische externe IP-Adresse zu reservieren.

Folgen Sie der Anleitung unten, um eine statische externe IPv4- oder IPv6-Adresse zu reservieren:

  • Verwenden Sie zum Reservieren einer globalen IP-Adresse die Felder --global und --ip-version. Geben Sie für das Feld --ip-version entweder IPv4 oder IPv6 an. Globale IP-Adressen können nur mit globalen Load-Balancern verwendet werden.

    gcloud compute addresses create ADDRESS_NAME \
      --global \
      --ip-version [IPV4 | IPV6]
    

    Ersetzen Sie ADDRESS_NAME durch den Namen, den Sie mit dieser Adresse verknüpfen möchten.

  • Verwenden Sie das Feld --region, um eine regionale externe IPv4-Adresse zu reservieren.

    gcloud compute addresses create ADDRESS_NAME \
       --region=REGION
    

    Ersetzen Sie Folgendes:

    • ADDRESS_NAME ist der Name, den Sie mit dieser Adresse verknüpfen möchten.
    • REGION ist die Region, in der Sie diese Adresse reservieren möchten. Die Region muss sich in derselben Region befinden wie die Ressource, der Sie die IP-Adresse zuweisen möchten.
  • Verwenden Sie zum Reservieren einer regionalen externen IPv6-Adresse die Felder --region, --subnet, --ip-version und --endpoint-type. Ein IPv6-Bereich /96 wird aus dem angegebenen Subnetz zugewiesen.

    gcloud compute addresses create IPV6_ADDRESS_NAME \
       --region=REGION \
       --subnet=SUBNET_NAME \
       --ip-version=IPV6 \
       --endpoint-type=[VM | NETLB]
    

    Ersetzen Sie Folgendes:

    • IPV6_ADDRESS_NAME: ein Name für die Adresse.
    • REGION: die Region für die Adresse.
    • SUBNET_NAME: das Subnetz, aus dem die statische regionale IPv6-Adresse zugewiesen werden soll. Das Subnetz muss einen zugewiesenen externen IPv6-Adressbereich haben.
    • VM | NETLB: der Endpunkttyp; sei es eine VM oder ein Netzwerk-Load-Balancer.

Verwenden Sie den Befehl gcloud compute addresses describe, um das Ergebnis anzeigen zu lassen:

gcloud compute addresses describe ADDRESS_NAME

Terraform

Sie können mit der Ressource google_compute_address eine regionale externe IP-Adresse erstellen.

resource "google_compute_address" "default" {
  name   = "my-test-static-ip-address"
  region = "us-central1"
}

Das folgende Beispiel zeigt, wie Sie mit der Ressource google_compute_global_address eine globale externe IPv6-Adresse erstellen:

resource "google_compute_global_address" "default" {
  project      = var.project_id # Replace this with your service project ID in quotes
  name         = "ipv6-address"
  address_type = "EXTERNAL"
  ip_version   = "IPV6"
}

REST

  • Rufen Sie zum Erstellen einer regionalen IPv4-Adresse die regionale Methode addresses.insert auf:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    

    Ihre Anfrage sollte folgenden Text enthalten:

    {
      "name": "ADDRESS_NAME"
    }
    

    Dabei gilt:

    • PROJECT_ID ist die Projekt-ID für diese Anfrage.
    • REGION ist der Name der Region für diese Anfrage.
    • ADDRESS_NAME ist der Name, den Sie mit der Adresse verknüpfen möchten.
  • Rufen Sie für globale statische IPv4-Adressen die Methode globalAddresses.insert auf:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
    

    Ihre Anfrage sollte folgenden Text enthalten:

    {
      "name": "ADDRESS_NAME"
    }
    
  • Rufen Sie für globale statische IPv6-Adressen die Methode globalAddresses.insert auf:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
    

    Ihre Anfrage sollte folgenden Text enthalten:

    {
      "name": "ADDRESS_NAME",
      "ipVersion": "IPV6"
    }
    

    Verwenden Sie die Methode addresses.get, um das Ergebnis anzuzeigen.

  • Rufen Sie für globale statische IPv6-Adressen die Methode addresses.insert auf:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    

    Ihre Anfrage sollte folgenden Text enthalten:

    {
      "name": "ADDRESS_NAME",
      "ipVersion": "IPV6",
      "ipv6EndpointType": "VM|LB",
      "networkTier": "PREMIUM",
      "subnetwork": "SUBNET"
    }
    

    Ersetzen Sie SUBNET durch das Subnetz für dieses Projekt.

    Verwenden Sie die Methode addresses.get, um das Ergebnis anzuzeigen.

Statische externe IP-Adresse einer neuen VM zuweisen

Nachdem Sie eine statische externe IP-Adresse reserviert haben, können Sie sie einer VM zuweisen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Geben Sie die VM-Details an

  3. Maximieren Sie den Bereich Erweiterte Optionen.

  4. Maximieren Sie den Bereich Netzwerk.

  5. Maximieren Sie im Bereich Netzwerkschnittstellen eine Netzwerkschnittstelle, um sie zu bearbeiten.

  6. So weisen Sie eine IPv4-Adresse zu:

    1. Wählen Sie ein Netzwerk aus.
    2. Wählen Sie die IP-Adresse aus der Liste Externe IPv4-Adresse aus.
  7. So weisen Sie eine IPv6-Adresse zu:

    1. Wählen Sie ein Netzwerk aus, das ein IPv6-Subnetz enthält.
    2. Wählen Sie ein Dual-Stack-Subnetz aus der Liste Subnetzwerk aus.
    3. Wählen Sie für IP-Stack-Typ IPv4 und IPv6 (Dual-Stack) aus.
    4. Wählen Sie die neu reservierte externe IPv6-Adresse aus der Liste Externe IPv6-Adresse aus. Alternativ können Sie IP-ADRESSE ERSTELLEN auswählen und eine neue statische externe IPv6-Adresse reservieren.
    5. Wählen Sie für Netzwerkdienststufe die Option Premium aus.
  8. Klicken Sie auf Fertig, um die Änderung der Standard-Netzwerkschnittstelle abzuschließen.

  9. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Sie können eine VM erstellen und eine statische regionale, externe IP-Adresse zuweisen, die Sie bereits reserviert haben.

  • So weisen Sie eine statische externe IPv4-Adresse zu:

    gcloud compute instances create VM_NAME --address=IP_ADDRESS
    

    Dabei gilt:

    • VM_NAME: der Name der VM.
    • IP_ADDRESS: ist die IP-Adresse, die der VM zugewiesen werden soll. Verwenden Sie die reservierte statische externe IP-Adresse, nicht den Adressnamen.
  • So weisen Sie eine statische externe IPv6-Adresse zu:

    gcloud compute instances create VM_NAME \
        --subnet=SUBNET \
        --stack-type=IPV4_IPV6 \
        --external-ipv6-address=IPV6_ADDRESS \
        --external-ipv6-prefix-length=96 \
        --ipv6-network-tier=PREMIUM \
        --zone=ZONE
    

Terraform

Mit der Ressource google_compute_instance können Sie eine externe IP-Adresse zuweisen.

resource "google_compute_instance" "default" {
  name         = "dns-proxy-nfs"
  machine_type = "n1-standard-1"
  zone         = "us-central1-a"

  boot_disk {
    initialize_params {
      image = "ubuntu-1404-trusty-v20160627"
    }
  }

  network_interface {
    network = "default"
    access_config {
      nat_ip = google_compute_address.default.address
    }
  }
}

REST

So weisen Sie einer neuen VM eine statische externe IPv4-Adresse zu:

Geben Sie in der Anfrage zum Erstellen einer neuen VM explizit das Attribut networkInterfaces[].accessConfigs[].natIP und die externe IPv4-Adresse an, die Sie verwenden möchten. Beispiel:

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT",
      "natIP": "IPV4_ADDRESS"
     }],
    "network": "global/networks/default"
  }],
  "disks": [{
      "autoDelete": "true",
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
          "sourceImage": "SOURCE_IMAGE"
      }
}]
}

So weisen Sie einer neuen VM eine statische externe IPv6-Adresse zu:

Geben Sie in der Anfrage zum Erstellen einer neuen VM explizit das Attribut networkInterfaces[].ipv6AccessConfigs[].externalIpv6 und die externe IPv6-Adresse an, die Sie verwenden möchten. Beispiel:

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "networkInterfaces": [{
          "accessConfigs": [{
              "name": "external-nat",
              "type": "ONE_TO_ONE_NAT"
          }],
          "ipv6AccessConfigs": [{
        "externalIpv6": "IOV6_ADDRESS",
        "externalIpv6PrefixLength": 96,
        "name": "external-ipv6-access-config",
        "networkTier": "PREMIUM",
        "type": "DIRECT_IPV6"
          }],
      "stackType": "IPV4_IPV6",
      "subnetwork":"SUBNETWORK
  }],
  "disks": [{
    "autoDelete": "true",
    "boot": "true",
    "mode": "READ_WRITE",
    "type": "PERSISTENT",
    "initializeParams": {
        "sourceImage": "SOURCE_IMAGE"
    },
  }],
 }

Externe IP-Adresse ändern oder einer vorhandenen VM zuweisen

Sie können die sitzungsspezifische oder statische externe IP-Adresse für eine bestehende VM ändern oder zuweisen.

Eine VM kann mehrere Schnittstellen haben und jede Schnittstelle eine externe IP-Adresse. Wenn die VM bereits eine externe IP-Adresse hat, müssen Sie diese Adresse zuerst entfernen. Anschließend können Sie der vorhandenen VM eine neue externe IP-Adresse zuweisen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf den Namen der VM, der Sie eine externe IP-Adresse zuweisen möchten. Die Seite Instanzdetails wird angezeigt.
  3. Führen Sie auf der Seite Instanzdetails folgende Schritte aus:

    1. Klicken Sie auf Bearbeiten.
    2. Maximieren Sie Netzwerkschnittstellen.
    3. Wählen Sie die erforderliche externe IP-Adresse aus, die der VM zugewiesen werden soll:
      1. Wählen Sie für Externe IPv4-Adresse entweder Sitzungsspezifisch oder eine statische externe IPv4-Adresse aus.
      2. Wählen Sie für Externe IPv6-Adresse entweder Sitzungsspezifisch oder eine statische externe IPv6-Adresse aus.
    4. Klicken Sie auf Fertig.
  4. Klicken Sie auf Speichern.

gcloud

  1. Optional: Reservieren Sie eine statische externe IP-Adresse.

    Wenn Sie eine statische externe IP-Adresse zuweisen, müssen Sie diese zuerst reservieren und prüfen, ob die Adresse nicht von einer anderen Ressource verwendet wird. Folgen Sie gegebenenfalls der Anleitung unter Neue statische externe IP-Adresse reservieren oder Zuweisung einer statischen externen IP-Adresse aufheben.

    Wenn Sie eine sitzungsspezifische externe IP-Adresse verwenden möchten, können Sie diesen Schritt überspringen. Compute Engine weist dann eine sitzungsspezifische externe IP-Adresse nach dem Zufallsprinzip zu.

  2. Entfernen Sie die vorhandene IP-Adresszuweisung.

    • Löschen Sie die vorhandenen Zugriffskonfigurationen, um eine IPv4-Adresse von einer VM zu entfernen.

      Sie können für jede VM eine Zugriffskonfiguration festlegen. Bevor Sie versuchen, einer VM eine neue Zugriffskonfiguration zuzuweisen, prüfen Sie mit dem Befehl gcloud compute instances describe, ob Ihre VM eine Zugriffskonfiguration hat:

      gcloud compute instances describe VM_NAME
      

      Wenn bereits eine Zugriffskonfiguration vorhanden ist, wird sie im folgenden Format ausgegeben:

      networkInterfaces:
      - accessConfigs:
        - kind: compute#accessConfig
          name: external-nat
          natIP: 203.0.113.1
          type: ONE_TO_ONE_NAT
      

      Bevor Sie eine neue Zugriffskonfiguration hinzufügen, löschen Sie die bestehende Zugriffskonfiguration mit dem Unterbefehl instances delete-access-config:

      gcloud compute instances delete-access-config VM_NAME \
          --access-config-name="ACCESS_CONFIG_NAME"
      

      Ersetzen Sie Folgendes:

      • VM_NAME ist der Name der VM.
      • ACCESS_CONFIG_NAME ist die Zugriffskonfiguration, die gelöscht werden soll. Achten Sie darauf, dass Sie vollständigen Namen in Anführungszeichen angeben.
    • Ändern Sie den Stack-Typ, um eine IPv6-Adresse von einer VM zu entfernen.

      Prüfen Sie mit dem Befehl gcloud compute instances describe, ob Ihre VM eine IPv6-Konfiguration hat:

      gcloud compute instances describe VM_NAME \
          --zone=ZONE
      

      Ersetzen Sie Folgendes:

      • VM_NAME ist der Name der VM.
      • ZONE ist die Zone der VM.

      Wenn nic0 bereits eine externe IPv6-Adresse zugewiesen wurde, wird die Konfiguration im folgenden Format angezeigt:

      networkInterfaces:
        ...
        ipv6AccessConfigs:
        - externalIpv6: 2001:db8:4000:15:0:0:0:0
          externalIpv6PrefixLength: 96
          kind: compute#accessConfig
          name: external-ipv6
          networkTier: PREMIUM
          type: DIRECT_IPV6
        ipv6AccessType: EXTERNAL
        kind: compute#networkInterface
        name: nic0
      

      Entfernen Sie die vorhandene Konfiguration der IPv6-Adresse mit dem Unterbefehl instance network-interfaces update:

      gcloud compute instances network-interfaces update VM_NAME \
        --network-interface=NIC \
        --stack-type=IPV4_ONLY \
        --zone=ZONE
      

      Dabei gilt:

      • NIC: der Name der Netzwerkschnittstelle.
      • VM_NAME: der Name der VM.
      • ZONE ist die Zone der VM.
  3. Weisen Sie die neue externe IP-Adresse zu.

    • Verwenden Sie zum Zuweisen einer IPv4-Adresse den Unterbefehl instances add-access-config:

      Hinweis: Ersetzen Sie IP_ADDRESS nicht durch den Namen der statischen IP-Adresse, sondern geben Sie die tatsächliche IP-Adresse an.
      gcloud compute instances add-access-config VM_NAME \
      --access-config-name="ACCESS_CONFIG_NAME" --address=IP_ADDRESS
      

      Dabei gilt:

      • VM_NAME ist der Name der VM.
      • ACCESS_CONFIG_NAME ist der Name dieser Zugriffskonfiguration. Achten Sie darauf, dass Sie vollständigen Namen in Anführungszeichen angeben.
      • IP_ADDRESS ist die IP-Adresse, die hinzugefügt werden soll.

      Wenn Sie möchten, dass Compute Engine eine sitzungsspezifische externe IP-Adresse statt einer statischen externen IP-Adresse zuweist, lassen Sie das Attribut --address IP_ADDRESS weg:

      gcloud compute instances add-access-config VM_NAME \
        --access-config-name="ACCESS_CONFIG_NAME"
      
    • Verwenden Sie zum Zuweisen eines IPv6-Adressbereichs den Unterbefehl instance network-interfaces update:

      gcloud compute instances network-interfaces update VM_NAME \
        --network-interface==NIC \
        --ipv6-network-tier=PREMIUM \
        --stack-type=IPV4_IPV6 \
        --external-ipv6-address=IPV6_ADDRESS \
        --external-ipv6-prefix-length=96 \
        --zone=ZONE
      

      Ersetzen Sie Folgendes:

      • VM_NAME: der Name der VM.
      • NIC: der Name der Netzwerkschnittstelle.
      • IPV6_ADDRESS: ist die IPv6-Adresse, die der VM zugewiesen werden soll. Geben Sie die erste IPv6-Adresse im Bereich /96 an.
      • ZONE ist die Zone der VM.

REST

Sie können die externe IPv4- oder IPv6-Adresse einer VM ändern. Fügen Sie dazu eine neue Zugriffskonfiguration für diese VM hinzu.

  1. Prüfen Sie, ob Ihre VM bereits eine Zugriffskonfiguration hat. Stellen Sie zum Prüfen der VM-Details eine GET-Anfrage an die Methode instances.get.

     GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
     

    Dabei gilt:

    • PROJECT_ID ist die Projekt-ID für diese Anfrage.
    • ZONE: die Zone, in der sich die VM befindet
    • VM_NAME: der Name der VM

    Wenn bereits eine IPv4-Zugriffskonfiguration vorhanden ist, sieht die Antwort in etwa so aus:

    "networkInterfaces": [
      {
        "network":
        ...
        "name": "nic0",
        "accessConfigs": [
          {
            "type": "ONE_TO_ONE_NAT",
            "name": "External NAT",
            "natIP": "IPV4_ADDRESS",
            "networkTier": "PREMIUM",
            "kind": "compute#accessConfig"
          }
        ],
        ...
      }
    ]
    

    Das Feld networkInterfaces[].accessConfigs[].natIP gibt die statische externe IPv4-Adresse der VM zurück.

    Wenn bereits eine IPv6-Zugriffskonfiguration vorhanden ist, sieht die Antwort in etwa so aus:

    "networkInterfaces": [
      {
        "network":
        ...
        "name": "nic0",
        "ipv6AccessConfigs": [
          {
            type: "DIRECT_IPV6",
            "name": "external-ipv6",
            "externalIpv6": "IPV6_ADDRESS",
            "externalIpv6PrefixLength": 96,
            "networkTier": "PREMIUM",
            "kind": "compute#accessConfig"
          }
        ],
        ...
      }
    ]
    

    Das Feld networkInterfaces[].ipv6AccessConfigs[].externalIpv6 gibt die statische externe IPv6-Adresse der VM zurück.

  2. Löschen Sie die vorhandene Zugriffskonfiguration. Senden Sie dazu eine POST-Anfrage an die Methode instances.deleteAccessConfig.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/deleteAccessConfig
    
  3. Fügen Sie der Netzwerkschnittstelle der VM-Instanz eine neue Zugriffskonfiguration hinzu. Stellen Sie dazu eine POST-Anfrage an die Methode instances.addAccessConfig.

IP-Adresse einer Weiterleitungsregel ändern

Wenn Sie die IP-Adresse in einer Weiterleitungsregel aktualisieren müssen, gehen Sie so vor:

  1. Zuweisung der IP-Adresse aufheben

  2. Löschen Sie die Weiterleitungsregel mit dem Befehl gcloud compute forwarding-rules delete oder der Methode forwardingRules.delete.

  3. Erstellen Sie die Weiterleitungsregel mit dem Befehl gcloud compute forwarding-rules create oder der Methode forwardingRules.insert neu.

Sitzungsspezifische externe IP-Adresse umwandeln

Wenn Ihre VM eine sitzungsspezifische externe IP-Adresse hat und Sie diese dauerhaft Ihrem Projekt zuweisen möchten, wandeln Sie die sitzungsspezifische externe IP-Adresse in eine statische externe IP-Adresse um. Das Umwandeln einer sitzungsspezifischen externen IP-Adresse in eine reservierte führt nicht dazu, dass Google Cloud an die VM gesendete Pakete verwirft. Dies gilt auch für Pakete, die direkt oder über einen Load-Balancer an die VM gesendet werden.

Console

  1. Wechseln Sie zur Seite IP-Adressen.

    "IP-Adressen" aufrufen

  2. Klicken Sie auf Externe IP-Adressen.
  3. Optional: Suchen Sie im Feld Filter nach der sitzungsspezifischen IP-Adresse, die Sie hochstufen möchten.
  4. Wählen Sie im Menü Weitere Aktionen () der IP-Adresse, die Sie hochstufen möchten, die Option In statische IP-Adresse umwandeln.
  5. Geben Sie einen Namen für die neue statische IP-Adresse ein und klicken Sie auf Reservieren.

gcloud

Verwenden Sie die folgende Anleitung, um eine statische externe IPv4- oder IPv6-Adresse umzuwandeln:

  • Wenn Sie eine sitzungsspezifische externe IPv4-Adresse in eine statische externe IPv4-Adresse umwandeln möchten, geben Sie die sitzungsspezifische externe IP-Adresse mit dem Flag --addresses mit dem Befehl compute addresses create an. Mit dem Flag region können Sie eine sitzungsspezifische regionale IP-Adresse umwandeln und mit dem Flag global können Sie dies für eine sitzungsspezifische globale IP-Adresse tun.

    gcloud compute addresses create ADDRESS_NAME --addresses=IP_ADDRESS \
        [--region=REGION | --global]
    

    Ersetzen Sie Folgendes:

    • ADDRESS_NAME ist der Name, den Sie mit dieser Adresse verknüpfen möchten.
    • IP_ADDRESS: die IP-Adresse, die Sie umwandeln möchten.
    • REGION: die Region, zu der die regionale IP-Adresse gehört.

    • Wenn Sie eine sitzungsspezifische regionale externe IPv6-Adresse in eine statische regionale externe IPv6-Adresse umwandeln möchten, geben Sie die sitzungsspezifische externe IP-Adresse mit dem Flag --addresses mit dem Befehl compute addresses create an.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --addresses=IPV6_ADDRESS \
        --prefix-length=96
    

    Ersetzen Sie Folgendes:

    • ADDRESS_NAME ist der Name der IP-Adressressource.
    • REGION ist die Region für die IPv6-Adressressource.
    • IPV6_ADDRESS ist die IPv6-Adresse, die Sie umwandeln.

REST

Rufen Sie zum Umwandeln einer sitzungsspezifischen regionalen IP-Adresse die Methode addresses.insert auf:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses

Zum Umwandeln einer sitzungsspezifischen globalen IP-Adresse stellen Sie eine POST-Anfrage an den folgenden URI:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses

Geben Sie die Werte für die Pflichtfelder des Anfragetexts an:

  • Bei IPv4-Adressen sollte der Anfragetext die folgenden Felder enthalten:

    {
      "name": "ADDRESS_NAME",
      "address": "IPV4_ADDRESS"
      "addressType": "EXTERNAL"
    }
    
  • Bei IPv6-Adressen sollte der Anfragetext die folgenden Felder enthalten:

    {
      "name": "ADDRESS_NAME",
      "address": "IPV6_ADDRESS"
      "prefixLength": 96
      "addressType": "EXTERNAL"
    }
    

    Ersetzen Sie Folgendes:

    • ADDRESS_NAME ist der Name, den Sie mit dieser Adresse verknüpfen möchten.
    • IPV4_ADDRESS|IPV6_ADDRESS: die IPv4- oder IPv6-Adresse, die Sie umwandeln möchten.
    • REGION: die Region, zu der die IPv4- oder IPv6-Adresse gehört.
    • PROJECT_ID ist die Projekt-ID für diese Anfrage.

Die externe IP-Adresse bleibt an die VM gebunden, auch wenn sie in eine statische externe IP-Adresse umgewandelt wurde. Wenn die kürzlich umgewandelte statische externe IP-Adresse einer anderen IP-Adresse zugewiesen werden soll, müssen Sie die Zuweisung der statischen IP-Adresse an eine bestehende VM aufheben.

Statische externe IP-Adressen auflisten

So listen Sie statische externe IP-Adressen auf, die Sie für Ihr Projekt reserviert haben.

Console

Eine Liste der IP-Adressen für Ihr Projekt finden Sie in der Google Cloud Console auf der Seite Externe IP-Adressen.

Zu externen IP-Adressen

gcloud

Führen Sie folgenden gcloud compute addresses list-Befehl aus:

  • Verwenden Sie den folgenden Befehl, um alle IP-Adressen aufzulisten:

    gcloud compute addresses list
  • Verwenden Sie den folgenden Befehl, um alle globalen IP-Adressen aufzulisten:

    gcloud compute addresses list --global
  • Verwenden Sie den folgenden Befehl, um alle regionalen IP-Adressen in einer bestimmten Region aufzulisten:

    gcloud compute addresses list \
      --regions=REGION
    

    Ersetzen Sie REGION durch die Region, für die Sie Adressen auflisten möchten. Sie können Adressen mehrerer Regionen auflisten, indem Sie durch Kommas getrennte Regionsnamen angeben:

    gcloud compute addresses list \
      --regions=REGION1,REGION2,..REGION_n_
    

REST

  • Rufen Sie die Methode addresses.list auf, um regionale IPv4- oder IPv6-Adressen aufzulisten:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    

    Ersetzen Sie Folgendes:

    • REGION ist der Name der Region für diese Anfrage.
    • PROJECT_ID ist die Projekt-ID für diese Anfrage.
  • Rufen Sie die Methode aggregatedList auf, um eine Liste aller Adressen in allen Regionen zu erhalten.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses
    
  • Rufen Sie die Methode globalAddresses.list auf, um globale IPv4- oder IPv6-Adressen aufzulisten:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
    

    Dabei gilt:

    PROJECT_ID ist die Projekt-ID für diese Anfrage.

Statische externe IP-Adresse beschreiben

So erhalten Sie Informationen zu einer statischen externen IP-Adresse:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.

    Zu externen IP-Adressen

  2. Klicken Sie auf die IP-Adresse, zu der Sie weitere Informationen erhalten möchten.

gcloud

Verwenden Sie den Befehl addresses describe und ersetzen Sie ADDRESS_NAME durch den Namen der externen IP-Adresse, die Sie beschreiben möchten.

  • Verwenden Sie für eine globale IPv4- oder IPv6-Adresse den folgenden Befehl:

    gcloud compute addresses describe ADDRESS_NAME --global
  • Verwenden Sie für eine regionale IPv4- oder IPv6-Adresse den folgenden Befehl:

    gcloud compute addresses describe ADDRESS_NAME --region=REGION

REST

  • Rufen Sie zum Beschreiben einer regionalen IPv4- oder IPv6-Adresse die Methode addresses.get auf:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
    

    Dabei gilt:

    • ADDRESS_NAME ist der Name der IP-Adresse.
    • REGION ist der Name der Region für diese Anfrage.
    • PROJECT_ID: die Projekt-ID für die Anfrage.
  • Rufen Sie zum Beschreiben einer globalen IPv4- oder IPv6-Adresse die Methode globalAddresses.get auf:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/ADDRESS_NAME
    

    Dabei gilt:

    • ADDRESS_NAME ist der Name der IP-Adresse.
    • PROJECT_ID: die Projekt-ID für die Anfrage.

Zuweisung einer statischen externen IP-Adresse aufheben

Durch das Aufheben der Zuweisung wird die IP-Adresse aus der Ressource entfernt, bleibt aber reserviert. Nachdem die Zuweisung der IP-Adresse aufgehoben wurde, können Sie sie einer anderen Ressource zuweisen.

Sie können die Zuweisung der IPv4- oder IPv6-Adresse auch aufheben, indem Sie die VM löschen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.

    Zu externen IP-Adressen

  2. Wählen Sie die statische IP-Adresse aus, deren Zuweisung Sie aufheben möchten.
  3. Klicken Sie auf Ändern, um das Dialogfeld IP-Adresse anhängen zu öffnen.
  4. Wählen Sie aus der Drop-down-Liste Anhängen an die Option Keine aus.
  5. Klicken Sie auf OK.

gcloud

  1. Prüfen Sie mit dem Befehl gcloud compute addresses list, ob eine statische IP-Adresse verwendet wird:

    gcloud compute addresses list
    

    Die Ausgabe sieht in etwa so aus:

    NAME                      REGION    ADDRESS                  STATUS
    example-address-ipv4      REGION    198.51.100.1             RESERVED
    example-address-new-ipv4  REGION    203.0.113.1              IN_USE
    example-address-ipv6      REGION    2001:db8:1:1:1:1:1:1     RESERVED
    example-address-new-ipv6  REGION    2001:db8:4:4:4:4:4:4     IN_USE
    
    • Wenn die IP-Adresse nicht verwendet wird, ist der Status RESERVED.
    • Wenn die IP-Adresse bereits verwendet wird, lautet der Status IN_USE.
  2. Rufen Sie den Namen der VM ab, die die IP-Adresse verwendet:

    gcloud compute addresses describe ADDRESS_NAME \
      --region=REGION
    

    Ersetzen Sie Folgendes:

    • ADDRESS_NAME ist der Name der IPv6-Adressressource.
    • REGION ist die Region der IPv6-Adressressource.

    Die Ausgabe sieht in etwa so aus:

    address: IP_ADDRESS
    addressType: EXTERNAL
    ...
    region: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/addresses/ADDRESS_NAME
    status: IN_USE
    subnetwork: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET
    users:
    - https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME
    

    Das Feld users zeigt den Namen der VM an, die die IP-Adresse verwendet.

  3. Heben Sie die Zuweisung der IP-Adresse zur VM auf.

    • Löschen Sie die Zugriffskonfigurationsdatei der VM, um die Zuweisung einer IPv4-Adresse aufzuheben:

      1. Rufen Sie den Namen der Zugriffskonfiguration ab, die Sie löschen möchten. Verwenden Sie den Befehl gcloud compute instances describe, um den Namen abzurufen. Ersetzen Sie VM_NAME durch den Namen der VM.

        gcloud compute instances describe VM_NAME
        

        Die Zugriffskonfiguration wird im folgenden Format ausgegeben:

        networkInterfaces:
          - accessConfigs:
            - kind: compute#accessConfig
              name: external-nat
              natIP: 203.0.113.1
              type: ONE_TO_ONE_NAT
        
      2. Löschen Sie die Zugriffskonfiguration mit dem Befehl gcloud compute instances delete-access-config:

        gcloud compute instances delete-access-config VM_NAME \
          --access-config-name="ACCESS_CONFIG_NAME"
        

        Ersetzen Sie Folgendes:

        • VM_NAME: der Name der VM.
        • ACCESS_CONFIG_NAME ist der Name der Zugriffskonfiguration, die Sie löschen möchten. Der vollständige Name muss in Anführungszeichen angegeben werden.
    • Verwenden Sie den Befehl instance network-interfaces update, um die Zuweisung eines IPv6-Adressbereichs aufzuheben:

      gcloud compute instances network-interfaces update VM_NAME \
        --network-interface=nic0 \
        --stack-type=IPV4_ONLY \
        --zone=ZONE
      

      Ersetzen Sie Folgendes:

      • VM_NAME ist der Name der VM, die die IP-Adresse verwendet.
      • ZONE ist die Zone der VM.
  4. Überprüfen Sie, ob Ihre statische externe IP-Adresse nun verfügbar und anstelle von IN_USE als RESERVED gekennzeichnet ist.

    gcloud compute addresses list \
      --filter="ADDRESS_NAME AND region=REGION"
    

    Ersetzen Sie Folgendes:

    • ADDRESS_NAME: der Name der IP-Adressressource.
    • REGION: die Region der IP-Adressressource.

Nachdem Ihre statische externe IP-Adresse jetzt verfügbar ist, können Sie diese einer anderen VM zuweisen.

REST

Führen Sie die folgenden Schritte aus, um die Zuweisung einer statischen externen IPv4- oder IPv6-Adresse aufzuheben:

  • Löschen Sie bei IPv4-Adressen die Zugriffskonfiguration, die der VM zugeordnet ist, die die Adresse verwendet.

    1. Senden Sie eine GET-Anfrage an die Methode instances.get, um die Details der Zugriffskonfiguration einer VM zu prüfen.

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
      
    2. Löschen Sie die vorhandene Zugriffskonfiguration. Senden Sie dazu eine POST-Anfrage an die Methode instances.deleteAccessConfig.

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/deleteAccessConfig
      

      Ersetzen Sie Folgendes:

      • PROJECT_ID ist die Projekt-ID für diese Anfrage.
      • ZONE: die Zone, in der sich die VM befindet
      • VM_NAME: der Name der VM
  • Aktualisieren Sie bei IPv6-Adressen den Stacktyp der Netzwerkschnittstelle für die VM, an die die IPv6-Adresse angehängt ist.

    1. Stellen Sie eine PATCH-Anfrage an die Methode instances.updateNetworkInterface.

    2. Aktualisieren Sie im Anfragetext den Wert des Felds stackType in IPV4_ONLY.

      Beispiel:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateNetworkInterface
      
      {
        "networkInterfaces": [{
          ...
          "stackType" : "IPV4_ONLY"
          ...
          }]
      }
      

Statische externe IP-Adresse freigeben

Wenn Sie eine statische externe IPv4- oder IPv6-Adresse nicht mehr benötigen, können Sie die IP-Adresse freigeben. Löschen Sie dazu die IP-Adressressource.

Wenn Sie die Google Cloud Console verwenden, können Sie statische IP-Adressen nur freigeben, wenn sie nicht von anderen Ressourcen verwendet werden.

Wenn Sie die gcloud CLI oder REST verwenden, können Sie eine IP-Adresse freigeben, unabhängig davon, ob sie von einer anderen Ressource verwendet wird oder nicht.

  • Wenn die IP-Adresse nicht von einer Ressource verwendet wird, wird sie an den Pool der verfügbaren externen IP-Adressen zurückgegeben.

  • Wenn die IP-Adresse von einer Ressource verwendet wird, bleibt sie an die Ressource gebunden, bis die Ressource gelöscht wird.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.

    Zu externen IP-Adressen

  2. Wählen Sie die IP-Adresse aus, die Sie freigeben möchten.
  3. Klicken Sie auf IP-Adresse freigeben.

gcloud

Führen Sie den Befehl compute addresses delete aus:

gcloud compute addresses delete ADDRESS_NAME

Ersetzen Sie ADDRESS_NAME durch den Namen der freizugebenden IPv4- oder IPv6-Adresse.

REST

  • Rufen Sie die Methode addresses.delete auf, um eine regionale IPv4- oder IPv6-Adresse freizugeben:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
    

    Dabei gilt:

    • ADDRESS_NAME ist der Name der IP-Adresse.
    • REGION ist der Name der Region für diese Anfrage.
    • PROJECT_ID ist die Projekt-ID für diese Anfrage.
  • Rufen Sie die Methode globalAddresses.delete auf, um eine globale IPv4- oder IPv6-Adresse freizugeben:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/ADDRESS_NAME
    

    Dabei gilt:

    • ADDRESS_NAME ist der Name der IP-Adresse.
    • PROJECT_ID ist die Projekt-ID für diese Anfrage.

Externe IP-Adressen auf bestimmte VMs beschränken

Für bestimmte Arbeitslasten können grundlegende Anforderungen bestehen, zu denen Sicherheits- und Netzwerkeinschränkungen gehören. Sie haben beispielsweise die Möglichkeit, die externen IP-Adressen so zu beschränken, dass sie nur von bestimmten VMs verwendet werden können. Mit dieser Option können Sie die Daten-Exfiltration verhindern oder die Netzwerkisolation aufrechterhalten. Mithilfe einer Organisationsrichtlinie können Sie externe IP-Adressen auf bestimmte VMs beschränken, um die Verwendung externer IP-Adressen für Ihre VMs innerhalb einer Organisation oder eines Projekts zu steuern.

Die Einschränkung zur Steuerung externer IP-Adressen auf VMs lautet:

constraints/compute.vmExternalIpAccess

Wenn Sie sie verwenden möchten, geben Sie eine Richtlinie mit einer allowedList-Aufstellung der VMs an, die externe IP-Adressen haben dürfen. Wenn Sie keine Richtlinie angeben, sind alle externen IP-Adressen für alle VMs zulässig. Ist dagegen eine Richtlinie vorhanden, kann nur den VMs, die in der allowedValues-Liste enthalten sind, eine sitzungsspezifische oder statische externe IP-Adresse zugewiesen werden. Andere Compute Engine-VMs in der Organisation oder dem Projekt, die nicht explizit in der Richtlinie definiert sind, dürfen keine externen IP-Adressen verwenden.

VMs werden in den Listen mit zugelassenen oder verbotenen Instanzen anhand des URI der VM identifiziert:

projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

Spezifikationen zum Beschränken externer IP-Adressen

  • Sie können die Listenbeschränkung nur auf VMs anwenden.
  • Die Einschränkung lässt sich nicht rückwirkend anwenden. Alle VMs, die externe IP-Adressen haben, bevor Sie die Richtlinie aktivieren, behalten ihre externen IP-Adressen bei.
  • Diese Einschränkung akzeptiert entweder eine allowedList- oder eine deniedList-Aufstellung, aber nicht beide in derselben Richtlinie.
  • Für die Verwaltung und Pflege des Lebenszyklus und der Integrität der VM sind Sie oder ein Administrator mit den entsprechenden Berechtigungen verantwortlich. Die Einschränkung überprüft nur den URI der VM und verhindert nicht, dass die VMs in der Zulassungsliste geändert, gelöscht oder neu erstellt werden.

Erforderliche Berechtigungen zum Beschränken externer IP-Adressen

Wenn Sie eine Einschränkung auf Projekt- oder Organisationsebene einrichten möchten, müssen Sie in Ihrer Organisation die Rolle orgpolicy.policyAdmin haben.

Richtlinieneinschränkung auf Organisationsebene festlegen

Console

  1. Öffnen Sie die Seite Organisationsrichtlinien.

    Zur Seite "Organisationsrichtlinien"

  2. Wählen Sie gegebenenfalls die erforderliche Organisation aus dem Drop-down-Menü des Projekts aus.
  3. Klicken Sie auf Zulässige externe IPs für VM-Instanzen definieren.
  4. Klicken Sie auf Bearbeiten, um die externe IP-Richtlinie zu bearbeiten. Wenn Sie nicht auf Bearbeiten klicken können, fehlen Ihnen die erforderlichen Berechtigungen.
  5. Wählen Sie Anpassen aus, um die Organisationsrichtlinie für bestimmte VMs festzulegen.

    Option "Anpassen" auf der Seite zur Bearbeitung der Organisationsrichtlinie

  6. Wählen Sie die erforderlichen Richtlinienerzwingungen und den erforderlichen Richtlinientyp aus.

  7. Wählen Sie für Richtlinienwerte die Option Benutzerdefiniert aus.

  8. Geben Sie einen URI für eine VM ein und drücken Sie die Eingabetaste. Der URI muss das folgende Format haben:

    projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    
  9. Klicken Sie auf Neuer Richtlinienwert und geben Sie nach Bedarf URIs für VMs ein.

  10. Klicken Sie auf Speichern, um die Einschränkung anzuwenden.

gcloud

Wenn Sie eine Einschränkung für den Zugriff auf externe IP-Adressen einrichten möchten, folgen Sie den Anweisungen unten. Sie können die Organisations-ID ermitteln, indem Sie den Befehl organizations list ausführen und in der Antwort nach der numerischen ID suchen:

gcloud organizations list

Die gcloud CLI gibt eine Liste der Organisationen im folgenden Format zurück:

DISPLAY_NAME               ID
example-organization1      29252605212
example-organization2      1234567890

Geben Sie die Richtlinie mit dem Befehl gcloud resource-manager org-policies set-policy an. Sie müssen die Richtlinie als JSON-Datei bereitstellen. Erstellen Sie eine JSON-Datei im folgenden Format:

{
"constraint": "constraints/compute.vmExternalIpAccess",
"listPolicy": {
  "allowedValues": [
     "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME",
     "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME",
     "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
  ]
 }
}

Dabei gilt:

  • PROJECT_ID ist die Projekt-ID für diese Anfrage, z. B. example-project. Beachten Sie, dass sich dieser Vorgang vom Einrichten der Organisationsrichtlinien unterscheidet. Hier ist die numerische ID der Organisation erforderlich.
  • ZONE: die Zone der VM
  • VM_NAME: der Name der VM

Alternativ können Sie eine deniedValues-Liste mit VMs angeben, für die Sie externe IP-Adressen explizit ausschließen möchten. Alle VMs, die nicht auf der Liste stehen, dürfen dann eine externe IP-Adresse haben. Sie können nur eine der beiden Optionen allowedValues oder deniedValues angeben, aber nicht beide.

Übergeben Sie dann die Datei mit Ihrer Anfrage:

gcloud resource-manager org-policies set-policy MY_POLICY.JSON --organization=ORGANIZATION_ID

Ersetzen Sie ORGANIZATION_ID durch die numerische ID der Organisation.

Wenn keine der VMs auf externe IP-Adressen zugreifen können soll, legen Sie eine Richtlinie fest, in der allValues auf DENY gesetzt ist:

{
  "constraint": "constraints/compute.vmExternalIpAccess",
  "listPolicy": {
    "allValues": "DENY"
  }
}

REST

Verwenden Sie die setOrgPolicy() API, um die Einschränkung zu definieren. Die von Ihnen in die allowedValue-Liste aufgenommenen VMs dürfen externe IP-Adressen haben. Alternativ können Sie eine deniedValues-Liste mit VMs angeben, für die Sie externe IP-Adressen explizit ausschließen möchten. Alle VMs, die nicht auf der Liste stehen, dürfen dann eine externe IP-Adresse haben. Sie können nur eine der beiden Optionen angeben, entweder allowedValues oder deniedValues, aber nicht beide.

Das folgende Beispiel zeigt eine Anfrage zum Anwenden der Einschränkung compute.vmExternalIpAccess für eine Organisation, in der VMs aus bestimmten Projekten innerhalb der Organisation externe IP-Adressen haben dürfen:

POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:setOrgPolicy

wobei ORGANIZATION_ID die numerische ID der Organisation ist.

Geben Sie nun im Anfragetext die Richtlinie für diese Einschränkung an:

{
  "policy": {
    "constraint": "constraints/compute.vmExternalIpAccess",
    "listPolicy": {
      "allowedValues": [
        "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME",
        "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME",
        "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
        ]
      }
    }
 }

Wenn keine der VMs auf externe IP-Adressen zugreifen können soll, legen Sie eine Richtlinie fest, in der allValues auf DENY gesetzt ist:

{
  "policy": {
    "constraint": "constraints/compute.vmExternalIpAccess",
    "listPolicy": {
      "allValues": "DENY"
      }
    }
 }

Richtlinie auf Projektebene einrichten

Eine auf Projektebene festgelegte Richtlinie überschreibt die Richtlinie auf der Organisationsebene. Wenn beispielsweise auf Organisationsebene die virtuelle Maschine example-vm-1 auf der allowedValues-Liste steht, in der Richtlinie auf Projektebene dieselbe VM jedoch in der deniedValues-Liste enthalten ist, darf die VM keine externe IP-Adresse haben.

Console

Führen Sie den gleichen Vorgang aus, der unter Richtlinieneinschränkungen auf Organisationsebene einrichten erläutert wird, aber wählen Sie anstelle der Organisation das Projekt aus der Projektauswahl aus.

Projektauswahl

gcloud

Geben Sie die Richtlinie mit dem Befehl gcloud resource-manager org-policies set-policy an. Sie müssen die Richtlinie als JSON-Datei bereitstellen. Erstellen Sie eine JSON-Datei im folgenden Format:

{
 "constraint": "constraints/compute.vmExternalIpAccess",
 "listPolicy": {
  "allowedValues": [
   "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
  ]
 }
}

Dabei gilt:

  • PROJECT_ID ist die Projekt-ID für diese Anfrage, z. B. example-project. Beachten Sie, dass sich dieser Vorgang vom Einrichten der Organisationsrichtlinien unterscheidet. Hier ist die numerische ID der Organisation erforderlich.
  • ZONE ist die Zone der VM.
  • VM_NAME: der Name der VM.

Alternativ können Sie eine deniedValues-Liste mit VMs angeben, für die Sie externe IP-Adressen explizit ausschließen möchten. Alle VMs, die nicht auf der Liste stehen, dürfen dann eine externe IP-Adresse haben. Sie können nur eine der beiden Optionen angeben, entweder allowedValues oder deniedValues, aber nicht beide.

Übergeben Sie dann die Datei mit Ihrer Anfrage:

gcloud resource-manager org-policies set-policy MY_POLICY.JSON --project=example-project

REST

Verwenden Sie die setOrgPolicy API, um die Einschränkung zu definieren. Die von Ihnen in die allowedValue-Liste aufgenommenen VMs dürfen externe IP-Adressen haben. Alternativ können Sie eine deniedValues-Liste mit VMs angeben, für die Sie externe IP-Adressen explizit ausschließen möchten. Alle VMs, die nicht auf der Liste stehen, dürfen eine externe IP-Adresse haben. Sie können nur eine der beiden Optionen angeben, entweder allowedValues oder deniedValues, aber nicht beide.

Das folgende Beispiel zeigt eine Anfrage zum Einrichten der Einschränkung compute.vmExternalIpAccess für ein Projekt, um für bestimmte VMs externe IP-Adressen zuzulassen:

POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setOrgPolicy

Ersetzen Sie PROJECT_ID durch die Projekt-ID für diese Anfrage.

Der Anfragetext enthält die Richtlinie für diese Einschränkung:

{
  "policy": {
    "constraint": "constraints/compute.vmExternalIpAccess",
    "listPolicy": {
      "allowedValues": [
        "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
      ]
    }
  }
}

Best Practices zum Beschränken externer IP-Adressen

  • Vermeiden Sie die Verwendung der deniedValues-Liste mit dieser Einschränkung. Wenn Sie Werte in der deniedValues-Liste definieren, bedeutet das, dass nur die VMs in der deniedValues-Liste keine externen IP-Adressen haben dürfen. Dies könnte zu Sicherheitsproblemen führen, wenn Sie genau steuern möchten, welche VMs externe IP-Adressen haben dürfen. Wenn Sie bestimmte VMs aus der allowedValues-Liste entfernen möchten, aktualisieren Sie die vorhandene Richtlinie, um die VMs aus der allowedList-Aufstellung zu entfernen, statt die VMs mit einer niedrigeren Hierarchie in die deniedValues-Liste aufzunehmen.

  • Wenn Sie eine Richtlinie für einen großen Teil der Ressourcenhierarchie einrichten, aber bestimmte Projekte ausnehmen möchten, stellen Sie die Standardrichtlinie mit der Methode setOrgPolicy wieder her. Geben Sie dazu das Objekt restoreDefault an. Dadurch lassen Sie zu, dass alle VMs in den Projekten mit externen IP-Adressen verknüpft werden. Die aktuellen Richtlinien für Projekte sind von der Standardeinstellung nicht betroffen.

  • Verwenden Sie die Organisationsrichtlinie zusammen mit IAM-Rollen, um die Umgebung besser zu steuern. Diese Richtlinie gilt nur für VMs. Wenn Sie jedoch externe IP-Adressen von Netzwerkgeräten besser steuern und einschränken möchten, können Sie den entsprechenden Nutzern die Rolle compute.networkAdmin gewähren.

  • Die Organisationsrichtlinie gilt für alle Dienste und Produkte, die innerhalb der Organisation oder des Projekts in Compute Engine ausgeführt werden und für die die Richtlinie aktiviert ist. Insbesondere sind Dienste wie Google Kubernetes Engine, Dataflow, Dataproc und Cloud SQL von dieser Richtlinie betroffen. Wenn dies ein Problem ist, sollten Sie weitere Dienste und Produkte in einem anderen Projekt einrichten, für das die Organisationsrichtlinie nicht gilt, und bei Bedarf freigegebene VPC verwenden.

Nächste Schritte