Skip to main content
Version: Next

Task 05: Deploy Windows Admin Center

Runbook Azure

DOCUMENT CATEGORY: Runbook
SCOPE: Windows Admin Center deployment and configuration
PURPOSE: Establish web-based management portal for Azure Local cluster operations
MASTER REFERENCE: Microsoft Learn - WAC

Status: Active

Overview

Windows Admin Center (WAC) provides a web-based management interface for Azure Local clusters. WAC runs on its own dedicated management server and is used for cluster health monitoring, VM management, storage operations, and Azure hybrid integration.

WAC Has Its Own Server

WAC runs on a dedicated management server (compute.vms.management.wac), not on the jumpbox. This is intentional — WAC has specific port and TLS requirements that are cleanest on a standalone host. The jumpbox is a separate server used for RDP/SSH access and admin tooling.


Server Requirements

Jumpbox / Utility Server

The jumpbox must exist and be accessible before deploying WAC. WAC uses PSRemoting to install on the WAC server, and you need a machine with line-of-sight to the management network.

Jumpbox Can Live Anywhere

The jumpbox server is deployment-agnostic. Set jumpbox_deployment_target in your variables to azure, azurelocal, or onprem.

Jumpbox requirements:

RequirementValue
OSWindows Server 2019 or later
Domain membershipRecommended (domain-joined)
Network accessLine-of-sight to WAC server and Azure Local cluster nodes
Deployment targetazure | azurelocal | onprem

Capture jumpbox details in config/variables.yml:

compute:
vms:
management:
jumpbox:
jumpbox_hostname: "jumpbox01"
jumpbox_ip: "10.20.1.20"
jumpbox_fqdn: "jumpbox01.corp.example.com"
jumpbox_deployment_target: "azure" # azure | azurelocal | onprem

WAC Server

WAC requires its own dedicated Windows Server host.

WAC Server Can Live Anywhere

The WAC server is deployment-agnostic. Set wac_deployment_target in your variables to azure, azurelocal, or onprem.

WAC server requirements:

RequirementValue
OSWindows Server 2019 or later
vCPU4+ recommended
RAM8 GB+ recommended
Domain membershipRecommended (domain-joined)
Inbound portTCP 443 (HTTPS — WAC gateway)
OutboundInternet access for WAC MSI download and Azure registration
Network accessLine-of-sight to Azure Local cluster nodes
Deployment targetazure | azurelocal | onprem

Capture WAC server details in config/variables.yml:

      wac:
wac_hostname: "wac01"
wac_ip: "10.20.1.21"
wac_fqdn: "wac01.corp.example.com"
wac_port: 443
wac_deployment_target: "azure" # azure | azurelocal | onprem

Configuration Summary

SettingValueVariable
WAC ServerDedicated management hostcompute.vms.management.wac.wac_hostname
WAC IPWAC server IPcompute.vms.management.wac.wac_ip
WAC URLhttps://<wac_fqdn>compute.vms.management.wac.wac_fqdn
WAC Port443 (HTTPS)compute.vms.management.wac.wac_port
CertificateSelf-signed (initial)Auto-generated
VersionLatest stableMicrosoft Download Center

Required WAC Extensions

ExtensionPurpose
Cluster ManagerAzure Local cluster management
Azure Hybrid CenterAzure Arc and hybrid integration
Azure MonitorMonitoring integration
Virtual MachinesVM lifecycle management
StorageStorage pool and volume management
NetworkingSDN and network management

Prerequisites

  • WAC server provisioned and accessible (see Server Requirements above)
  • Jumpbox provisioned and accessible (see Server Requirements above)
  • Variables captured in config/variables.yml (compute.vms.management.wac.*)
  • Internet access from WAC server (for MSI download and Azure registration)
  • Domain admin credentials available

Variables from variables.yml

VariableConfig PathExample (IIC)
WAC Hostnamecompute.vms.management.wac.wac_hostnameiic-wac01
WAC IPcompute.vms.management.wac.wac_ip10.20.1.21
WAC FQDNcompute.vms.management.wac.wac_fqdniic-wac01.iic.corp
WAC Portcompute.vms.management.wac.wac_port443
Cluster Namecluster.deployment.cluster_nameazl-demo-clus01

Execution Options

WAC Web UI

When to use: Standard installation via GUI installer on the WAC server

Procedure — Download and Install

  1. Connect to WAC server via Bastion, RDP through jumpbox, or direct RDP

  2. Download WAC:

  3. Run MSI installer:

    SettingValue
    Port443
    Use WinRM (HTTPS)Checked
    Generate self-signed certChecked
    Allow WAC to modify TrustedHostsChecked
  4. Complete installation — WAC service starts automatically

Procedure — Initial Configuration

  1. Access WAC: Open https://localhost on the WAC server, or https://<wac_fqdn> from the jumpbox

  2. Add Cluster Connection:

    • Click AddServer clusters
    • Cluster name: from cluster.deployment.cluster_name
    • Credentials: Use domain admin
  3. Install Extensions:

    • Navigate to SettingsExtensions
    • Install or update: Cluster Manager, Azure Hybrid Center, Azure Monitor, Virtual Machines, Storage, Networking

Procedure — Azure Integration

  1. Register WAC with Azure:

    • Settings → AzureRegister
    • Sign in with Azure AD credentials
    • Select the management subscription
    • Grant required permissions
  2. Enable Azure Monitor:

    • Cluster → Azure Monitor → Enable
    • Select Log Analytics workspace (from azure_infrastructure.log_analytics.workspace_name)

Validation

  • WAC accessible at https://<wac_fqdn>
  • Cluster connection healthy — green status
  • All extensions installed and current
  • Azure registration complete
  • Azure Monitor forwarding data

Validation

  • WAC service running: Get-Service ServerManagementGateway
  • Web UI accessible: https://<wac_fqdn> or https://<wac_ip>
  • Cluster connection established and shows healthy status
  • Extensions installed and current version
  • Azure registration completed

Troubleshooting

IssueRoot CauseRemediation
MSI download failsNo internet from WAC serverVerify outbound internet access (NAT, firewall rules)
WAC service not startingPort conflict on 443Check if IIS or other service uses port 443
Cannot connect to clusterCredSSP/KerberosEnable CredSSP or use constrained delegation
Azure registration failsMissing permissionsEnsure Global Admin or App Administrator role
Extensions fail to installWAC version mismatchUpdate WAC to latest version first
Certificate warningSelf-signed certExpected for initial setup — replace with CA cert in production
PSRemoting fails from jumpboxWinRM not enabled on WAC serverRun Enable-PSRemoting -Force on WAC server


Alternatives

The procedures in this task use the scripted methods shown in the tabs above. Additional deployment methods including Azure CLI and Bash scripts are available in the azurelocal-toolkit repository under scripts/deploy/.

MethodDescription
Azure CLIPowerShell-based Azure CLI scripts for Azure resource operations
BashLinux/macOS compatible shell scripts for pipeline environments

Version Control

VersionDateAuthorChanges
1.0.02026-04-02Azure Local CloudInitial version
PreviousUpNext
Task 04: Setup AlertingPhase 02: Monitoring & ObservabilityTask 06: OMIMSWAC Monitoring