Ä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¶
- 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.
- Erstelle einen Branch von
mainim Konfigurations-Repository, mit der Ticketnummer im Namen. - Wähle den Namen. Folge dem Namensschema deiner Plattform (Namensgebung). Der Name muss eindeutig sein.
- Erstelle die Datei
<name>.jsonim Ordnerip_groupsder Umgebungcanary(globaler Ordner oder der Regionsordner, wenn die Gruppe regional ist). Nutze die Struktur aus IP-Gruppen-JSON. - 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.
- Kopiere die Datei in den Ordner
ip_groupsder Umgebungprod(und in jeden Regionsordner, der sie braucht). - Committe, pushe und öffne einen pull request nach
main. Verlinke das Ticket und beschreibe den Zweck und die Nutzer der Gruppe. - Deploye nach dem Review: zuerst
canary, den Apply prüfen, dannprod(Deployment von Firewallregeln). Der Plan zeigt nur ein hinzugefügtesazurerm_ip_group.
Operator: eine Gruppe ändern¶
- Erstelle einen Branch von
main. - Bearbeite die Datei in
canary. Prüfe, welche Regeln die Gruppe nutzen: Die Änderung gilt für alle. - Stelle sicher, dass die Datei in
proddenselben Inhalt bekommt. Kopiere die validierte Datei über die bestehende, wenn beide gleich sein sollen. - Committen, pushen, pull request. Beschreibe die Auswirkung auf die Regeln.
- Review,
canarydeployen, verifizieren,proddeployen.
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 alsnameundcidrs, 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.