Plattform-Features (aktivieren / deaktivieren)¶
Standardänderung: Azure Cloud Landing Zone Features/Ressourcen aktualisieren
Auswirkung: Ein bestehendes Plattform-Feature (VPN gateway, Bastion, Application Gateway, private DNS zones, DDoS plan, Sentinel, …) wird ein- oder ausgeschaltet. Das Einschalten erstellt seine Ressourcen. Das Ausschalten zerstört sie.
Abgrenzung. Nur Features, die bereits im Code existieren, sind eine Standardänderung, also ein Flag in der feature flags Referenz. Alles, was neues Terraform braucht, ist eine Entwicklungsänderung im Code-Repository.
Anfragefelder¶
| Feld | Verwendung |
|---|---|
| Feature / Resource type | Welches Flag (siehe die Referenz) |
| Begründung | pull request |
| Environment | Plattformumgebung und Region(en) |
| Kommentare | Erforderliche Begleitwerte (SKU, Adressbereiche, Peer-IPs, …) |
Schritte¶
- Finde das Flag in der feature flags Referenz und öffne seine Variablendatei in
infra/deploy/<layer>/. Notiere: - den Default;
- die Begleitvariablen, die das Feature braucht (Namen, SKU, Subnet, Adressraum, Peer-Konfiguration).
- Prüfe den aktuellen Wert in
<env-folder>/<region>/<layer>.auto.tfvars. Ist die Variable nicht gesetzt, gilt der Default. - Bearbeite die tfvars jeder Region, in der sich das Feature ändern soll:
# <env-folder>/weu/connectivity.auto.tfvars
create_bastion_host = true
Füge die Begleitvariablen in dieselbe Datei ein.
4. Plane mit hub (Modus Plan oder ApproveModifications). Die Änderungen sollten auf den Layer und die Region
beschränkt sein, die du bearbeitet hast.
- Aktivieren: nur + Ressourcen für das Feature.
- Deaktivieren: nur - Ressourcen für das Feature. Prüfe, dass nichts anderes von ihnen abhängt, zum Beispiel: Firewallregeln auf einer
firewall, die entfernt wird, App-Gateway-Listener, die in Benutzung sind, VPN-Tunnel zu On-Premises-Standorten.
5. Wende zuerst auf canary an, prüfe, dann prod.
Beispiele¶
| Feature | Flag (Layer) | Zu prüfende Begleiteinstellungen | Hinweise |
|---|---|---|---|
| Azure Bastion | create_bastion_host (connectivity) |
Bastion-Variablen in variables_virtual_network_hub.tf |
|
| Site-to-site VPN | create_vpn_gateway (connectivity) |
VPN-Einstellungen in variables_virtual_hub.tf (sites, links, BGP) |
Stimme dich mit dem On-Premises-Netzwerkteam ab. |
| Private DNS resolver forwarding rules | private_dns_resolver_forwarding_rules (connectivity) |
siehe DNS conditional forwarder | Fügt bedingte Weiterleitung an DNS-Server außerhalb von Azure hinzu. |
| Point-to-site VPN | create_point_to_site_vpn_gateway (connectivity) |
point_to_site_vpn_*-Variablen, point_to_site_vpn_gateway_dns_servers |
Der DNS-Baseline-Config-Test verlangt, dass der P2S-DNS-Server gleich virtual_network_dns_servers ist. Siehe auch Das Point-to-site-VPN-Feature aktivieren und Von einem dev container auf private Ressourcen zugreifen. |
| ExpressRoute | create_express_route_gateway, create_express_route_connection, use_express_route_circuit_module (connectivity) |
Circuit-/Peering-Variablen | |
| Application Gateway | use_application_gateway_module, use_web_application_firewall_policy_module (connectivity) |
JSON-Ordner und Patterns, Public-IP-Zonen | Siehe Application Gateway. |
| Private DNS zones | create_private_dns_zones (connectivity) |
Private DNS zones sind globale Ressourcen. Die Beispielkonfiguration aktiviert sie nur in einer Region. | |
| DDoS protection | create_network_ddos_protection_plan (foundation), virtual_network_hub_ddos_protection_plan_enable (connectivity/management) |
Ein DDoS plan hat erhebliche feste monatliche Kosten. | |
| Sentinel | deploy_sentinel (management) |
||
| Defender for spokes | enable_defender_for_cloud_for_spokes (postdeployment) |
Fügt Defender-Kosten pro spoke-subscription hinzu. | |
| Hub 24/7 alert routing | hub_247_support (connectivity) |
webhook_url (erforderlich, wenn aktiviert), Zeitfenster |
Siehe Monitoring-Regeln. |
Kosten sparen in canary¶
ADR-0006 beschreibt, wie man teure Komponenten in der canary-Umgebung (Azure Firewall, Application Gateway) mit diesen Flags ausschaltet und bei Bedarf wieder einschaltet. Das ADR schätzt die Zeit für die Wiederherstellung auf 20–30 Minuten. Das dort erwähnte geplante Clean-up-Template ist nicht in diesem Repository.
Prüfen¶
Die Ressource existiert (aktivieren) bzw. ist weg (deaktivieren) im Azure portal, und der nächste hub-Plan zeigt dafür keine Änderungen.
Rollback¶
Setze das Flag zurück und führe hub aus. Eine neu erstellte Ressource ist neu: Sie erhält neue Public IPs, neue Keys und eine leere
Konfiguration dort, wo der Zustand nur in Azure lag. Plane das ein.