Blog
Berechnen der Start- und End-IP-Adresse eines CIDR-Blocks mit Terraform

IP-Bereiche werden normalerweise in CIDR-Notation angegeben. Was aber, wenn Ihr Dienst Start- und End-IPs benötigt? In diesem Blog zeige ich Ihnen, wie Sie cidrhost verwenden, um die Start- und End-IPs zu berechnen.
Terraform cidrhost Funktion
Die Funktion cidrhost berechnet die Host-IP-Adressen innerhalb eines CIDR-Blocks. Sie akzeptiert ein Netzwerkadressen-Präfix in CIDR-Notation und gibt die IP zurück, die mit der angegebenen Hostnummer verknüpft ist.
> cidrhost("192.168.0.0/16", 10)
"192.168.0.10"
> cidrhost("192.168.0.0/16", 100)
"192.168.0.100"
Berechnen Sie Start- und End-IP
Die Start- und End-IP-Adressen sind die erste und letzte IP-Adresse eines CIDR-Blocks. In der Sprache von
> cidrhost("192.168.0.0/16", 0)
"192.168.0.0"
> cidrhost("192.168.0.0/16", -1)
"192.168.255.255"
Azure Sql Server Firewall-Regel Beispiel
Die nächste Terraform-Konfiguration verwendet die cidrhost-Funktion, um die Azure Sql Server Firewall-Regeln zu konfigurieren.
variable "allowed_ips" {
description = <<EOT
IP addresses, in CIDR notation, allowed to access this Sql Server.
Example:
{
CompanyHQ = "192.168.0.0/24"
}
EOT
type = map(string)
default = {}
}
resource "azurerm_mssql_firewall_rule" "sql_server_firewall" {
for_each = var.allowed_ips
server_id = azurerm_mssql_server.sql_server.id # Reference your own Sql server instance
name = each.key
start_ip_address = cidrhost(each.value, 0)
end_ip_address = cidrhost(each.value, -1)
}
Fazit
Terraform cidrhost berechnet die IP-Adressen innerhalb eines CIDR-Blocks. Nutzen Sie negative Indizes zur einfachen Berechnung der Start- und End-IP-Adressen. Photo by Anton Maksimov juvnsky on Unsplash
Verfasst von
Laurens Knoll
As a cloud consultant I enjoy improving what your company does best. I enable your business using cloud technology and enable your engineers by applying software engineering practices to your infrastructure domain.
Unsere Ideen
Weitere Blogs
Contact



