Statische interne IP-Adresse reservieren

Wenn eine VM-Instanz eine feste interne IP-Adresse erfordert, die sich nicht ändert, können Sie mit einer der folgenden Optionen eine statische interne IP-Adresse für diese VM abrufen:

Informationen zum Verwalten sekundärer interner IP-Adressen finden Sie unter Alias-IP-Bereiche.

In Compute Engine können VM-Instanzen mehrere Netzwerkschnittstellen haben. Jede Schnittstelle kann eine externe IP-Adresse, eine primäre interne IP-Adresse sowie eine oder mehrere sekundäre interne IP-Adressen haben. Weiterleitungsregeln können externe IP-Adressen für das externe Load-Balancing oder interne Adressen für das interne Load-Balancing nutzen. Weitere Informationen zu IP-Adressen finden Sie in der Dokumentation zu IP-Adressen.

Statische interne IP-Adressen bieten die Möglichkeit, interne IP-Adressen aus dem im Subnetz konfigurierten privaten IP-Bereich zu reservieren und anschließend den gewünschten Ressourcen zuzuordnen. Wenn Sie eine interne IP-Adresse reservieren, wird diese Adresse aus dem dynamischen Zuweisungspool herausgenommen und verhindert so, dass sie für automatische Zuweisungen verwendet wird. Das Reservieren von statischen internen IP-Adressen erfordert bestimmte IAM-Berechtigungen, sodass nur autorisierte Nutzer eine statische interne IP-Adresse reservieren können.

Mit der Möglichkeit, statische interne IP-Adressen zu reservieren, können Sie immer dieselbe IP-Adresse für dieselbe Ressource verwenden, auch wenn Sie die Ressource löschen und neu erstellen müssen.

Wenn Sie eine statische externe IP-Adresse statt einer internen IP-Adresse reservieren möchten, lesen Sie die Informationen unter Statische externe IP-Adresse reservieren.

Hinweis

Berechtigungen

Wenn Sie statische interne IP-Adressen reservieren und verwalten möchten, benötigen Sie die Rolle compute.networkAdmin oder eine oder mehrere der folgenden Berechtigungen:

  • compute.addresses.create für die IP-Adresse
  • compute.addresses.createInternal für die IP-Adresse
  • compute.instances.update für die VM-Instanz
  • compute.subnetworks.use für das Subnetzwerk

Beschränkungen

  • Sie können die interne IP-Adresse einer vorhandenen Ressource nicht ändern. Sie können beispielsweise einer laufenden VM-Instanz keine neue statische interne IP-Adresse zuweisen. Sie können jedoch die sitzungsspezifische interne IP-Adresse einer Ressource in eine statische interne IP-Adresse umwandeln, damit die Adresse auch nach dem Löschen der Ressource reserviert bleibt.

  • Die Anzahl der statischen internen IP-Adressen, die Sie reservieren können, darf das Kontingent Ihres Projekts nicht überschreiten. Weitere Informationen erhalten Sie im Abschnitt zu projektbasierten Kontingenten in der VPC-Dokumentation.

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

  • Ist die IP-Adresse einer Ressource zugewiesen, kann nur noch durch Abgleich mit einer Liste der für dieses Projekt reservierten statischen internen IP-Adressen festgestellt werden, ob es sich bei dieser IP-Adresse um eine sitzungsspezifische oder eine statische IP-Adresse handelt. Mit dem Unterbefehl addresses list können Sie eine Liste der für Ihr Projekt verfügbaren statischen internen IP-Adressen aufrufen.

  • Das Reservieren einer statischen internen IP-Adresse wird nur für VPC-Netzwerke unterstützt. Es gibt keine Unterstützung für Netzwerke im Legacy-Modus.

  • Durch das Löschen einer Ressource wird nicht automatisch eine statische interne IP-Adresse freigegeben. Sie müssen nicht mehr benötigte statische interne IP-Adressen manuell freigeben.

Statische interne IP-Adresse reservieren

Sie können eine statische interne IP-Adresse reservieren, bevor Sie die zugehörige Ressource erstellen, oder die Ressource mit einer sitzungsspezifischen internen IP-Adresse erstellen und dann diese sitzungsspezifische IP-Adresse in eine statische interne IP-Adresse umwandeln.

Richten Sie zuerst ein VPC-Netzwerk für Ihr Projekt ein, um eine statische interne IP-Adresse verwenden zu können. Weitere Informationen zum Erstellen eines VPC-Netzwerks erhalten Sie unter VPC-Netzwerke verwenden.

Reservieren Sie eine bestimmte Adresse und ordnen Sie sie dann einer bestimmten Ressource zu

In diesem Szenario reservieren Sie separat eine statische interne IP-Adresse und ordnen sie dann einer Ressource zu. Zusammenfassung:

  1. Erstellen Sie ein Subnetz Ihres VPC-Netzwerks.

  2. Reservieren Sie eine interne IP-Adresse aus dem primären IP-Bereich des Subnetzes. Dieser Schritt erstellt eine interne IP-Adressressource, die diese spezifische interne IP-Adresse enthält. Außerdem verhindert er, dass Google Cloud diese Adresse automatisch als sitzungsspezifische Adresse zuweist.

  3. Verwenden Sie die reservierte interne IP-Adresse, indem Sie sie einer VM-Instanz oder einem internen Load-Balancer zuweisen, wenn Sie die VM oder die Load-Balancer-Ressource erstellen.

Sitzungsspezifische interne IP-Adresse für eine Ressource festlegen und anschließend umwandeln

In diesem Szenario wandeln Sie eine sitzungsspezifische interne IP-Adresse, die noch an eine Ressource angehängt ist, in eine statische interne IP-Adresse um.

  1. Erstellen Sie ein Subnetz.

  2. Erstellen Sie eine VM-Instanz oder einen internen Load-Balancer mit einer automatisch zugeordneten sitzungsspezifischen IP-Adresse oder einer speziell ausgewählten IP-Adresse.

  3. Wandeln Sie die interne IP-Adresse in eine statische interne IP-Adresse um.

Beide Methoden werden im folgenden Diagramm dargestellt.

Reservierung von internen IP-Adressen

Neue statische interne IP-Adresse reservieren

Bevor Sie eine neue statische interne IP-Adresse reservieren können, müssen Sie zuerst ein VPC-Netzwerk mit einem Subnetz erstellen.

Console

Sie können eine eigenständige interne IP-Adresse über die Cloud Console reservieren.

  1. Rufen Sie in der Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf das VPC-Netzwerk, in dem Sie die neue statische IP-Adresse reservieren möchten.
  3. Klicken Sie auf Statische interne IP-Adressen und dann auf Statische Adresse reservieren.
  4. Geben Sie einen Namen für diese IP-Adresse ein.
  5. Subnetz auswählen
  6. Wenn Sie angeben möchten, welche IP-Adresse reserviert werden soll, wählen Sie unter Statische IP-Adresse die Option Selbst auswählen aus und geben Sie dann eine benutzerdefinierte IP-Adresse ein. Andernfalls weist das System automatisch eine IP-Adresse im Subnetz zu.
  7. Wenn Sie diese IP-Adresse in verschiedenen Front-Ends freigeben möchten, wählen Sie unter Zweck die Option Freigegeben aus.
  8. Klicken Sie auf Reservieren, um den Vorgang abzuschließen.

gcloud

Führen Sie mit dem gcloud-Tool den Befehl compute addresses create aus:

gcloud compute addresses create ADDRESS_NAME [ADDRESS_NAME..] \
    --region REGION --subnet SUBNETWORK \
    --addresses IP_ADDRESS

Dabei gilt:

  • ADDRESS_NAME: Die gewünschten Namen einer oder mehrerer Adressen, die erstellt werden sollen.
  • REGION: Die Region für diese Anfrage.
  • SUBNETWORK: Das Subnetz für diese interne IP-Adresse.
  • IP_ADDRESS: Die zu reservierende IP-Adresse, die sich innerhalb des primären IP-Bereichs des Subnetzes befinden muss. Wenn hier keine Angabe gemacht wird, wird automatisch eine Adresse aus dem Subnetz zugewiesen.

So reservieren Sie beispielsweise eine automatisch zugeordnete interne IP-Adresse aus einem Subnetz:

gcloud compute addresses create example-address-1 \
    --region us-central1 --subnet subnet-1

So reservieren Sie eine bestimmte interne IP-Adresse aus einem Subnetz:

gcloud compute addresses create example-address-1 \
    --region us-central1 --subnet subnet-1 --addresses 10.128.0.12

Sie können mehrere Adressen erstellen, indem Sie mehr als einen Adressnamen eingeben. Allerdings werden dann alle Adressen im selben Subnetz reserviert. Beispiel:

gcloud compute addresses create example-address-1 example-address-2 \
    --region us-central1 --subnet subnet-1 \
    --addresses 10.128.0.12,10.128.0.13

API

Rufen Sie die Methode addresses.insert auf:

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

Der Anfragetext muss den addressType (der INTERNAL lauten sollte), den name der Adresse und den subnetwork enthalten, zu dem die IP-Adresse gehört. Sie können sich vom System automatisch eine IP-Adresse zuweisen lassen oder die address für eine bestimmte IP-Adresse angeben. Die IP-Adresse muss zum primären IP-Adressbereich des Subnetzes gehören.

{
  "addressType": "INTERNAL",
  "name": "ADDRESS_NAME",
  "subnetwork": "regions/REGION/subnetworks/SUBNETWORK",
  "address": "IP_ADDRESS"
}

Beispiel:

POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses

{
  "name": "example-address-1",
  "addressType": "INTERNAL",
  "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet",
  "address": "10.128.0.12"
}

Terraform

Sie können ein Terraform-Modul verwenden, um eine interne IP-Adresse zu erstellen.

Im folgenden Beispiel haben die Terraform-Argumente Beispielwerte, die Sie ändern können. In diesem Beispiel werden zwei spezifische interne IP-Adressen erstellt:

module "address" {
  source     = "terraform-google-modules/address/google"
  version    = "3.0.0"
  project_id = var.project_id # Replace this with your project ID in quotes
  region     = "asia-east1"
  subnetwork = "my-subnet"
  names      = ["internal-address1", "internal-address2"]
  addresses  = ["10.0.0.3", "10.0.0.4"]
}

Im folgenden Beispiel werden zwei dynamisch zugewiesene interne IP-Adressen erstellt:

module "address" {
  source     = "terraform-google-modules/address/google"
  version    = "3.0.0"
  project_id = var.project_id # Replace this with your project ID in quotes
  region     = "asia-east1"
  subnetwork = "my-subnet"
  names      = ["internal-address1", "internal-address2"]
}

Eine laufende sitzungsspezifische interne IP-Adresse in eine statische IP-Adresse umwandeln

Wenn Sie über sitzungsspezifische IP-Adressen verfügen, die aktuell verwendet werden, können Sie diese Adressen in statische interne IP-Adressen umwandeln, damit die Adressen so lange in Ihrem Projekt bleiben, bis Sie sie aktiv entfernen.

Bevor Sie eine bestehende IP-Adresse reservieren, benötigen Sie den Wert der IP-Adresse, die Sie umwandeln möchten. Stellen Sie eine describe-Anfrage an die Ressource, um die IP-Adresse abzurufen. Wenn eine IP-Adresse beispielsweise aktuell von einer VM-Instanz verwendet wird, verwenden Sie:

gcloud compute instances describe INSTANCE_NAME --zone ZONE | grep "networkIP"

Das gcloud-Tool gibt den Wert networkIP zurück. Dies ist die interne IP, die von der Ressource verwendet wird. Beispiel:

networkIP: 10.240.0.2

Als Nächstes wandeln Sie die Adresse um.

Konsole

So wandeln Sie in der Konsole eine sitzungsspezifische interne IP-Adresse in eine statische IP-Adresse um:

  1. Rufen Sie die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus.
  3. Wählen Sie die zu ändernde Instanz aus.
  4. Klicken Sie oben auf der Seite auf das Tool Bearbeiten.
  5. Klicken Sie im Tool "Bearbeiten" auf Netzwerkschnittstellen.
  6. Wählen Sie unter Interner IP-Typ die Option Statisch aus.
  7. Füllen Sie die Informationen für eine statische IP-Adresse aus.
  8. Klicken Sie auf Fertig, um die Änderungen zu speichern.
  9. Klicken Sie zum Aktualisieren Ihrer Instanz auf Speichern.

gcloud

Verwenden Sie zum Umwandeln einer oder mehrerer bestehender IP-Adressen den Befehl compute addresses create und geben Sie das Flag --addresses mit den expliziten internen IP-Adressen an, die umgewandelt werden sollen:

gcloud compute addresses create ADDRESS_NAME_1 [ADDRESS_NAME_2..] \
    --addresses IP_ADDRESS_1,[IP_ADDRESS_2,..] \
    --region REGION \
    --subnet SUBNETWORK

Dabei gilt:

  • ADDRESS_NAME: Die gewünschten Namen der Adresse. Geben Sie die Namen in derselben Reihenfolge wie die IP-Adressen an. ADDRESS_NAME_1 entspricht in diesem Fall IP_ADDRESS_1 und ADDRESS_NAME_2 entspricht IP_ADDRESS_2.
  • IP_ADDRESS_1,[IP_ADDRESS_2,...]: Die umzuwandelnden IP-Adressen. Beispiel: 10.128.1.9.
  • REGION: Die Region, in der diese Adresse reserviert werden soll.
  • SUBNETWORK: Das Subnetzwerk für diese Anfrage.

Beispiel:

gcloud compute addresses create example-address-1 example-address-2 \
    --addresses 10.128.4.90,10.128.0.232 \
    --region us-central1 \
    --subnet subnet-1

API

Rufen Sie die Methode addresses.insert auf:

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

Der Anfragetext muss den addressType (der INTERNAL lauten sollte), den name der Adresse, die umzuwandelnde address und das subnetwork enthalten, zu dem die IP-Adresse gehört:

{
  "addressType": "INTERNAL",
  "address": "IP_ADDRESS",
  "name": "ADDRESS_NAME",
  "subnetwork": "regions/REGION/subnetworks/SUBNETWORK"
}

Beispiel:

POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses

{
  "name": "example-address-1",
  "addressType": "INTERNAL",
  "address": "10.128.0.2",
  "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet"
}

VM-Instanz mit einer spezifischen internen IP-Adresse erstellen

Sie können beim Erstellen der Instanz dieser eine bestimmte interne IP-Adresse zuweisen. Diese IP-Adresse muss eine gültige, nicht verwendete IP-Adresse im Subnetz der Instanz sein. Die IP-Adresse bleibt mit der Instanz verbunden, bis Sie die Instanz löschen. Dann wird die IP-Adresse in den Pool zurückgeführt. Wenn Sie die Instanz beenden und neu starten, behält sie dieselbe interne IP-Adresse bei.

Wenn Sie keine IP-Adresse angeben, weist Compute Engine automatisch eine aus dem Subnetz oder Netzwerk zu. Sie können eine interne IP-Adresse über die Google Cloud Console, das gcloud-Tool oder die Compute Engine API angeben.

Console

  1. Öffnen Sie in der Cloud Console die Seite VM-Instanzen.

    Zu „VM-Instanzen“

  2. Klicken Sie auf Instanz erstellen.
  3. Geben Sie auf der Seite Neue Instanz erstellen die Attribute für Ihre Instanz ein.
  4. Maximieren Sie den Abschnitt Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
  5. Klicken Sie auf Netzwerk.
  6. Klicken Sie unter Netzwerkschnittstellen auf die Standardnetzwerkschnittstelle, um sie zu bearbeiten.
  7. Optional: Wählen Sie unter Netzwerk und Subnetzwerk das gewünschte Netzwerk und Subnetzwerk aus.
  8. Wählen Sie unter Primäre interne IP aus der Drop-down-Liste eine Option für die interne IP-Adresse aus.
  9. Klicken Sie auf Fertig, um die Änderung der Netzwerkschnittstelle abzuschließen.
  10. Klicken Sie auf Erstellen, um die Instanz anzulegen.

gcloud

Geben Sie beim Erstellen der Instanz eine gültige IP-Adresse an:

gcloud compute instances create VM_NAME
     --private-network-ip IP_ADDRESS

Dabei gilt:

  • VM_NAME: Der Name der Instanz, die Sie erstellen möchten.
  • IP_ADDRESS: Die IP-Adresse, die Sie zuweisen möchten.

Wenn Sie ein benutzerdefiniertes Netzwerk im Subnetzmodus verwenden, müssen Sie außerdem das Subnetz mithilfe des Parameters --subnet SUBNET angeben.

API

Rufen Sie zum Erstellen einer VM-Instanz mit einer statischen internen IP-Adresse die Methode instances.insert auf und geben Sie explizit das Attribut mit der internen IP-Adresse an, die Sie der VM zuweisen möchten networkInterfaces[].networkIP.

Beispiel:

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

{
  "name": "VM_NAME",
  "machineType": "zones/us-central1-f/machineTypes/e2-micro",
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT",
     }],
    "network": "global/networks/default",
    "networkIP": "IP_ADDRESS"
  }],
  "disks": [{
     "autoDelete": "true",
     "boot": "true",
     "type": "PERSISTENT",
     "initializeParams": {
        "sourceImage": "projects/debian-cloud/global/images/v20150818"
     }
   }]
 }

Dabei gilt:

  • PROJECT_ID ist die ID des Projekts, in dem die VM erstellt werden soll.
  • ZONE ist die Zone, in der die VM erstellt werden soll.
  • VM_NAME ist der Name der VM.
  • IP_ADDRESS: ist die IP-Adresse, die der VM zugewiesen werden soll.

Wenn Sie eine Instanz mit festgelegter IP-Adresse löschen, wird die Adresse wieder in den Pool der verfügbaren IP-Adressen zurückgeführt. Wenn Sie möchten, dass eine interne IP-Adresse über die Lebensdauer der Instanz hinaus erhalten bleibt, können Sie eine statische interne IP-Adresse reservieren.

Interne Load-Balancer mit einer statischen internen IP-Adresse erstellen

Zum Erstellen eines internen Load-Balancers, der statische interne IP-Adressen verwendet, folgen Sie den Anleitungen unter:

Statische interne IP-Adressen für eine sekundäre Netzwerkschnittstelle verwenden

Wenn Sie eine VM-Instanz mit mehreren Netzwerkschnittstellen erstellen, können Sie eine reservierte statische interne IP-Adresse für primäre und sekundäre Netzwerkschnittstellen verwenden.

Um eine statische interne IP-Adresse einer sekundären Netzwerkschnittstelle zuzuordnen, gehen Sie wie folgt vor:

  1. Zuerst reservieren Sie eine statische interne IP-Adresse. Im folgenden Beispiel wird eine Adresse mit dem Namen my-second-ip-address in der Region us-central1 reserviert. Da der Befehl das Flag --addresses weglässt, reserviert Compute Engine eine zufällige IP-Adresse:

    gcloud compute addresses create my-second-ip-address \
        --region us-central1 --subnet subnet-b
  2. Verwenden Sie die Adresse als IP-Adresse für die sekundäre Schnittstelle, wenn Sie eine VM-Instanz erstellen. Beispiel:

    gcloud compute instances create my-instance \
        --image-family IMAGE_FAMILY \
        --image-project IMAGE_PROJECT \
        --network-interface subnet=subnet-a,no-address \
        --network-interface \
          subnet=subnet-b,private-network-ip=my-second-ip-address,no-address

Statische interne IP-Adressen mit einer freigegebenen VPC nutzen

Sie können eine reservierte statische interne IP-Adresse in einem freigegebenen Subnetz eines freigegebenen VPC-Netzwerks erstellen. Das IP-Adressobjekt muss im selben Dienstprojekt erstellt werden wie die Ressource, von der es verwendet wird, auch wenn der Wert der IP-Adresse aus dem Bereich der verfügbaren IP-Adressen in einem bestimmten freigegebenen Subnetz des freigegebenen VPC-Netzwerks stammt. Weitere Informationen zu diesem Anwendungsfall finden Sie auf den folgenden Seiten:

Alle statischen internen IP-Adressen auflisten

In der Cloud Console können Sie Ihre statischen internen IP-Adressen für eine ausgewählte VPC aufrufen. Wenn Sie alle vorhandenen statischen IP-Adressen aufrufen möchten, einschließlich der externen und internen IP-Adresse, führen Sie addresses list aus oder stellen eine GET-Anfrage an die API.

Console

  1. Rufen Sie in der Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf das VPC-Netzwerk, das Sie prüfen möchten.
  3. Klicken Sie auf STATISCHE INTERNE IP-ADRESSEN, um alle reservierten statischen internen IP-Adressen in dieser VPC anzuzeigen.

gcloud

Verwenden Sie den Befehl compute addresses list, um alle statischen IP-Adressen aufzulisten, einschließlich der externen und der internen IP-Adresse.

gcloud compute addresses list

API

Rufen Sie die Methode addresses.list auf.

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

Dabei gilt:

  • REGION ist der Name der Region für diese Anfrage.
  • PROJECT_ID: 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

Statische interne IP-Adressen löschen

Sie können eine statische interne IP-Adresse löschen, wenn Sie diese nicht mehr benötigen. Sie können eine Adresse löschen, egal ob sie derzeit von einer anderen Ressource verwendet wird oder nicht. Wenn die Adresse von einer Ressource verwendet wird, bleibt sie an die Ressource gebunden, bis die Ressource gelöscht wird. In diesem Fall wird die Adresse an den Pool der verfügbaren Adressen für andere Projekte zurückgegeben.

Console

  1. Rufen Sie in der Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Ermitteln Sie das VPC-Netzwerk, das die IP-Adresse enthält, die Sie freigeben möchten, und klicken Sie auf den Namen.
  3. Klicken Sie auf STATISCHE IP-ADRESSEN.
  4. Wählen Sie die IP-Adresse(n) aus, die Sie freigeben möchten.
  5. Klicken Sie auf FREIGEBEN und bestätigen Sie diesen Vorgang, indem Sie in der Pop-up-Meldung auf FREIGEBEN klicken.

gcloud

Führen Sie mit dem gcloud-Tool den Befehl compute addresses delete aus:

gcloud compute addresses delete ADDRESS_NAME \
    --region REGION

Dabei gilt:

  • ADDRESS_NAME: Der Name der zu löschenden Adresse.
  • REGION: Die Region, zu der die Adresse gehört.

Beispiel:

gcloud compute addresses delete example-address-to-delete \
    --region us-west1

API

Rufen Sie die Methode addresses.delete auf:

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

So löschen Sie beispielsweise eine Adresse in der Region us-west1:

DELETE https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-west1/addresses/example-address-to-delete

Nächste Schritte