Blog

Vereinfachung der Google Cloud IP-Verwaltung mit Terraform

Bruno Schaatsbergen

Bruno Schaatsbergen

Aktualisiert Oktober 15, 2025
2 Minuten

Die Verwaltung von IP-Adressen in Google Cloud kann ein mühsamer und fehleranfälliger Prozess sein, vor allem wenn Sie sich auf statische IP-Adressen verlassen. Hier kommt die Datenquelle google_netblock_ip_ranges ins Spiel, die den Prozess der IP-Verwaltung in Google Cloud vereinfacht.

Die Herausforderung von fest kodierten IP-Adressen

Fest kodierte statische IP-Adressen sind ein häufiges Problem in Terraform-Konfigurationen. Viele Konfigurationen erlauben zum Beispiel eingehende Gesundheitsprüfungen von GCP Load Balancern unter Verwendung von fest kodierten IPs, die als lokale Adressen oder Variablen deklariert sind. Dieser Ansatz ist jedoch sowohl fehleranfällig als auch zeitaufwändig, da er eine ständige Überwachung der von Google vorgenommenen Änderungen erfordert.

# These are the source IP ranges for health checks (managed by Google Cloud)
source_ranges = ["35.191.0.0/16", "130.211.0.0/22", "209.85.152.0/22", "209.85.204.0/22"]

Dieser Ansatz ist fehleranfällig und erfordert einen erheblichen Zeit- und Arbeitsaufwand, da Sie alle von Google vorgenommenen Änderungen ständig überwachen müssen.

Die Lösung - Automatisieren Sie die IP-Bereichsverfolgung

Die Datenquelle google_netblock_ip_ranges generiert eine Liste der von Google verwalteten CIDR-Bereiche, die der Infrastruktur von Google Cloud entsprechen, und automatisiert so den Prozess der Verfolgung von Änderungen der IP-Bereiche.

Verwendung von google_netblock_ip_ranges

Wenn Sie die Datenquelle google_netblock_ip_ranges deklarieren, stellen Sie range_type auf die Art des Bereichs ein, den Sie benötigen.

data "google_netblock_ip_ranges" "this" {
  for_each = toset([
    "health-checkers",
    "legacy-health-checkers",
  ])
  range_type = each.key
}

Als nächstes verwendet die Firewall-Regel die CIDR-Bereiche als ihre Quellbereiche.

resource "google_compute_firewall" "lb_health_check" {
  name        = "my-firewall-rule"
  description = "Rule that allows inbound Google Load Balancer health checks"
  direction   = "INGRESS"
  network     = "default"
  allow {
    protocol = "tcp"
  }
  source_ranges = distinct(concat(
    data.google_netblock_ip_ranges.this["health-checkers"].cidr_blocks_ipv4,
    data.google_netblock_ip_ranges.this["legacy-health-checkers"].cidr_blocks_ipv4,
  ))
  project     = "my-project-name"
}

Mit der Terraform-Datenquelle google_netblock_ip_ranges ist die Verwaltung von IP-Adressen in der Google Cloud jetzt einfacher, schneller und weniger fehleranfällig. Verabschieden Sie sich von den lästigen, hart kodierten IP-Adressen und begrüßen Sie einen vereinfachten Google Cloud IP-Verwaltungsprozess.

Verfasst von

Bruno Schaatsbergen

Bruno is an open-source and serverless enthusiast. He tends to enjoy looking for new challenges and building large scale solutions in the cloud. If he's not busy with cloud-native architecture/development, he's high-likely working on a new article or podcast covering similar topics. In his spare time he fusses around on Github or is busy drinking coffee and exploring the field of cosmology.

Contact

Let’s discuss how we can support your journey.