You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: azure-local/deploy/deployment-azure-resource-manager-template.md
+66-2Lines changed: 66 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Azure Resource Manager template deployment for Azure Local, version 23H2
3
3
description: Learn how to prepare and then deploy Azure Local instance, version 23H2 using the Azure Resource Manager template.
4
4
author: alkohli
5
5
ms.topic: how-to
6
-
ms.date: 05/07/2025
6
+
ms.date: 07/07/2025
7
7
ms.author: alkohli
8
8
ms.reviewer: alkohli
9
9
ms.service: azure-local
@@ -112,10 +112,12 @@ This object ID for the Azure Local Resource Provide (RP) is unique per Azure ten
112
112
113
113
## Step 2: Deploy using Azure Resource Manager template
114
114
115
-
A Resource Manager template creates and assigns all the resource permissions required for deployment.
115
+
An Azure Resource Manager (ARM) creates and assigns all the resource permissions required for deployment.
116
116
117
117
With all the prerequisite and preparation steps complete, you're ready to deploy using a known good and tested Resource Manager deployment template and corresponding parameters JSON file. Use the parameters contained in the JSON file to fill out all values, including the values generated previously.
118
118
119
+
For an example of a parameter JSON file, see [azuredeploy.parameters.json](https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.azurestackhci/create-cluster/azuredeploy.parameters.json). For detailed descriptions of the parameters defined in this file, see [ARM template parameters reference](#arm-template-parameters-reference).
120
+
119
121
> [!IMPORTANT]
120
122
> In this release, make sure that all the parameters contained in the JSON value are filled out including the ones that have a null value. If there are null values, then those parameters need to be populated or the validation fails.
121
123
@@ -217,6 +219,68 @@ With all the prerequisite and preparation steps complete, you're ready to deploy
217
219
218
220
You can also check out this community sourced template to [Deploy an Azure Local instance using Bicep](https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.azurestackhci/create-cluster-with-prereqs/README.md).
219
221
222
+
## ARM template parameters reference
223
+
224
+
The following table describes the parameters in the JSON file used for ARM template deployment:
225
+
226
+
| Parameter | Description |
227
+
|--|--|
228
+
| deploymentMode | Determines if the deployment process should only validate or proceed with full deployment:<br/>- Validate: Creates Azure resources for this system and validates your system's readiness to deploy.<br/>- Deploy: Performs the actual deployment after successful validation. |
229
+
| keyVaultName | Name of the Azure Key Vault to be used for storing secrets.<br/><br/><br/>For naming conventions, see [Microsoft.KeyVault](/azure/azure-resource-manager/management/resource-name-rules#microsoftkeyvault) in the Naming rules and restrictions for Azure resources article. |
230
+
| softDeleteRetentionDays | Number of days that deleted items (such as secrets, keys, or certificates) are retained in an Azure Key Vault before they are permanently deleted. Specify a value between 7 and 90 days. You can’t change the retention period later. |
231
+
| diagnosticStorageAccountName | Name of the Azure Storage Account used to store key vault audit logs. This account is a locally redundant storage (LRS) account with a lock. |
232
+
| logsRetentionInDays | <br/><br/>Number of days that logs are retained. If you don't want to apply any retention policy and retain data forever, specify 0. <br/> |
233
+
| storageAccountType | Type of the Azure Storage Account to be used in the deployment. For example, Standard_LRS. |
234
+
| clusterName | Name of Azure Local instance being deployed. This name must be different from any of the node names. |
235
+
| location | Deployment location, typically derived from the resource group. <br/><br/>For a list of supported Azure regions, see [Azure requirements](../concepts/system-requirements-23h2.md?tabs=azure-public#azure-requirements). |
236
+
| tenantId | Azure subscription tenant ID. |
237
+
| witnessType | Witness type for your Azure Local cluster. Witness type must be Cloud for a two-node cluster. It can be empty for other cluster sizes.<br/><br/>For more information on cloud witness, see [Deploy a quorum witness](/windows-server/failover-clustering/deploy-quorum-witness?tabs=domain-joined-witness%2Cfailovercluster%2Cfailovercluster1&pivots=cloud-witness).<br/> |
238
+
| clusterWitnessStorageAccountName | Name of the storage account used for cluster witness.<br/><br/>For more information, see [Azure Storage Account](/azure/storage/common/storage-account-create?tabs=azure-portal). For naming conventions, see [Azure Storage account names](/azure/storage/common/storage-account-overview#storage-account-name). |
239
+
| localAdminUserName | Username for the local administrator for all the machines in your system. The credentials are identical for all the machines in your system. |
240
+
| localAdminPassword | Password for the local administrator for all the machines in your system. The credentials are identical for all the machines in your system.<br/> |
241
+
| AzureStackLCMAdminUsername | Username for the LCM admin. |
242
+
| AzureStackLCMAdminPasssword | Password for the LCM admin. |
243
+
| hciResourceProviderObjectID | Object ID of the Azure Local Resource Provider. |
244
+
| arcNodeResourceIds | Array of resource IDs of the Azure Arc-enabled servers that are part of the Azure Local cluster. |
245
+
| domainFqdn | Fully-qualified domain name (FQDN) for the Active Directory Domain Services prepared for deployment. |
246
+
| namingPrefix | Prefix used for all objects created for the Azure Local deployment. |
247
+
| adouPath | Path of the Organizational Unit (OU) created for this deployment. The OU can't be at the top level of the domain. For example: OU=Local001,DC=contoso,DC=com |
248
+
| securityLevel | Security configuration profile to be applied to the Azure Local cluster during deployment. The default is Recommended. |
249
+
| driftControlEnforced | Drift control setting to reapply the security defaults regularly. <br/><br/>For more information, see [Security features for Azure Local](../concepts/security-features.md). |
250
+
| credentialGuardEnforced | Credential Guard setting that uses virtualization-based security to isolate secrets from credential-theft attacks. |
251
+
| smbSigningEnforced | Setting for signing SMB traffic between this Azure Local cluster and others to help prevent relay attacks.<br/><br/>For more information, see [Overview of Server Message Block signing](/troubleshoot/windows-server/networking/overview-server-message-block-signing). |
252
+
| smbClusterEncryption | SMB cluster traffic setting for encrypting traffic between servers in the cluster on your storage network.<br/><br/>For more information, see [SMB encryption](/windows-server/storage/file-server/smb-security#smb-encryption). |
253
+
| bitlockerBootVolume | BitLocker encyrption setting for encrypting OS volume on each server.<br/><br/>For more information, see [Manage BitLocker encryption on Azure Local](../manage/manage-bitlocker.md). |
254
+
| bitlockerDataVolumes | BitLocker encryption setting for encrypting cluster shared volumes (CSVs) created on this system during deployment.<br/> <br/>For more information, see [Manage BitLocker encryption on Azure Local](../manage/manage-bitlocker.md). |
255
+
| wdacEnforced | Application Control setting to control which drivers and apps are allowed to run directly on each server.<br/><br/>For more information, see [Manage Application Control for Azure Local](../manage/manage-wdac.md). |
256
+
| streamingDataClient | Specifies whether telemetry data streaming from the Azure Local cluster to Microsoft is enabled |
257
+
| euLocation | Specifies whether to send and store telemetry and diagnostic data within the European Union (EU). |
258
+
| episodicDataUpload | Episodic diagnostic data setting to specify whether to collect log data and upload to Microsoft to assist with troubleshooting and support.<br/><br/>For more information, see [Crash dump collection](../concepts/observability.md#crash-dump-collection). |
| subnetMask | The subnet mask for the management network used by the Azure Local deployment. |
261
+
| defaultGateway | The default gateway for deploying an Azure Local cluster. |
262
+
| startingIPAddress | The first IP address in a contiguous block of at least six static IP addresses on your management network's subnet, omitting addresses already used by the machines.<br/><br/>These IPs are used by Azure Local and internal infrastructure (Arc Resource Bridge) that's required for Arc VM management and AKS Hybrid. |
263
+
| endingIPAddress | The last IP address in a contiguous block of at least six static IP addresses on your management network's subnet, omitting addresses already used by the machines.<br/><br/>These IPs are used by Azure Local and internal infrastructure (Arc Resource Bridge) that's required for Arc VM management and AKS Hybrid. |
264
+
| dnsServers | List of DNS server IPs. |
265
+
| useDhcp | Indicates whether to use Dynamic Host Configuration Protocol (DHCP) for hosts and cluster IPs. If not declared, the deployment will default to static IPs. If TRUE, gateway and DNS servers are not required. |
266
+
| physicalNodesSettings | Array of physical nodes with their IP addresses. |
267
+
| networkingType | Type of networking. For example, switchedMultiServerDeployment.<br/><br/>For more information, see [Specify network settings](../deploy/deploy-via-portal.md#specify-network-settings). |
268
+
| networkingPattern | Pattern used for networking. For example, hyperConverged. |
269
+
| intentList | List of deployment intents. |
270
+
| storageNetworkList | List of storage networks. |
271
+
| storageConnectivitySwitchless | Specifies whether storage connectivity is configured without network switches. |
272
+
| enableStorageAutoIp | Specifies whether automatic IP assignment is enabled. |
273
+
| customLocation | Custom location for deployment. |
274
+
| sbeVersion | Version of the Solution Builder Extension (SBE) to be used during an Azure Local deployment. |
275
+
| sbeFamily | Family or category of the SBE package being applied during deployment. |
276
+
| sbePublisher | Publisher or vendor of the SBE. |
277
+
| sbeManifestSource | Source location of the SBE manifest file. |
278
+
| sbeManifestCreationDate | Creation date of the SBE manifest. |
279
+
| partnerProperties | List of partner-specific properties. |
280
+
| partnerCredentiallist | List of partner credentials. |
281
+
| clusterPattern | Supported storage type for the Azure Local cluster: <br/>- Standard<br/>- RackAware |
282
+
| localAvailabilityZones | Local Availability Zone information for the Azure Local cluster. |
283
+
220
284
## Troubleshoot deployment issues
221
285
222
286
If the deployment fails, you should see an error message on the deployments page.
0 commit comments