Van discovery-uitkomst naar deployment-invoer¶
De planfase levert antwoorden op: uit een discoveryworkshop of uit een designdocument. Deze pagina koppelt veelvoorkomende vragen aan de plek in de configuratierepository waar elk antwoord wordt ingevoerd. Gebruik haar om een ingevuld werkblad om te zetten in de eerste versie van de configuratie, zonder te gokken.
De tabel is generiek. Er staan geen klantwaarden in, en je eigen werkblad kan de vragen anders formuleren.
Controleer de variabelenamen in jouw versie
De namen komen uit het platform op het moment van schrijven. Controleer voordat je een variabele gebruikt of die is gedeclareerd in
infra/deploy/<layer>/variables*.tf in de codeversie die je pint. Een niet-gedeclareerde variabele in een tfvars-bestand geeft alleen
een waarschuwing, dus een typefout wordt stilzwijgend genegeerd (Config).
Conventies¶
| Placeholder | Betekenis |
|---|---|
<env-folder> |
De map met mcp.json voor één platformomgeving, bijvoorbeeld environments/canary of environments/prod |
<region> |
De map van één actieve regio, genoemd naar de korte regionaam, bijvoorbeeld weu |
Vul eerst canary in. Werkt canary, kopieer hem dan naar prod en pas de waarden aan die verschillen (zie Het platform deployen).
Hub (cloud platform)¶
| Vraag | Bestand | Variabele | Invoer |
|---|---|---|---|
| Wat is de huidige Azure-billingopzet? Geef de subscriptiegegevens. | <env-folder>/global.auto.tfvars |
scaffold_subscriptions |
Vul de eigenschappen van de management-, connectivity- en identity-subscription in |
| Wat is de korte naam van de klant (maximaal zes tekens, gebruikt in namen)? | <env-folder>/global.auto.tfvars |
scaffold_company_short_name |
De korte naam |
| Wat is de naam van de basis-management group van het platform? | <primary region>/foundation.auto.tfvars |
management_group_organization_id |
De management group-ID, het startpunt van de hiërarchie |
| Welke regio is de primaire regio? | <env-folder>/global.auto.tfvars |
primary_region |
De korte naam van de regio |
| Welke extra regio's zijn nodig? | <env-folder>/global.auto.tfvars |
active_regions, active_regions_names |
De korte namen en de bijbehorende Azure-regionamen. primary_region moet in active_regions staan. Zie Een regio toevoegen. |
| Wat is de logretentie in dagen voor de Log Analytics workspace? | <region>/management.auto.tfvars |
log_analytics_workspace_retention_in_days |
Alleen nodig als de waarde afwijkt van de default van 30 dagen |
| Wat is de soft-delete-retentie van de Key Vault in dagen? | <region>/management.auto.tfvars |
key_vault_soft_delete_retention_days |
Alleen nodig als de waarde afwijkt van de default van 30 dagen |
| Is DDoS-bescherming nodig? | <region>/foundation.auto.tfvars |
create_network_ddos_protection_plan |
true om het DDoS protection plan te deployen |
<region>/connectivity.auto.tfvars, <region>/identity.auto.tfvars, <region>/management.auto.tfvars |
virtual_network_hub_ddos_protection_plan_enable |
true om het in te schakelen op de virtuele netwerken van die layer |
|
| Is een secundaire alertontvanger gewenst (webhook of e-mail)? | <primary region>/foundation.auto.tfvars |
monitor_action_group_general_webhook_receiver of monitor_action_group_general_email_receiver |
Het adres of de webhook (Hubconfiguratie) |
| Wie is de securitycontactpersoon? | <region>/postdeployment.auto.tfvars |
security_contact_email |
Een adres van het securityteam van de klant |
| Welke firewall-SKU is nodig? | <region>/connectivity.auto.tfvars |
firewall_sku_tier |
De SKU-tier |
| Is een Application Gateway met WAF nodig? | <region>/connectivity.auto.tfvars |
use_application_gateway_module, use_web_application_firewall_policy_module |
true voor beide. De definities van gateway en WAF zijn JSON-bestanden (Application Gateway). |
| Is een point-to-site-VPN nodig? | <region>/connectivity.auto.tfvars |
create_point_to_site_vpn_gateway |
true |
| Zijn site-to-site-VPN-tunnels nodig? | <region>/connectivity.auto.tfvars |
create_vpn_gateway |
true |
| Is BGP nodig? Welke peeradressen en ASN's? | <region>/connectivity.auto.tfvars |
create_virtual_hub_bgp_connection, virtual_hub_bgp_connection_* |
true, en de peerwaarden |
| Is ExpressRoute nodig? | <region>/connectivity.auto.tfvars |
create_express_route_gateway |
true |
| Is Azure Bastion nodig? | <region>/connectivity.auto.tfvars |
create_bastion_host |
true |
| Welke adresbereiken heeft de hub? | <region>/connectivity.auto.tfvars |
virtual_hub_address_prefix, de subnets van het hub virtual network, virtual_network_dns_servers |
Uit het IP-plan |
| Is alertrouting buiten kantooruren voor hubalerts nodig? | <region>/connectivity.auto.tfvars |
hub_247_support |
Zie Monitoringregels |
Andere schakelaars staan in de feature flags-referentie en in de aanvraag platformfuncties.
Instellingen van de platformomgeving (mcp.json)¶
| Vraag | Invoer in <env-folder>/mcp.json |
|---|---|
| Welke Entra ID-tenant? | Azure.TenantId |
| Waar staat de Terraform state (subscription, resource group, storage account, container) voor de hub en voor spokes? | Azure.TerraformState.Hub.* en Azure.TerraformState.Spoke.* |
| Welke identiteit deployt de hub en de spokes? | Azure.TerraformState.Hub.ServicePrincipalId, Azure.TerraformState.Spoke.ServicePrincipalId |
| Waar staan de job runners, hoeveel, welke VM-grootte, welke adresbereiken? | Azure.JobRunner.* |
| Welke Azure DevOps-organisatie en agent pool, of welke GitHub App? | AzureDevops.* of GitHub.* |
| Welke administrative unit, groeps- en service principal-voorvoegsels voor spokes, en welke rotatieperiode? | SpokeCommon.tenantinfo.* |
De referentie van de sleutels staat in Config.
Spoke canvas¶
| Vraag | Waar het naartoe gaat |
|---|---|
| Wat is de ID van de Entra ID administrative unit voor spokegroepen? | SpokeCommon.tenantinfo.AdministrativeUnitId in mcp.json (oudere versies: common.tf in de spokeconfiguratie) |
| Welk PIM-gedrag krijgen de spokegroepen (readers, contributors, owners)? | adInfo.PIMGroupConfig in elk spoke JSON-bestand: nopim, self-approve of approval (Nieuwe spoke) |
| Welke teamgroepen krijgen toegang? | adInfo.ProductTeamGroupNames in elk spoke JSON-bestand |
| Moet voor elke spoke automatisch een service connection of repository worden aangemaakt? | Het optionele azdo-blok in het spoke JSON-bestand. Laat het blok weg als dat niet nodig is. |
| Welke regio's gebruikt de spoke? | targetRegions in het spoke JSON-bestand |
Praktische regels¶
- Vul eerst canary in, met namen die de omgeving bevatten, zodat je ziet wat je voor prod moet aanpassen.
- Zoek in de hele configuratierepository naar de placeholderwaarden van de template (bijvoorbeeld de naam van de template-klant en de bijbehorende subscription-ID's). De policybestanden bevatten Azure resource-ID's.
- Elke map
firewall_rule_configurationheeft minstens één JSON-bestand nodig, ook als het platform nog geen regels heeft. Zie Firewallregels voor de verplichte sleutels. - Bewaar het beantwoorde discoverywerkblad naast het designdocument, en noteer elk antwoord dat je niet hebt gekoppeld. Dat zijn de hiaten uit de planfase.