Zum Inhalt

Änderung einer IP-Gruppe

Runbook für Operator und Reviewer für die Standardänderung IP-Gruppe erstellen oder ändern. Die Dateien, das JSON, die Namensgebung und die Verifikation stehen in IP-Gruppen. Diese Seite gibt die Reihenfolge der Arbeit und die Prüfungen vor. Das Deployment ist dasselbe wie bei Firewallregeln (Deployment von Firewallregeln), weil beide im Layer firewall liegen.

Operator: eine Gruppe erstellen

  1. Prüfe die Anfrage. Du brauchst den Zweck, die Adressen (CIDR oder einzelne IPv4-Adressen), den workload, dem die Gruppe gehört, und welche Regeln sie nutzen oder nutzen werden. Prüfe, dass die Gruppe noch nicht existiert.
  2. Erstelle einen Branch von main im Konfigurations-Repository, mit der Ticketnummer im Namen.
  3. Wähle den Namen. Folge dem Namensschema deiner Plattform (Namensgebung). Der Name muss eindeutig sein.
  4. Erstelle die Datei <name>.json im Ordner ip_groups der Umgebung canary (globaler Ordner oder der Regionsordner, wenn die Gruppe regional ist). Nutze die Struktur aus IP-Gruppen-JSON.
  5. Validiere die Datei in deinem Editor mit dem Schema (JSON-Dateien mit Schema-Unterstützung bearbeiten). Prüfe jede Adresse und jedes Präfix. Nimm keine Adressen auf, die für den Zweck nicht vereinbart sind.
  6. Kopiere die Datei in den Ordner ip_groups der Umgebung prod (und in jeden Regionsordner, der sie braucht).
  7. Committe, pushe und öffne einen pull request nach main. Verlinke das Ticket und beschreibe den Zweck und die Nutzer der Gruppe.
  8. Deploye nach dem Review: zuerst canary, den Apply prüfen, dann prod (Deployment von Firewallregeln). Der Plan zeigt nur ein hinzugefügtes azurerm_ip_group.

Operator: eine Gruppe ändern

  1. Erstelle einen Branch von main.
  2. Bearbeite die Datei in canary. Prüfe, welche Regeln die Gruppe nutzen: Die Änderung gilt für alle.
  3. Stelle sicher, dass die Datei in prod denselben Inhalt bekommt. Kopiere die validierte Datei über die bestehende, wenn beide gleich sein sollen.
  4. Committen, pushen, pull request. Beschreibe die Auswirkung auf die Regeln.
  5. Review, canary deployen, verifizieren, prod deployen.

Für ein Umbenennen oder eine Entfernung nimmst du zwei pull requests: Ändere oder entferne zuerst die Verweise in den Regeln und deploye, dann benenne die Gruppe um oder lösche sie (zwei Schritte).

Checkliste für Reviewer

Beginne mit den allgemeinen Prüfungen. Dann, für jede Datei:

Prüfung Warum
Die Datei liegt in einem Ordner namens ip_groups, in canary und in prod Die Config tests und das Deployment finden Gruppen anhand des Ordnernamens.
Der Dateiname entspricht dem Gruppennamen, und der Name folgt dem Namensschema Lesbarkeit und Nachvollziehbarkeit.
Das JSON hat ip_group mit name und cidrs und sonst nichts Das Schema lehnt andere Eigenschaften ab.
Jeder Eintrag in cidrs ist eine gültige IPv4-Adresse oder ein gültiger CIDR-Bereich, im selben Stil geschrieben Fehler in der Notation lassen das Deployment fehlschlagen.
Die Adressen gehören zusammen und sind für den Zweck vereinbart Eine Gruppe mit nicht zusammenhängenden Subnetzen öffnet mehr als beabsichtigt.
Keine Überschneidung mit anderen Gruppen, die eine Regel unklar macht Regeln sollen klar zeigen, was sie öffnen.
Die Änderung in canary und prod ist gleich, oder der Unterschied ist erklärt Sonst driften die Umgebungen auseinander.
Bei Umbenennen oder Entfernen: keine Regel verweist mehr auf den alten Namen Eine Regel mit fehlender Gruppe lässt das Deployment fehlschlagen.
Der pull request nennt die Regeln, die die Gruppe nutzen, und die Auswirkung der Änderung Eine Gruppenänderung ändert jede Regel, die sie nutzt.

Genehmige, wenn alle Prüfungen in Ordnung sind. Andernfalls schicke ihn zurück (so geht's).

Troubleshooting

  • Schema- oder Formatfehler. Vergleiche die Datei mit dem Schema. Typische Ursachen: ein fehlendes Oktett, ein Präfix über /32, eine andere Eigenschaft als name und cidrs, eine Liste, die als ein String geschrieben ist.
  • IP-Adresskonflikte. Frag den Owner des IP-Plans, welche Bereiche vereinbart sind. Rate nicht.
  • Commit-Probleme. Lies das Validierungsergebnis der pipeline und geh zurück zum Validierungsschritt.