Azure mgmt. demo
Note: The purpose of these templates, is to give you a kick-start, instantiating all of the Azure mgmt services in Azure. The mgmt. services will be fully integrated, and you will have VM workloads (Windows or Linux) which will be attached - and fully managed as part of the deployment. Please note that this sample is for demo purposes only
What is being deployed
Management services and artifacts
- Azure Log Analytics
A workspace is being created, with sample datasources for both Windows and Linux, together with multiple OMS solutions.
- Azure Automation
The automation account will include several DSC configurations, centered on management scenarios, such as keeping the OMS agent healthy and running, as well as deploying the ASR mobility agent. A PowerShell runbook is also created, which can iterate through the subscription to enable backup on unprotected virtual machines.
- Recovery Services
A recovery vault - to support both Azure 2 Azure DR protection, as well as IaaS backup. The automation account also includes multiple Runbooks that can be used as part of Recovery Plans for ASR.
IaaS workload
You can specify the amount of virtual machines you want to create (1-10), where all the machines will be connected, protected, and attached to the management services.
How to deploy
These templates should be deployed using PowerShell, as you need to create two resource groups prior to submitting the deployment. The guidance below shows a sample script, where you only have to provide your unique values to the variables.
# Create 2 resource groups, for mgmt and workload
$MgmtRgName = '' # Specify a name for the resource group containing the management services
$WorkloadRgName = '' # Specify a name for the resource group containing the virtual machine(s)
$MgmtRg = New-AzureRmResourceGroup -Name $MgmtRgName -Location eastus -Verbose
$WorkloadRg = New-AzureRmResourceGroup -Name $WorkloadRgName -Location eastus -Verbose
# Define parameters for template deployment - remember to change the values!f
$azMgmtPrefix = '' # Specify the prefix for the Azure mgmt. services that will be deployed
$Platform = '' # Select either 'WinSrv' or 'Linux'. If WinSrv, DSC will be enabled.
$userName = '' # username for the VM(s)
$vmNamePrefix = '' # Specify the prefix for the virtual machine(s) that will be created
$instanceCount = '' # You can create 1-10 VMs
$deploymentName = '' # Specify the name of the main ARM template deployment job
$templateuri = 'azuredeploy.json'
# Deploy template
New-AzureRmResourceGroupDeployment -Name $deploymentName `
-ResourceGroupName $MgmtRg.ResourceGroupName `
-TemplateUri $templateUri `
-vmResourceGroup $WorkloadRg.ResourceGroupName `
-azMgmtPrefix $azMgmtPrefix `
-vmNamePrefix $vmNamePrefix `
-userName $userName `
-platform $platform `
-instanceCount $instanceCount `
-Verbose
Navigate to Azure Portal and find the newly created dashboard, which will have the following naming convention AzureMgmt(uniqueString(deployment().name)):
Tags:Microsoft.Resources/deployments, Microsoft.Automation/automationAccounts, variables, Microsoft.Automation/automationAccounts/runbooks, Microsoft.Automation/automationAccounts/modules, Microsoft.Storage/storageAccounts, Microsoft.Network/virtualNetworks, Microsoft.RecoveryServices/vaults, Microsoft.RecoveryServices/vaults/replicationFabrics, Microsoft.RecoveryServices/vaults/replicationPolicies, Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers, Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings, Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings, Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems, Modules, Configurations, uri, Compilationjobs, Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems, Microsoft.Network/publicIPAddresses, Microsoft.Network/networkInterfaces, Microsoft.Compute/availabilitySets, Microsoft.Compute/virtualMachines, Microsoft.Compute/virtualMachines/extensions, [if(equals(parameters('platform'), 'WinSrv'), variables('windowsMgmtType'), variables('linuxMgmtType'))], [if(equals(parameters('platform'), 'WinSrv'), 'DependencyAgentWindows', 'DependencyAgentLinux')], DSC, Microsoft.Portal/dashboards, Extension[azure]/HubsExtension/PartType/MarkdownPart, Extension/HubsExtension/PartType/ResourceGroupMapPinnedPart, ResourceGroups, Extension/Microsoft_Azure_RecoveryServices/PartType/ResourcePart, RecoveryServicesResource, Extension/Microsoft_Azure_Automation/PartType/InferredBladePinPartAccountDashboardBlade, Account, Extension/Microsoft_OperationsManagementSuite_Workspace/PartType/WorkspacePart, Workspace, Extension/Microsoft_Azure_RecoveryServices/Blade/ResourceBlade/Lens/BackupItemsLens/PartInstance/BackupProtectedItemsSummaryPart, Extension/Microsoft_Azure_Automation/Blade/AccountDashboardBlade/Lens/ResourcesLens/PartInstance/RunbooksCollectionPart, Extension/Microsoft_OperationsManagementSuite_Workspace/Blade/WorkspaceBlade/Lens/ManagementLens/PartInstance/LogSearchPart, Extension/Microsoft_Azure_Automation/Blade/AccountDashboardBlade/Lens/ResourcesLens/PartInstance/DsConfigurationsCollectionPart, Extension/Microsoft_OperationsManagementSuite_Workspace/Blade/WorkspaceBlade/Lens/ManagementLens/PartInstance/OverviewPart, MsPortalFx.Composition.Configuration.ValueTypes.TimeRange, string, runbooks, replicationFabrics, replicationPolicies, Microsoft.OperationalInsights/workspaces, datasources, Microsoft.OperationsManagement/solutions