Platformfeatures (in-/uitschakelen)¶
Standaardwijziging: Azure Cloud Landing Zone features/resources bijwerken
Effect: een bestaande platformfeature (VPN gateway, Bastion, Application Gateway, private DNS zones, DDoS plan, Sentinel, …) wordt aan- of uitgezet. Aanzetten maakt de bijbehorende resources aan. Uitzetten vernietigt ze.
Afbakening. Alleen features die al in de codebase bestaan zijn een standaardwijziging, dus een flag in de feature flags-referentie. Alles wat nieuwe Terraform vereist is een ontwikkelwijziging in de coderepository.
Aanvraagvelden¶
| Veld | Gebruik |
|---|---|
| Feature / Resource type | Welke flag (zie de referentie) |
| Onderbouwing | pull request |
| Omgeving | Platformomgeving en regio('s) |
| Opmerkingen | Vereiste bijbehorende waarden (SKU, adresranges, peer-IP's, …) |
Stappen¶
- Zoek de flag op in de feature flags-referentie en open het bijbehorende variabelenbestand in
infra/deploy/<layer>/. Noteer: - de default;
- de bijbehorende variabelen die de feature nodig heeft (namen, SKU, subnet, address space, peer-configuratie).
- Controleer de huidige waarde in
<env-folder>/<region>/<layer>.auto.tfvars. Als de variabele niet is gezet, geldt de default. - Bewerk de tfvars van elke regio waar de feature moet veranderen:
# <env-folder>/weu/connectivity.auto.tfvars
create_bastion_host = true
Voeg de bijbehorende variabelen toe in hetzelfde bestand.
4. Plan met hub (modus Plan of ApproveModifications). De wijzigingen moeten beperkt blijven tot de layer en regio
die je hebt bewerkt.
- Aanzetten: alleen + resources voor de feature.
- Uitzetten: alleen - resources voor de feature. Controleer dat niets anders ervan afhankelijk is, bijvoorbeeld: firewallregels op een
firewall die wordt verwijderd, App Gateway-listeners die in gebruik zijn, VPN-tunnels met on-premises sites.
5. Apply op canary, controleer, dan prod.
Voorbeelden¶
| Feature | Flag (layer) | Bijbehorende instellingen om te beoordelen | Opmerkingen |
|---|---|---|---|
| Azure Bastion | create_bastion_host (connectivity) |
Bastion-variabelen in variables_virtual_network_hub.tf |
|
| Site-to-site VPN | create_vpn_gateway (connectivity) |
VPN-instellingen in variables_virtual_hub.tf (sites, links, BGP) |
Stem af met het on-premises netwerkteam. |
| Private DNS resolver forwarding rules | private_dns_resolver_forwarding_rules (connectivity) |
zie DNS conditional forwarder | Voegt conditional forwarding toe naar DNS-servers buiten Azure. |
| Point-to-site VPN | create_point_to_site_vpn_gateway (connectivity) |
point_to_site_vpn_*-variabelen, point_to_site_vpn_gateway_dns_servers |
De DNS-baseline configuratietest vereist dat de P2S DNS-server gelijk is aan virtual_network_dns_servers. Zie ook De point-to-site VPN-functie inschakelen en Private resources bereiken vanuit een dev container. |
| ExpressRoute | create_express_route_gateway, create_express_route_connection, use_express_route_circuit_module (connectivity) |
circuit-/peering-variabelen | |
| Application Gateway | use_application_gateway_module, use_web_application_firewall_policy_module (connectivity) |
JSON-mappen en patronen, zones van public IP's | Zie Application Gateway. |
| Private DNS zones | create_private_dns_zones (connectivity) |
Private DNS zones zijn globale resources. De voorbeeldconfiguratie schakelt ze in één regio in. | |
| DDoS-bescherming | create_network_ddos_protection_plan (foundation), virtual_network_hub_ddos_protection_plan_enable (connectivity/management) |
Een DDoS plan heeft aanzienlijke vaste maandelijkse kosten. | |
| Sentinel | deploy_sentinel (management) |
||
| Defender voor spokes | enable_defender_for_cloud_for_spokes (postdeployment) |
Voegt Defender-kosten toe per spoke-subscription. | |
| Hub 24/7 alert routing | hub_247_support (connectivity) |
webhook_url (verplicht als ingeschakeld), tijdvenster |
Zie Monitoringregels. |
Kosten besparen in canary¶
ADR-0006 beschrijft hoe je dure componenten in de canary-omgeving (Azure Firewall, Application Gateway) met deze flags uitschakelt en ze weer aanzet wanneer nodig. De ADR schat de hersteltijd op 20–30 minuten. De geplande opruimtemplate die erin wordt genoemd staat niet in deze repository.
Controleren¶
De resource bestaat (aanzetten) of is verdwenen (uitzetten) in de Azure portal, en het volgende hub plan toont er geen wijzigingen voor.
Terugdraaien¶
Zet de flag terug en draai hub. Een opnieuw aangemaakte resource is nieuw: hij krijgt nieuwe public IP's, nieuwe keys en een lege
configuratie waar de state alleen in Azure leefde. Houd hier rekening mee.