Ga naar inhoud

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_configuration heeft 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.