diff --git a/virtual-machines/n-tier-linux/extensions/linux/install-cassandra.sh b/scripts/linux/install-cassandra.sh
similarity index 100%
rename from virtual-machines/n-tier-linux/extensions/linux/install-cassandra.sh
rename to scripts/linux/install-cassandra.sh
diff --git a/virtual-machines/n-tier-linux/extensions/linux/install-opscenter.sh b/scripts/linux/install-opscenter.sh
similarity index 100%
rename from virtual-machines/n-tier-linux/extensions/linux/install-opscenter.sh
rename to scripts/linux/install-opscenter.sh
diff --git a/virtual-machines/n-tier-linux/Deploy-ReferenceArchitecture.ps1 b/virtual-machines/n-tier-linux/Deploy-ReferenceArchitecture.ps1
deleted file mode 100644
index b2710f7ae..000000000
--- a/virtual-machines/n-tier-linux/Deploy-ReferenceArchitecture.ps1
+++ /dev/null
@@ -1,88 +0,0 @@
-#
-# Deploy_ReferenceArchitecture.ps1
-#
-param(
- [Parameter(Mandatory=$true)]
- $SubscriptionId,
- [Parameter(Mandatory=$false)]
- $Location = "Central US"
-)
-
-$OSType = "Linux"
-
-$ErrorActionPreference = "Stop"
-
-$templateRootUriString = $env:TEMPLATE_ROOT_URI
-if ($templateRootUriString -eq $null) {
- $templateRootUriString = "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/"
-}
-
-if (![System.Uri]::IsWellFormedUriString($templateRootUriString, [System.UriKind]::Absolute)) {
- throw "Invalid value for TEMPLATE_ROOT_URI: $env:TEMPLATE_ROOT_URI"
-}
-
-Write-Host
-Write-Host "Using $templateRootUriString to locate templates"
-Write-Host
-
-Write-Host
-Write-Host "Using $PSScriptRoot to locate parameters"
-Write-Host
-
-# Deployer templates for respective resources
-$templateRootUri = New-Object System.Uri -ArgumentList @($templateRootUriString)
-$virtualNetworkTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, 'templates/buildingBlocks/vnet-n-subnet/azuredeploy.json')
-$loadBalancedVmSetTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, 'templates/buildingBlocks/loadBalancer-backend-n-vm/azuredeploy.json')
-$virtualMachineTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, 'templates/buildingBlocks/multi-vm-n-nic-m-storage/azuredeploy.json')
-$networkSecurityGroupTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, 'templates/buildingBlocks/networkSecurityGroups/azuredeploy.json')
-$availabilitySetTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, 'templates/resources/Microsoft.Compute/virtualMachines/availabilitySet-new.json')
-
-# Template parameters for respective deployments
-$virtualNetworkParametersFile = [System.IO.Path]::Combine($PSScriptRoot, 'parameters', $OSType.ToLower(), 'virtualNetwork.parameters.json')
-$businessTierParametersFile = [System.IO.Path]::Combine($PSScriptRoot, 'parameters', $OSType.ToLower(), 'businessTier.parameters.json')
-$dataTierParametersFile = [System.IO.Path]::Combine($PSScriptRoot, 'parameters', $OSType.ToLower(), 'dataTier.parameters.json')
-$webTierParametersFile = [System.IO.Path]::Combine($PSScriptRoot, 'parameters', $OSType.ToLower(), 'webTier.parameters.json')
-$managementTierJumpboxParametersFile = [System.IO.Path]::Combine($PSScriptRoot, 'parameters', $OSType.ToLower(), 'managementTierJumpbox.parameters.json')
-$managementTierOpsParametersFile = [System.IO.Path]::Combine($PSScriptRoot, 'parameters', $OSType.ToLower(), 'managementTierOps.parameters.json')
-$networkSecurityGroupParametersFile = [System.IO.Path]::Combine($PSScriptRoot, 'parameters', $OSType.ToLower(), 'networkSecurityGroups.parameters.json')
-$availabilitySetParametersFile = [System.IO.Path]::Combine($PSScriptRoot, 'parameters', $OSType.ToLower(), 'availabilitySet.parameters.json')
-
-$resourceGroupName = "ra-ntier-cassandra-rg"
-
-# Login to Azure and select your subscription
-Login-AzureRmAccount -SubscriptionId $SubscriptionId | Out-Null
-
-# Create the resource group
-$resourceGroup = New-AzureRmResourceGroup -Name $resourceGroupName -Location $Location
-
-Write-Host "Deploying virtual network..."
-New-AzureRmResourceGroupDeployment -Name "ra-ntier-vnet-deployment" -ResourceGroupName $resourceGroup.ResourceGroupName `
- -TemplateUri $virtualNetworkTemplate.AbsoluteUri -TemplateParameterFile $virtualNetworkParametersFile
-
-Write-Host "Deploying availability set for data tier..."
-New-AzureRmResourceGroupDeployment -Name "ra-ntier-data-avset-deployment" -ResourceGroupName $resourceGroup.ResourceGroupName `
- -TemplateUri $availabilitySetTemplate.AbsoluteUri -TemplateParameterFile $availabilitySetParametersFile
-
-Write-Host "Deploying business tier..."
-New-AzureRmResourceGroupDeployment -Name "ra-ntier-biz-deployment" -ResourceGroupName $resourceGroup.ResourceGroupName `
- -TemplateUri $loadBalancedVmSetTemplate.AbsoluteUri -TemplateParameterFile $businessTierParametersFile
-
-Write-Host "Deploying data tier..."
-New-AzureRmResourceGroupDeployment -Name "ra-ntier-data-deployment" -ResourceGroupName $resourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineTemplate.AbsoluteUri -TemplateParameterFile $dataTierParametersFile
-
-Write-Host "Deploying web tier..."
-New-AzureRmResourceGroupDeployment -Name "ra-ntier-web-deployment" -ResourceGroupName $resourceGroup.ResourceGroupName `
- -TemplateUri $loadBalancedVmSetTemplate.AbsoluteUri -TemplateParameterFile $webTierParametersFile
-
-Write-Host "Deploying jumpbox in management tier..."
-New-AzureRmResourceGroupDeployment -Name "ra-ntier-mgmt-jb-deployment" -ResourceGroupName $resourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineTemplate.AbsoluteUri -TemplateParameterFile $managementTierJumpboxParametersFile
-
-Write-Host "Deploying operations center in management tier..."
-New-AzureRmResourceGroupDeployment -Name "ra-ntier-mgmt-ops-deployment" -ResourceGroupName $resourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineTemplate.AbsoluteUri -TemplateParameterFile $managementTierOpsParametersFile
-
-Write-Host "Deploying network security group"
-New-AzureRmResourceGroupDeployment -Name "ra-ntier-nsg-deployment" -ResourceGroupName $resourceGroup.ResourceGroupName `
- -TemplateUri $networkSecurityGroupTemplate.AbsoluteUri -TemplateParameterFile $networkSecurityGroupParametersFile
diff --git a/virtual-machines/n-tier-linux/Deployment.targets b/virtual-machines/n-tier-linux/Deployment.targets
deleted file mode 100644
index f3be9fe9a..000000000
--- a/virtual-machines/n-tier-linux/Deployment.targets
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
- Debug
- AnyCPU
- bin\$(Configuration)\
- false
- true
- false
- None
- obj\
- $(BaseIntermediateOutputPath)\
- $(BaseIntermediateOutputPath)$(Configuration)\
- $(IntermediateOutputPath)ProjectReferences
- $(ProjectReferencesOutputPath)\
- true
-
-
-
- false
- false
-
-
-
-
-
-
-
-
-
-
- Always
-
-
- Never
-
-
- false
- Build
-
-
-
-
-
-
-
- _GetDeploymentProjectContent;
- _CalculateContentOutputRelativePaths;
- _GetReferencedProjectsOutput;
- _CalculateArtifactStagingDirectory;
- _CopyOutputToArtifactStagingDirectory;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Configuration=$(Configuration);Platform=$(Platform)
-
-
-
-
-
-
- $([System.IO.Path]::GetFileNameWithoutExtension('%(ProjectReference.Identity)'))
-
-
-
-
-
-
- $(OutDir)
- $(OutputPath)
- $(ArtifactStagingDirectory)\
- $(ArtifactStagingDirectory)staging\
- $(Build_StagingDirectory)
-
-
-
-
-
-
- <_OriginalIdentity>%(DeploymentProjectContentOutput.Identity)
- <_RelativePath>$(_OriginalIdentity.Replace('$(MSBuildProjectDirectory)', ''))
-
-
-
-
- $(_RelativePath)
-
-
-
-
-
-
-
-
- PrepareForRun
-
-
-
-
-
-
-
-
-
-
-
diff --git a/virtual-machines/n-tier-linux/azuredeploy.json b/virtual-machines/n-tier-linux/azuredeploy.json
deleted file mode 100644
index 1f6213443..000000000
--- a/virtual-machines/n-tier-linux/azuredeploy.json
+++ /dev/null
@@ -1,191 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "templateRootUri": {
- "type": "string",
- "defaultValue": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/",
- "metadata": {
- "description": "Root path for templates"
- }
- },
- "parameterRootUri": {
- "type": "string",
- "defaultValue": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/",
- "metadata": {
- "decription": "Root path for parameters"
- }
- }
- },
- "variables": {
- "templates": {
- "deployment": {
- "loadBalancer": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/loadBalancer-backend-n-vm/azuredeploy.json')]",
- "virtualNetwork": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/vnet-n-subnet/azuredeploy.json')]",
- "virtualMachine": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/multi-vm-n-nic-m-storage/azuredeploy.json')]",
- "networkSecurityGroup": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/networkSecurityGroups/azuredeploy.json')]",
- "availabilitySet": "[concat(parameters('templateRootUri'), 'templates/resources/Microsoft.Compute/virtualMachines/availabilitySet-new.json')]"
- },
- "parameter": {
- "virtualNetwork": "[concat(parameters('parameterRootUri'), 'virtual-machines/n-tier-linux/parameters/linux/virtualNetwork.parameters.json')]",
- "networkSecurityGroup": "[concat(parameters('parameterRootUri'), 'virtual-machines/n-tier-linux/parameters/linux/networkSecurityGroups.parameters.json')]",
- "webTier": "[concat(parameters('parameterRootUri'), 'virtual-machines/n-tier-linux/parameters/linux/webTier.parameters.json')]",
- "dataTier": "[concat(parameters('parameterRootUri'), 'virtual-machines/n-tier-linux/parameters/linux/dataTier.parameters.json')]",
- "businessTier": "[concat(parameters('parameterRootUri'), 'virtual-machines/n-tier-linux/parameters/linux/businessTier.parameters.json')]",
- "managementTierJumpbox": "[concat(parameters('parameterRootUri'), 'virtual-machines/n-tier-linux/parameters/linux/managementTierJumpbox.parameters.json')]",
- "availabilitySet": "[concat(parameters('parameterRootUri'), 'virtual-machines/n-tier-linux/parameters/linux/availabilitySet.parameters.json')]",
- "managementTierOps": "[concat(parameters('parameterRootUri'), 'virtual-machines/n-tier-linux/parameters/linux/managementTierOps.parameters.json')]"
- }
- }
- },
- "resources": [
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-data-avset-deployment",
- "dependsOn": [
- "Microsoft.Resources/deployments/ra-ntier-vnet-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.availabilitySet]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.availabilitySet]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-vnet-deployment",
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualNetwork]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.virtualNetwork]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-web-deployment",
- "dependsOn": [
- "Microsoft.Resources/deployments/ra-ntier-vnet-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.loadBalancer]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.webTier]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-biz-deployment",
- "dependsOn": [
- "Microsoft.Resources/deployments/ra-ntier-vnet-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.loadBalancer]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.businessTier]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-data-deployment",
- "dependsOn": [
- "Microsoft.Resources/deployments/ra-ntier-vnet-deployment",
- "Microsoft.Resources/deployments/ra-ntier-data-avset-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualMachine]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.dataTier]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-mgmt-jb-deployment",
- "dependsOn": [
- "Microsoft.Resources/deployments/ra-ntier-vnet-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualMachine]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.managementTierJumpbox]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-mgmt-ops-deployment",
- "dependsOn": [
- "Microsoft.Resources/deployments/ra-ntier-vnet-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualMachine]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.managementTierOps]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "name": "ra-ntier-nsg-deployment",
- "apiVersion": "2015-01-01",
- "dependsOn": [
- "Microsoft.Resources/deployments/ra-ntier-vnet-deployment",
- "Microsoft.Resources/deployments/ra-ntier-mgmt-jb-deployment",
- "Microsoft.Resources/deployments/ra-ntier-mgmt-ops-deployment",
- "Microsoft.Resources/deployments/ra-ntier-data-deployment",
- "Microsoft.Resources/deployments/ra-ntier-biz-deployment",
- "Microsoft.Resources/deployments/ra-ntier-web-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.networkSecurityGroup]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.networkSecurityGroup]",
- "contentVersion": "1.0.0.0"
- }
- }
- }
- ]
-}
-
diff --git a/virtual-machines/n-tier-linux/deploy-reference-architecture.sh b/virtual-machines/n-tier-linux/deploy-reference-architecture.sh
deleted file mode 100644
index 14c62ca19..000000000
--- a/virtual-machines/n-tier-linux/deploy-reference-architecture.sh
+++ /dev/null
@@ -1,208 +0,0 @@
-#!/bin/bash
-
-RESOURCE_GROUP_NAME="ra-ntier-cassandra-rg"
-LOCATION="centralus"
-OS_TYPE="linux"
-
-TEMPLATE_ROOT_URI=${TEMPLATE_ROOT_URI:="https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/"}
-# Make sure we have a trailing slash
-[[ "${TEMPLATE_ROOT_URI}" != */ ]] && TEMPLATE_ROOT_URI="${TEMPLATE_ROOT_URI}/"
-
-# For validating HTTP URIs only
-URI_REGEX="^((?:https?://(?:(?:[a-zA-Z0-9$.+!*(),;?&=_-]|(?:%[a-fA-F0-9]{2})){1,64}(?::(?:[a-zA-Z0-9$.+!*(),;?&=_-]|(?:%[a-fA-F0-9]{2})){1,25})?@)?)?(?:(([a-zA-Z0-9\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF]([a-zA-Z0-9\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF-]{0,61}[a-zA-Z0-9\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF]){0,1}\.)+[a-zA-Z\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF]{2,63}|((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9]))))(?::\d{1,5})?)(/(?:(?:[a-zA-Z0-9\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF;/?:@&=#~.+!*(),_-])|(?:%[a-fA-F0-9]{2}))*)?(?:\b|$)$"
-
-validate() {
- for i in "${@:2}"; do
- if [[ "$1" == "$i" ]]
- then
- return 1
- fi
- done
-
- return 0
-}
-
-validateNotEmpty() {
- if [[ "$1" != "" ]]
- then
- return 1
- else
- return 0
- fi
-}
-
-showErrorAndUsage() {
- echo
- if [[ "$1" != "" ]]
- then
- echo " error: $1"
- echo
- fi
-
- echo " usage: $(basename ${0}) [options]"
- echo " options:"
- echo " -l, --location "
- echo " -s, --subscription "
- echo
- exit 1
-}
-
-if [[ $# < 1 ]]
-then
- showErrorAndUsage
-fi
-
-while [[ $# > 0 ]]
-do
- key="$1"
- case $key in
- -s|--subscription)
- # Explicitly set the subscription to avoid confusion as to which subscription
- # is active/default
- SUBSCRIPTION_ID="$2"
- shift
- ;;
- -l|--location)
- LOCATION="$2"
- shift
- ;;
- *)
- showErrorAndUsage "Unknown option: $1"
- ;;
- esac
- shift
-done
-
-if ! [[ $SUBSCRIPTION_ID =~ ^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$ ]];
-then
- showErrorAndUsage "Invalid Subscription ID"
-fi
-
-if validateNotEmpty $LOCATION;
-then
- showErrorAndUsage "Location must be provided"
-fi
-
-if grep -P -v $URI_REGEX <<< $TEMPLATE_ROOT_URI > /dev/null
-then
- showErrorAndUsage "Invalid value for TEMPLATE_ROOT_URI: ${TEMPLATE_ROOT_URI}"
-fi
-
-echo
-echo "Using ${TEMPLATE_ROOT_URI} to locate templates"
-echo
-
-SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-
-echo
-echo "Using ${SCRIPT_DIR} to locate parameters"
-echo
-
-VIRTUAL_NETWORK_TEMPLATE_URI="${TEMPLATE_ROOT_URI}templates/buildingBlocks/vnet-n-subnet/azuredeploy.json"
-VIRTUAL_NETWORK_PARAMETERS_PATH="${SCRIPT_DIR}/parameters/${OS_TYPE}/virtualNetwork.parameters.json"
-VIRTUAL_NETWORK_DEPLOYMENT_NAME="ra-ntier-vnet-deployment"
-
-AVAILABILITY_SET_TEMPLATE_URI="${TEMPLATE_ROOT_URI}templates/resources/Microsoft.Compute/virtualMachines/availabilitySet-new.json"
-AVAILABILITY_SET_PARAMETERS_PATH="${SCRIPT_DIR}/parameters/${OS_TYPE}/availabilitySet.parameters.json"
-AVAILABILITY_SET_DEPLOYMENT_NAME="ra-ntier-data-avset-deployment"
-
-VIRTUAL_MACHINE_TEMPLATE_URI="${TEMPLATE_ROOT_URI}templates/buildingBlocks/multi-vm-n-nic-m-storage/azuredeploy.json"
-
-MGMT_TIER_JUMPBOX_PARAMETERS_PATH="${SCRIPT_DIR}/parameters/${OS_TYPE}/managementTierJumpbox.parameters.json"
-MGMT_TIER_JUMPBOX_DEPLOYMENT_NAME="ra-ntier-mgmt-jb-deployment"
-
-MGMT_TIER_OPS_PARAMETERS_PATH="${SCRIPT_DIR}/parameters/${OS_TYPE}/managementTierOps.parameters.json"
-MGMT_TIER_OPS_DEPLOYMENT_NAME="ra-ntier-mgmt-ops-deployment"
-
-LOAD_BALANCER_TEMPLATE_URI="${TEMPLATE_ROOT_URI}templates/buildingBlocks/loadBalancer-backend-n-vm/azuredeploy.json"
-
-WEB_TIER_PARAMETERS_PATH="${SCRIPT_DIR}/parameters/${OS_TYPE}/webTier.parameters.json"
-WEB_TIER_DEPLOYMENT_NAME="ra-ntier-web-deployment"
-
-BIZ_TIER_PARAMETERS_PATH="${SCRIPT_DIR}/parameters/${OS_TYPE}/businessTier.parameters.json"
-BIZ_TIER_DEPLOYMENT_NAME="ra-ntier-biz-deployment"
-
-DATA_TIER_PARAMETERS_PATH="${SCRIPT_DIR}/parameters/${OS_TYPE}/dataTier.parameters.json"
-DATA_TIER_DEPLOYMENT_NAME="ra-ntier-data-deployment"
-
-NETWORK_SECURITY_GROUP_TEMPLATE_URI="${TEMPLATE_ROOT_URI}templates/buildingBlocks/networkSecurityGroups/azuredeploy.json"
-NETWORK_SECURITY_GROUP_PARAMETERS_PATH="${SCRIPT_DIR}/parameters/${OS_TYPE}/networkSecurityGroups.parameters.json"
-NETWORK_SECURITY_GROUP_DEPLOYMENT_NAME="ra-ntier-nsg-deployment"
-
-azure config mode arm
-
-# Create the resource group, saving the output for later.
-RESOURCE_GROUP_OUTPUT=$(azure group create --name $RESOURCE_GROUP_NAME --location $LOCATION --subscription $SUBSCRIPTION_ID --json)
-
-# Create the virtual network
-echo "Deploying virtual network..."
-azure group deployment create --resource-group $RESOURCE_GROUP_NAME --name $VIRTUAL_NETWORK_DEPLOYMENT_NAME \
---template-uri $VIRTUAL_NETWORK_TEMPLATE_URI --parameters-file $VIRTUAL_NETWORK_PARAMETERS_PATH \
---subscription $SUBSCRIPTION_ID
-
-# Create availability set for Cassandra cluster
-echo "Deploying availability set for data tier..."
-azure group deployment create --resource-group $RESOURCE_GROUP_NAME --name $AVAILABILITY_SET_DEPLOYMENT_NAME \
---template-uri $AVAILABILITY_SET_TEMPLATE_URI --parameters-file $AVAILABILITY_SET_PARAMETERS_PATH \
---subscription $SUBSCRIPTION_ID
-
-echo "Deploying web tier..."
-azure group deployment create --resource-group $RESOURCE_GROUP_NAME --name $WEB_TIER_DEPLOYMENT_NAME \
---template-uri $LOAD_BALANCER_TEMPLATE_URI --parameters-file $WEB_TIER_PARAMETERS_PATH \
---subscription $SUBSCRIPTION_ID
-
-echo "Deploying business tier..."
-azure group deployment create --resource-group $RESOURCE_GROUP_NAME --name $BIZ_TIER_DEPLOYMENT_NAME \
---template-uri $LOAD_BALANCER_TEMPLATE_URI --parameters-file $BIZ_TIER_PARAMETERS_PATH \
---subscription $SUBSCRIPTION_ID
-
-echo "Deploying data tier..."
-azure group deployment create --resource-group $RESOURCE_GROUP_NAME --name $DATA_TIER_DEPLOYMENT_NAME \
---template-uri $VIRTUAL_MACHINE_TEMPLATE_URI --parameters-file $DATA_TIER_PARAMETERS_PATH \
---subscription $SUBSCRIPTION_ID
-
-echo "Deploying jumpbox in management tier..."
-azure group deployment create --resource-group $RESOURCE_GROUP_NAME --name $MGMT_TIER_JUMPBOX_DEPLOYMENT_NAME \
---template-uri $VIRTUAL_MACHINE_TEMPLATE_URI --parameters-file $MGMT_TIER_JUMPBOX_PARAMETERS_PATH \
---subscription $SUBSCRIPTION_ID
-
-echo "Deploying operations center in management tier..."
-azure group deployment create --resource-group $RESOURCE_GROUP_NAME --name $MGMT_TIER_OPS_DEPLOYMENT_NAME \
---template-uri $VIRTUAL_MACHINE_TEMPLATE_URI --parameters-file $MGMT_TIER_OPS_PARAMETERS_PATH \
---subscription $SUBSCRIPTION_ID
-
-echo "Deploying network security group..."
-azure group deployment create --resource-group $RESOURCE_GROUP_NAME --name $NETWORK_SECURITY_GROUP_DEPLOYMENT_NAME \
---template-uri $NETWORK_SECURITY_GROUP_TEMPLATE_URI --parameters-file $NETWORK_SECURITY_GROUP_PARAMETERS_PATH \
---subscription $SUBSCRIPTION_ID
-
-# Display json output
-echo "==================================="
-
-echo $RESOURCE_GROUP_OUTPUT
-
-azure group deployment show --resource-group $RESOURCE_GROUP_NAME --name $VIRTUAL_NETWORK_DEPLOYMENT_NAME \
---subscription $SUBSCRIPTION_ID --json
-
-azure group deployment show --resource-group $RESOURCE_GROUP_NAME --name $AVAILABILITY_SET_DEPLOYMENT_NAME \
---subscription $SUBSCRIPTION_ID --json
-
-azure group deployment show --resource-group $RESOURCE_GROUP_NAME --name $WEB_TIER_DEPLOYMENT_NAME \
---subscription $SUBSCRIPTION_ID --json
-
-azure group deployment show --resource-group $RESOURCE_GROUP_NAME --name $BIZ_TIER_DEPLOYMENT_NAME \
---subscription $SUBSCRIPTION_ID --json
-
-azure group deployment show --resource-group $RESOURCE_GROUP_NAME --name $DATA_TIER_DEPLOYMENT_NAME \
---subscription $SUBSCRIPTION_ID --json
-
-azure group deployment show --resource-group $RESOURCE_GROUP_NAME --name $MGMT_TIER_JUMPBOX_DEPLOYMENT_NAME \
---subscription $SUBSCRIPTION_ID --json
-
-azure group deployment show --resource-group $RESOURCE_GROUP_NAME --name $MGMT_TIER_OPS_DEPLOYMENT_NAME \
---subscription $SUBSCRIPTION_ID --json
-
-azure group deployment show --resource-group $RESOURCE_GROUP_NAME --name $NETWORK_SECURITY_GROUP_DEPLOYMENT_NAME \
---subscription $SUBSCRIPTION_ID --json
-
-echo "==================================="
diff --git a/virtual-machines/n-tier-linux/extensions/linux/cassandra-mapper.json b/virtual-machines/n-tier-linux/extensions/linux/cassandra-mapper.json
deleted file mode 100644
index 09f79ba2f..000000000
--- a/virtual-machines/n-tier-linux/extensions/linux/cassandra-mapper.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "deploymentContext": { "type": "object" },
- "source": { "type": "object" },
- "context": { "type": "object" }
- },
- "variables": {
- "scriptName": "install-cassandra.sh",
- "refArchPrefix": "ra-ntier-",
- "cassandraInstallerUri": "[uri(deployment().properties.templateLink.uri, variables('scriptName'))]",
- "dataCenterName": "[concat(variables('refArchPrefix'), 'dc-', variables('location'))]",
- "location": "[resourceGroup().location]",
- "seedNodeName": "rantierdatanode1",
- "opsCenterNodeName": "rantierops1",
- "instance": {
- "settings": {
- "fileUris": [ "[variables('cassandraInstallerUri')]" ],
- "commandToExecute": "[concat('bash ', variables('scriptName'), ' ', variables('seedNodeName'), ' ', variables('opsCenterNodeName'), ' ', variables('dataCenterName'), ' ', variables('location'))]"
- },
- "protectedSettings": { }
- }
- },
- "resources": [ ],
- "outputs": {
- "settings": {
- "type": "object",
- "value": "[variables('instance')]"
- }
- }
-}
\ No newline at end of file
diff --git a/virtual-machines/n-tier-linux/extensions/linux/install-apache.sh b/virtual-machines/n-tier-linux/extensions/linux/install-apache.sh
deleted file mode 100644
index d558ecfe2..000000000
--- a/virtual-machines/n-tier-linux/extensions/linux/install-apache.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-# install-apache.sh
-#
-#!/bin/bash
-apt-get -y update
-
-# install Apache2
-apt-get -y install apache2
-
-# write some HTML
-echo \\Reference architecture multiple virtual machines\
\
\ > /var/www/html/demo.html
-
-# restart Apache
-apachectl restart
\ No newline at end of file
diff --git a/virtual-machines/n-tier-linux/extensions/linux/opscenter-mapper.json b/virtual-machines/n-tier-linux/extensions/linux/opscenter-mapper.json
deleted file mode 100644
index 858bcc1f1..000000000
--- a/virtual-machines/n-tier-linux/extensions/linux/opscenter-mapper.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "deploymentContext": { "type": "object" },
- "source": { "type": "object" },
- "context": { "type": "object" }
- },
- "variables": {
- "scriptName": "install-opscenter.sh",
- "opsCenterInstallerUri": "[uri(deployment().properties.templateLink.uri, variables('scriptName'))]",
- "seedNodeName": "rantierdatanode1",
- "location": "[resourceGroup().location]",
- "instance": {
- "settings": {
- "fileUris": [ "[variables('opsCenterInstallerUri')]" ],
- "commandToExecute": "[concat('bash ', variables('scriptName'), ' ', variables('seedNodeName'), ' ', variables('location'))]"
- },
- "protectedSettings": { }
- }
- },
- "resources": [ ],
- "outputs": {
- "settings": {
- "type": "object",
- "value": "[variables('instance')]"
- }
- }
-}
\ No newline at end of file
diff --git a/virtual-machines/n-tier-linux/guidance-compute-ntier-cassandra.deployproj b/virtual-machines/n-tier-linux/guidance-compute-ntier-cassandra.deployproj
deleted file mode 100644
index c39ff83cd..000000000
--- a/virtual-machines/n-tier-linux/guidance-compute-ntier-cassandra.deployproj
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
-
-
- Release
- AnyCPU
-
-
-
- 37bd5438-1465-443b-8826-a112cca2e409
-
-
- Deployment
- 1.0
-
-
-
-
-
-
-
-
-
-
-
-
-
- False
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/virtual-machines/n-tier-linux/n-tier-linux.json b/virtual-machines/n-tier-linux/n-tier-linux.json
new file mode 100644
index 000000000..795cda89f
--- /dev/null
+++ b/virtual-machines/n-tier-linux/n-tier-linux.json
@@ -0,0 +1,461 @@
+{
+ "$schema": "https://raw.githubusercontent.com/mspnp/template-building-blocks/master/schemas/buildingBlocks.json",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "buildingBlocks": {
+ "value": [
+ {
+ "type": "VirtualNetwork",
+ "settings": [
+ {
+ "name": "ra-ntier-vnet",
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ],
+ "subnets": [
+ {
+ "name": "web",
+ "addressPrefix": "10.0.1.0/24"
+ },
+ {
+ "name": "biz",
+ "addressPrefix": "10.0.2.0/24"
+ },
+ {
+ "name": "data",
+ "addressPrefix": "10.0.3.0/24"
+ },
+ {
+ "name": "mgmt",
+ "addressPrefix": "10.0.0.128/25"
+ },
+ {
+ "name": "appgateway",
+ "addressPrefix": "10.0.4.0/25"
+ }
+ ],
+ "dnsServers": []
+ }
+ ]
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 3,
+ "namePrefix": "web",
+ "computerNamePrefix": "web",
+ "adminUsername": "testadminuser",
+ "adminPassword": "test$!Passw0rd111",
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "isPrimary": true,
+ "isPublic": false,
+ "privateIPAllocationMethod": "Static",
+ "startingIPAddress": "10.0.1.5",
+ "subnetName": "web"
+ }
+ ],
+ "osType": "linux",
+ "extensions": [
+ {
+ "name": "apache-config-ext",
+ "publisher": "Microsoft.Azure.Extensions",
+ "type": "CustomScript",
+ "typeHandlerVersion": "2.0",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "fileUris": [
+ "https://raw.githubusercontent.com/mspnp/reference-architectures/master/scripts/linux/install-apache.sh"
+ ],
+ "commandToExecute": "sh install-apache.sh"
+ },
+ "protectedSettings": {}
+ }
+ ],
+ "applicationGatewaySettings": {
+ "name": "webAppGateway",
+ "sku": {
+ "size": "Medium",
+ "capacity": 2,
+ "tier": "WAF"
+ },
+ "gatewayIPConfigurations": [
+ {
+ "name": "webIPConfig",
+ "subnetName": "appgateway"
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "webFrontEndIPConfig1",
+ "applicationGatewayType": "Public"
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "webFrontEndPort1",
+ "port": 80
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "webBackendAddressPool",
+ "backendAddresses": [
+ {
+ "ipAddress": "10.0.1.5"
+ },
+ {
+ "ipAddress": "10.0.1.6"
+ },
+ {
+ "ipAddress": "10.0.1.7"
+ }
+ ]
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "webBackendHttpSetting1",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled"
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "webHttpListener1",
+ "frontendIPConfigurationName": "webFrontEndIPConfig1",
+ "frontendPortName": "webFrontEndPort1",
+ "protocol": "Http"
+ }
+ ],
+ "requestRoutingRules": [
+ {
+ "name": "webRule1",
+ "ruleType": "Basic",
+ "httpListenerName": "webHttpListener1",
+ "backendAddressPoolName": "webBackendAddressPool",
+ "backendHttpSettingsName": "webBackendHttpSetting1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 3,
+ "namePrefix": "biz",
+ "size": "Standard_DS1_v2",
+ "computerNamePrefix": "biz",
+ "adminUsername": "testadminuser",
+ "adminPassword": "test$!Passw0rd111",
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "isPrimary": true,
+ "isPublic": false,
+ "privateIPAllocationMethod": "Dynamic",
+ "subnetName": "biz",
+ "backendPoolNames": [
+ "lb-bep1"
+ ]
+ }
+ ],
+ "osType": "linux",
+ "loadBalancerSettings": {
+ "frontendIPConfigurations": [
+ {
+ "name": "ra-ntier-biz-config1",
+ "loadBalancerType": "Internal",
+ "internalLoadBalancerSettings": {
+ "privateIPAddress": "10.0.2.250",
+ "subnetName": "biz"
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "lbr1",
+ "frontendPort": 80,
+ "backendPort": 80,
+ "protocol": "Tcp",
+ "backendPoolName": "lb-bep1",
+ "frontendIPConfigurationName": "ra-ntier-biz-config1",
+ "probeName": "lbp1",
+ "enableFloatingIP": false
+ }
+ ],
+ "probes": [
+ {
+ "name": "lbp1",
+ "port": 80,
+ "protocol": "Http",
+ "requestPath": "/"
+ }
+ ],
+ "backendPools": [
+ {
+ "name": "lb-bep1",
+ "nicIndex": 0
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 6,
+ "namePrefix": "data",
+ "size": "Standard_DS1_v2",
+ "computerNamePrefix": "data",
+ "adminUsername": "testadminuser",
+ "adminPassword": "test$!Passw0rd111",
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "isPublic": true,
+ "isPrimary": true,
+ "subnetName": "data",
+ "privateIPAllocationMethod": "Dynamic",
+ "domainNameLabelPrefix": "rantierdatanode",
+ "dnsServers": [ ]
+ }
+ ],
+ "osType": "linux",
+ "extensions": [
+ {
+ "name": "install-cassandra",
+ "publisher": "Microsoft.Azure.Extensions",
+ "type": "CustomScript",
+ "typeHandlerVersion": "2.0",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "fileUris": [
+ "https://raw.githubusercontent.com/mspnp/reference-architectures/master/scripts/linux/install-cassandra.sh"
+ ],
+ "commandToExecute": "[concat('bash install-cassandra.sh rantierdatanode11 rantierops1 ra-ntier-dc-',resourceGroup().location,' ',resourceGroup().location)]"
+ },
+ "protectedSettings": {}
+ }
+ ]
+ }
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 1,
+ "namePrefix": "ops",
+ "computerNamePrefix": "ops",
+ "size": "Standard_DS1_v2",
+ "adminUsername": "testadminuser",
+ "adminPassword": "test$!Passw0rd111",
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "isPublic": true,
+ "isPrimary": true,
+ "privateIPAllocationMethod": "Dynamic",
+ "subnetName": "mgmt",
+ "domainNameLabelPrefix": "rantierops",
+ "dnsServers": [ ]
+ }
+ ],
+ "osType": "linux",
+ "extensions": [
+ {
+ "name": "install-opscenter",
+ "publisher": "Microsoft.Azure.Extensions",
+ "type": "CustomScript",
+ "typeHandlerVersion": "2.0",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "fileUris": [
+ "https://raw.githubusercontent.com/mspnp/reference-architectures/master/scripts/linux/install-opscenter.sh"
+ ],
+ "commandToExecute": "[concat('sudo bash install-opscenter.sh rantierdatanode11 ', resourceGroup().location)]"
+ },
+ "protectedSettings": {}
+ }
+ ]
+ }
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 1,
+ "namePrefix": "jb",
+ "computerNamePrefix": "jb",
+ "size": "Standard_DS1_v2",
+ "adminUsername": "testadminuser",
+ "adminPassword": "test$!Passw0rd111",
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "isPublic": true,
+ "isPrimary": true,
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAllocationMethod": "Dynamic",
+ "subnetName": "mgmt",
+ "name": "jb-vm1-nic1"
+ }
+ ],
+ "osType": "linux"
+ }
+ },
+ {
+ "type": "NetworkSecurityGroup",
+ "settings": [
+ {
+ "name": "ra-ntier-appgateway-nsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "appgateway"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "HTTP",
+ "priority": 100
+ }
+ ]
+ },
+ {
+ "name": "ra-ntier-web-nsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "web"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "HTTP",
+ "sourceAddressPrefix": "10.0.4.0/25",
+ "priority": 100
+ },
+ {
+ "name": "SSH",
+ "sourceAddressPrefix": "10.0.0.128/25",
+ "priority": 110
+ }
+ ]
+ },
+ {
+ "name": "ra-ntier-biz-nsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "biz"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "HTTP",
+ "sourceAddressPrefix": "10.0.1.0/24",
+ "priority": 100
+ }
+ ]
+ },
+ {
+ "name": "ra-ntier-data-nsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "data"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "SSH",
+ "priority": 100,
+ "sourceAddressPrefix": "10.0.0.128/25"
+ },
+ {
+ "name": "allow-ops-center-http",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": "8888-65535",
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 110,
+ "direction": "Inbound"
+ },
+ {
+ "name": "Cassandra",
+ "priority": 120
+ },
+ {
+ "name": "Cassandra-JMX",
+ "priority": 130
+ }
+ ]
+ },
+ {
+ "name": "ra-ntier-mgmt-ops-nsg",
+ "networkInterfaces": [
+ {
+ "name": "ops-vm1-nic1"
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "SSH",
+ "priority": 100,
+ "sourceAddressPrefix": "10.0.0.128/25"
+ },
+ {
+ "name": "allow-http",
+ "protocol": "*",
+ "sourcePortRange": "*",
+ "destinationPortRange": 8888,
+ "sourceAddressPrefix": "*",
+ "destinationAddressPrefix": "*",
+ "access": "Allow",
+ "priority": 110,
+ "direction": "Inbound"
+ }
+ ]
+ },
+ {
+ "name": "ra-ntier-mgmt-jb-nsg",
+ "networkInterfaces": [
+ {
+ "name": "jb-vm1-nic1"
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "SSH",
+ "priority": 100
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/virtual-machines/n-tier-linux/parameters/linux/availabilitySet.parameters.json b/virtual-machines/n-tier-linux/parameters/linux/availabilitySet.parameters.json
deleted file mode 100644
index 0dca45e98..000000000
--- a/virtual-machines/n-tier-linux/parameters/linux/availabilitySet.parameters.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "availabilitySetSettings": {
- "value": {
- "name": "ra-ntier-data-as"
- }
- },
- "platformFaultDomainCount": {
- "value": 3
- },
- "platformUpdateDomainCount": {
- "value": 18
- }
- }
-}
diff --git a/virtual-machines/n-tier-linux/parameters/linux/businessTier.parameters.json b/virtual-machines/n-tier-linux/parameters/linux/businessTier.parameters.json
deleted file mode 100644
index ca81da0cd..000000000
--- a/virtual-machines/n-tier-linux/parameters/linux/businessTier.parameters.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "loadBalancerSettings": {
- "value": {
- "name": "ra-ntier-biz-lb",
- "frontendIPConfigurations": [
- {
- "name": "ra-ntier-biz-lb-fe-config1",
- "loadBalancerType": "internal",
- "domainNameLabel": "",
- "internalLoadBalancerSettings": {
- "privateIPAddress": "10.0.2.250",
- "subnetName": "biz"
- }
- }
- ],
- "loadBalancingRules": [
- {
- "name": "lbr1",
- "frontendPort": 80,
- "backendPort": 80,
- "protocol": "Tcp",
- "backendPoolName": "lb-bep1",
- "frontendIPConfigurationName": "ra-ntier-biz-lb-fe-config1",
- "probeName": "lbp1",
- "enableFloatingIP": false
- }
- ],
- "probes": [
- {
- "name": "lbp1",
- "port": 80,
- "protocol": "Http",
- "requestPath": "/"
- }
- ],
- "backendPools": [
- {
- "name": "lb-bep1",
- "nicIndex": 0
- }
- ],
- "inboundNatRules": [ ]
- }
- },
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-biz",
- "computerNamePrefix": "biz",
- "size": "Standard_DS1",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "osType": "linux",
- "osAuthenticationType": "password",
- "sshPublicKey": "",
- "nics": [
- {
- "isPublic": "false",
- "isPrimary": "true",
- "subnetName": "biz",
- "privateIPAllocationMethod": "dynamic",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "",
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "14.04.5-LTS",
- "version": "latest"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [ ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": "ra-ntier-biz-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-vnet",
- "resourceGroup": "ra-ntier-cassandra-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 3,
- "vmCount": 3,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-linux/parameters/linux/dataTier.parameters.json b/virtual-machines/n-tier-linux/parameters/linux/dataTier.parameters.json
deleted file mode 100644
index 24ebfb10e..000000000
--- a/virtual-machines/n-tier-linux/parameters/linux/dataTier.parameters.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-data",
- "computerNamePrefix": "data",
- "size": "Standard_DS1",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "osType": "linux",
- "osAuthenticationType": "password",
- "sshPublicKey": "",
- "nics": [
- {
- "isPublic": "true",
- "isPrimary": "true",
- "subnetName": "data",
- "publicIPAllocationMethod": "dynamic",
- "privateIPAllocationMethod": "dynamic",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "rantierdatanode",
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "14.04.5-LTS",
- "version": "latest"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- {
- "name": "ra-ntier-install-cassandra-ext",
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-linux/extensions/linux/cassandra-mapper.json",
- "publisher": "Microsoft.OSTCExtensions",
- "type": "CustomScriptForLinux",
- "typeHandlerVersion": "1.5",
- "autoUpgradeMinorVersion": true,
- "properties": {}
- }
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "Yes",
- "name": "ra-ntier-data-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-vnet",
- "resourceGroup": "ra-ntier-cassandra-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 6,
- "vmCount": 6,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-linux/parameters/linux/managementTierJumpbox.parameters.json b/virtual-machines/n-tier-linux/parameters/linux/managementTierJumpbox.parameters.json
deleted file mode 100644
index 065979451..000000000
--- a/virtual-machines/n-tier-linux/parameters/linux/managementTierJumpbox.parameters.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-mgmt",
- "computerNamePrefix": "jumpbox",
- "size": "Standard_DS1",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "osType": "linux",
- "osAuthenticationType": "password",
- "sshPublicKey": "",
- "nics": [
- {
- "isPublic": "true",
- "isPrimary": "true",
- "subnetName": "mgmt",
- "privateIPAllocationMethod": "dynamic",
- "publicIPAllocationMethod": "static",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "",
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "14.04.5-LTS",
- "version": "latest"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [ ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": ""
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-vnet",
- "resourceGroup": "ra-ntier-cassandra-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 1,
- "vmCount": 1,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-linux/parameters/linux/managementTierOps.parameters.json b/virtual-machines/n-tier-linux/parameters/linux/managementTierOps.parameters.json
deleted file mode 100644
index ccc355095..000000000
--- a/virtual-machines/n-tier-linux/parameters/linux/managementTierOps.parameters.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-ops",
- "computerNamePrefix": "opscenter",
- "size": "Standard_DS1",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "osType": "linux",
- "osAuthenticationType": "password",
- "sshPublicKey": "",
- "nics": [
- {
- "isPublic": "true",
- "isPrimary": "true",
- "subnetName": "mgmt",
- "privateIPAllocationMethod": "dynamic",
- "publicIPAllocationMethod": "dynamic",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "rantierops",
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "14.04.5-LTS",
- "version": "latest"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- {
- "name": "ra-ntier-install-opscenter-ext",
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-linux/extensions/linux/opscenter-mapper.json",
- "publisher": "Microsoft.OSTCExtensions",
- "type": "CustomScriptForLinux",
- "typeHandlerVersion": "1.5",
- "autoUpgradeMinorVersion": true,
- "properties": { }
- }
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": ""
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-vnet",
- "resourceGroup": "ra-ntier-cassandra-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 1,
- "vmCount": 1,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-linux/parameters/linux/networkSecurityGroups.parameters.json b/virtual-machines/n-tier-linux/parameters/linux/networkSecurityGroups.parameters.json
deleted file mode 100644
index a28593450..000000000
--- a/virtual-machines/n-tier-linux/parameters/linux/networkSecurityGroups.parameters.json
+++ /dev/null
@@ -1,247 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-vnet",
- "resourceGroup": "ra-ntier-cassandra-rg"
- }
- },
- "networkSecurityGroupsSettings": {
- "value": [
- {
- "name": "ra-ntier-biz-nsg",
- "subnets": [
- "biz"
- ],
- "networkInterfaces": [
- ],
- "securityRules": [
- {
- "name": "allow-web-traffic",
- "description": "Allow traffic originating from web layer.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "80",
- "sourceAddressPrefix": "10.0.1.0/24",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "allow-mgmt-ssh",
- "direction": "Inbound",
- "priority": 110,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "22",
- "access": "Allow",
- "protocol": "Tcp"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "ra-ntier-web-nsg",
- "subnets": [
- "web"
- ],
- "networkInterfaces": [
- ],
- "securityRules": [
- {
- "name": "allow-web-traffic-from-external",
- "description": "Allow web traffic originating externally.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "80",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "allow-web-traffic-from-vnet",
- "description": "Allow web traffic originating from vnet.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "80",
- "sourceAddressPrefix": "10.0.0.0/16",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 110,
- "direction": "Inbound"
- },
- {
- "name": "allow-mgmt-ssh",
- "direction": "Inbound",
- "priority": 120,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "22",
- "access": "Allow",
- "protocol": "Tcp"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 130,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "ra-ntier-mgmt-jb-nsg",
- "subnets": [ ],
- "networkInterfaces": [
- "ra-ntier-mgmt-vm1-nic1"
- ],
- "securityRules": [
- {
- "name": "default-allow-ssh",
- "direction": "Inbound",
- "priority": 100,
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "22",
- "access": "Allow",
- "protocol": "Tcp"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "ra-ntier-mgmt-ops-nsg",
- "subnets": [ ],
- "networkInterfaces": [
- "ra-ntier-ops-vm1-nic1"
- ],
- "securityRules": [
- {
- "name": "allow-mgmt-ssh",
- "direction": "Inbound",
- "priority": 100,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "22",
- "access": "Allow",
- "protocol": "Tcp"
- },
- {
- "name": "allow-http",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "8888",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 110,
- "direction": "Inbound"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "ra-ntier-data-nsg",
- "subnets": [
- "data"
- ],
- "networkInterfaces": [
- ],
- "securityRules": [
- {
- "name": "allow-mgmt-ssh",
- "direction": "Inbound",
- "priority": 100,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "22",
- "access": "Allow",
- "protocol": "Tcp"
- },
- {
- "name": "allow-ops-center-http",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "8888-65535",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 110,
- "direction": "Inbound"
- },
- {
- "name": "allow-native",
- "protocol": "TCP",
- "sourcePortRange": "*",
- "destinationPortRange": "9042",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 120,
- "direction": "Inbound"
- },
- {
- "name": "allow-jmx",
- "protocol": "TCP",
- "sourcePortRange": "*",
- "destinationPortRange": "7199",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 130,
- "direction": "Inbound"
- }
- ]
- }
- ]
- }
- }
-}
diff --git a/virtual-machines/n-tier-linux/parameters/linux/virtualNetwork.parameters.json b/virtual-machines/n-tier-linux/parameters/linux/virtualNetwork.parameters.json
deleted file mode 100644
index 1910b6d37..000000000
--- a/virtual-machines/n-tier-linux/parameters/linux/virtualNetwork.parameters.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-vnet",
- "addressPrefixes": [
- "10.0.0.0/16"
- ],
- "subnets": [
- {
- "name": "web",
- "addressPrefix": "10.0.1.0/24"
- },
- {
- "name": "biz",
- "addressPrefix": "10.0.2.0/24"
- },
- {
- "name": "data",
- "addressPrefix": "10.0.3.0/24"
- },
- {
- "name": "mgmt",
- "addressPrefix": "10.0.0.128/25"
- }
- ],
- "dnsServers": [ ]
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-linux/parameters/linux/webTier.parameters.json b/virtual-machines/n-tier-linux/parameters/linux/webTier.parameters.json
deleted file mode 100644
index 13eece267..000000000
--- a/virtual-machines/n-tier-linux/parameters/linux/webTier.parameters.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "loadBalancerSettings": {
- "value": {
- "name": "ra-ntier-web-lb",
- "frontendIPConfigurations": [
- {
- "name": "ra-ntier-web-lb-fe-config1",
- "loadBalancerType": "public",
- "domainNameLabel": "",
- "internalLoadBalancerSettings": { }
- }
- ],
- "loadBalancingRules": [
- {
- "name": "lbr1",
- "frontendPort": 80,
- "backendPort": 80,
- "protocol": "Tcp",
- "backendPoolName": "lb-bep1",
- "frontendIPConfigurationName": "ra-ntier-web-lb-fe-config1",
- "probeName": "lbp1",
- "enableFloatingIP": false
- }
- ],
- "probes": [
- {
- "name": "lbp1",
- "port": 80,
- "protocol": "Http",
- "requestPath": "/"
- }
- ],
- "backendPools": [
- {
- "name": "lb-bep1",
- "nicIndex": 0
- }
- ],
- "inboundNatRules": [ ]
- }
- },
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-web",
- "computerNamePrefix": "web",
- "size": "Standard_DS1",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "osType": "linux",
- "osAuthenticationType": "password",
- "sshPublicKey": "",
- "nics": [
- {
- "isPublic": "false",
- "isPrimary": "true",
- "subnetName": "web",
- "privateIPAllocationMethod": "dynamic",
- "enableIPForwarding": false,
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "14.04.5-LTS",
- "version": "latest"
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "extensions": [
- {
- "name": "apache-config-ext",
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "publisher": "Microsoft.OSTCExtensions",
- "type": "CustomScriptForLinux",
- "typeHandlerVersion": "1.5",
- "autoUpgradeMinorVersion": true,
- "settingsConfig": {
- "fileUris": [ "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/multi-vm/extensions/linux/install-apache.sh" ],
- "commandToExecute": "sh install-apache.sh"
- },
- "protectedSettingsConfig": { }
- }
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": "ra-ntier-web-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-vnet",
- "resourceGroup": "ra-ntier-cassandra-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 3,
- "vmCount": 3,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/Deploy-ReferenceArchitecture.ps1 b/virtual-machines/n-tier-windows/Deploy-ReferenceArchitecture.ps1
deleted file mode 100644
index 409012634..000000000
--- a/virtual-machines/n-tier-windows/Deploy-ReferenceArchitecture.ps1
+++ /dev/null
@@ -1,135 +0,0 @@
-#
-# Deploy_ReferenceArchitecture.ps1
-#
-param(
- [Parameter(Mandatory=$true)]
- $SubscriptionId,
- [Parameter(Mandatory=$true)]
- $Location,
- [Parameter(Mandatory=$true)]
- [ValidateSet("Infrastructure", "Security", "Workload")]
- $Mode
-)
-
-$ErrorActionPreference = "Stop"
-
-$templateRootUriString = $env:TEMPLATE_ROOT_URI
-if ($templateRootUriString -eq $null) {
- $templateRootUriString = "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/"
-}
-
-if (![System.Uri]::IsWellFormedUriString($templateRootUriString, [System.UriKind]::Absolute)) {
- throw "Invalid value for TEMPLATE_ROOT_URI: $env:TEMPLATE_ROOT_URI"
-}
-
-Write-Host
-Write-Host "Using $templateRootUriString to locate templates"
-Write-Host
-
-$templateRootUri = New-Object System.Uri -ArgumentList @($templateRootUriString)
-
-$loadBalancerTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, "templates/buildingBlocks/loadBalancer-backend-n-vm/azuredeploy.json")
-$virtualNetworkTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, "templates/buildingBlocks/vnet-n-subnet/azuredeploy.json")
-$virtualMachineTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, "templates/buildingBlocks/multi-vm-n-nic-m-storage/azuredeploy.json")
-$virtualMachineExtensionsTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, "templates/buildingBlocks/virtualMachine-extensions/azuredeploy.json")
-$networkSecurityGroupTemplate = New-Object System.Uri -ArgumentList @($templateRootUri, "templates/buildingBlocks/networkSecurityGroups/azuredeploy.json")
-
-# Azure ADDS Parameter Files
-$domainControllersParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\adds\ad.parameters.json")
-$virtualNetworkDNSParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\adds\virtualNetwork-adds-dns.parameters.json")
-$addAddsDomainControllerExtensionParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\adds\add-adds-domain-controller.parameters.json")
-$createAddsDomainControllerForestExtensionParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\adds\create-adds-forest-extension.parameters.json")
-
-# SQL Always On Parameter Files
-$sqlParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\sql.parameters.json")
-$fswParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\fsw.parameters.json")
-$sqlPrepareAOExtensionParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\sql-iaas-ao-extensions.parameters.json")
-$sqlConfigureAOExtensionParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\sql-configure-ao-extension.parameters.json")
-
-# Infrastructure And Workload Parameters Files
-$virtualNetworkParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\virtualNetwork.parameters.json")
-$managementParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\virtualMachines-mgmt.parameters.json")
-$bizLoadBalancerParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\biz.parameters.json")
-$webLoadBalancerParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\web.parameters.json")
-$networkSecurityGroupParametersFile = [System.IO.Path]::Combine($PSScriptRoot, "parameters\networkSecurityGroups.parameters.json")
-
-$infrastructureResourceGroupName = "ra-ntier-sql-network-rg"
-$workloadResourceGroupName = "ra-ntier-sql-workload-rg"
-
-# Login to Azure and select your subscription
-Login-AzureRmAccount -SubscriptionId $SubscriptionId | Out-Null
-
-if ($Mode -eq "Infrastructure") {
- $infrastructureResourceGroup = New-AzureRmResourceGroup -Name $infrastructureResourceGroupName -Location $Location
- Write-Host "Creating virtual network..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-vnet-deployment" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName -TemplateUri $virtualNetworkTemplate.AbsoluteUri `
- -TemplateParameterFile $virtualNetworkParametersFile
-
- Write-Host "Deploying jumpbox..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-mgmt-deployment" -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineTemplate.AbsoluteUri -TemplateParameterFile $managementParametersFile
-
- Write-Host "Deploying ADDS servers..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-ad-deployment" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineTemplate.AbsoluteUri -TemplateParameterFile $domainControllersParametersFile
-
- Write-Host "Updating virtual network DNS servers..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-update-dns" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName -TemplateUri $virtualNetworkTemplate.AbsoluteUri `
- -TemplateParameterFile $virtualNetworkDNSParametersFile
-
- Write-Host "Creating ADDS forest..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-primary-ad-ext" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineExtensionsTemplate.AbsoluteUri -TemplateParameterFile $createAddsDomainControllerForestExtensionParametersFile
-
- Write-Host "Creating ADDS domain controller..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-secondary-ad-ext" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineExtensionsTemplate.AbsoluteUri -TemplateParameterFile $addAddsDomainControllerExtensionParametersFile
-
- Write-Host "Deploy SQL servers with load balancer..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-servers" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName -TemplateUri $loadBalancerTemplate.AbsoluteUri `
- -TemplateParameterFile $sqlParametersFile
-
- Write-Host "Deploy FWS..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-fsw" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineTemplate.AbsoluteUri -TemplateParameterFile $fswParametersFile
-
- Write-Host "Prepare SQL Always ON..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-ao-iaas-ext" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineExtensionsTemplate.AbsoluteUri -TemplateParameterFile $sqlPrepareAOExtensionParametersFile
-
- Write-Host "Configure SQL Always ON..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-ao-iaas-ext" `
- -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName `
- -TemplateUri $virtualMachineExtensionsTemplate.AbsoluteUri -TemplateParameterFile $sqlConfigureAOExtensionParametersFile
-}
-elseif ($Mode -eq "Workload") {
- Write-Host "Creating workload resource group..."
- $workloadResourceGroup = New-AzureRmResourceGroup -Name $workloadResourceGroupName -Location $Location
-
- Write-Host "Deploy Service A servers with load balancer..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-biz-deployment" `
- -ResourceGroupName $workloadResourceGroup.ResourceGroupName -TemplateUri $loadBalancerTemplate.AbsoluteUri `
- -TemplateParameterFile $bizLoadBalancerParametersFile
-
- Write-Host "Deploy Service B servers with load balancer..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-web-deployment" `
- -ResourceGroupName $workloadResourceGroup.ResourceGroupName -TemplateUri $loadBalancerTemplate.AbsoluteUri `
- -TemplateParameterFile $webLoadBalancerParametersFile
-}
-elseif ($Mode -eq "Security") {
- # Deploy DMZs
- $infrastructureResourceGroup = Get-AzureRmResourceGroup -Name $infrastructureResourceGroupName
-
- Write-Host "Deploying NSGs..."
- New-AzureRmResourceGroupDeployment -Name "ra-ntier-sql-nsg-deployment" -ResourceGroupName $infrastructureResourceGroup.ResourceGroupName `
- -TemplateUri $networkSecurityGroupTemplate.AbsoluteUri -TemplateParameterFile $networkSecurityGroupParametersFile
-
-}
\ No newline at end of file
diff --git a/virtual-machines/n-tier-windows/azbb/n-tier-windows.json b/virtual-machines/n-tier-windows/azbb/n-tier-windows.json
deleted file mode 100644
index d770261dd..000000000
--- a/virtual-machines/n-tier-windows/azbb/n-tier-windows.json
+++ /dev/null
@@ -1,1015 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/mspnp/template-building-blocks/spikes/spikes/nodejs-spike/schemas/buildingBlocks.json",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "buildingBlocks": {
- "value": [
- {
- "type": "VirtualNetwork",
- "settings": [
- {
- "name": "ra-ntier-sql-vnet",
- "addressPrefixes": [
- "10.0.0.0/16"
- ],
- "subnets": [
- {
- "name": "web",
- "addressPrefix": "10.0.1.0/24"
- },
- {
- "name": "biz",
- "addressPrefix": "10.0.2.0/24"
- },
- {
- "name": "sql",
- "addressPrefix": "10.0.3.0/24"
- },
- {
- "name": "ad",
- "addressPrefix": "10.0.4.0/24"
- },
- {
- "name": "mgmt",
- "addressPrefix": "10.0.0.128/25"
- }
- ],
- "dnsServers": [
- "10.0.4.4",
- "10.0.4.5",
- "168.63.129.16"
- ]
- }
- ]
- },
- {
- "type": "VirtualMachine",
- "settings": {
- "vmCount": 1,
- "namePrefix": "jb",
- "size": "Standard_DS1_v2",
- "adminUsername": "testadminuser",
- "adminPassword": "test$!Passw0rd111",
- "virtualNetwork": {
- "name": "ra-ntier-sql-vnet"
- },
- "nics": [
- {
- "isPublic": true,
- "privateIPAllocationMethod": "Dynamic",
- "publicIPAllocationMethod": "Static",
- "subnetName": "mgmt"
- }
- ],
- "osType": "windows",
- "extensions": [
- {
- "name": "IaaSAntimalware",
- "publisher": "Microsoft.Azure.Security",
- "type": "IaaSAntimalware",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "AntimalwareEnabled": true,
- "RealtimeProtectionEnabled": "true",
- "ScheduledScanSettings": {
- "isEnabled": "false",
- "day": "7",
- "time": "120",
- "scanType": "Quick"
- },
- "Exclusions": {
- "Extensions": "",
- "Paths": "",
- "Processes": ""
- }
- },
- "protectedSettings": {}
- }
- ]
- }
- },
- {
- "type": "VirtualMachine",
- "settings": {
- "vmCount": 1,
- "namePrefix": "ad1",
- "size": "Standard_DS1_v2",
- "adminUsername": "testadminuser",
- "adminPassword": "test$!Passw0rd111",
- "virtualNetwork": {
- "name": "ra-ntier-sql-vnet"
- },
- "storageAccounts": {
- "managed": true
- },
- "diagnosticStorageAccounts": {
- "count": 1,
- "encryptBlobStorage": true,
- "encryptFileStorage": true
- },
- "nics": [
- {
- "isPublic": false,
- "isPrimary": true,
- "privateIPAllocationMethod": "Static",
- "publicIPAllocationMethod": "Static",
- "startingIPAddress": "10.0.4.4",
- "subnetName": "ad"
- }
- ],
- "osType": "windows",
- "dataDisks": {
- "count": 1
- },
- "extensions": [
- {
- "name": "install-adds-forest",
- "publisher": "Microsoft.Compute",
- "type": "CustomScriptExtension",
- "typeHandlerVersion": "1.8",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "fileUris": [
- "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/adds-forest.ps1"
- ]
- },
- "protectedSettings": {
- "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File adds-forest.ps1"
- }
- }
- ]
- }
- },
- {
- "type": "VirtualMachine",
- "settings": {
- "vmCount": 1,
- "namePrefix": "ad2",
- "size": "Standard_DS1_v2",
- "adminUsername": "testadminuser",
- "adminPassword": "test$!Passw0rd111",
- "virtualNetwork": {
- "name": "ra-ntier-sql-vnet"
- },
- "storageAccounts": {
- "managed": true
- },
- "diagnosticStorageAccounts": {
- "count": 1,
- "encryptBlobStorage": true,
- "encryptFileStorage": true
- },
- "nics": [
- {
- "isPublic": false,
- "isPrimary": true,
- "privateIPAllocationMethod": "Static",
- "publicIPAllocationMethod": "Static",
- "startingIPAddress": "10.0.4.5",
- "subnetName": "ad"
- }
- ],
- "osType": "windows",
- "dataDisks": {
- "count": 1
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testadminuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettings": {
- "Password": "test$!Passw0rd111"
- }
- },
- {
- "name": "install-adds",
- "publisher": "Microsoft.Compute",
- "type": "CustomScriptExtension",
- "typeHandlerVersion": "1.8",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "fileUris": [
- "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/adds.ps1"
- ]
- },
- "protectedSettings": {
- "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File adds.ps1 -AdminUser testadminuser -AdminPassword test$!Passw0rd111 -SafeModePassword Saf3M0de@PW -DomainName contoso.com -SiteName Default-First-Site-Name"
- }
- }
- ]
- }
- },
- {
- "type": "VirtualNetwork",
- "settings": [
- {
- "name": "ra-ntier-sql-vnet",
- "addressPrefixes": [
- "10.0.0.0/16"
- ],
- "subnets": [
- {
- "name": "web",
- "addressPrefix": "10.0.1.0/24"
- },
- {
- "name": "biz",
- "addressPrefix": "10.0.2.0/24"
- },
- {
- "name": "sql",
- "addressPrefix": "10.0.3.0/24"
- },
- {
- "name": "ad",
- "addressPrefix": "10.0.4.0/24"
- },
- {
- "name": "mgmt",
- "addressPrefix": "10.0.0.128/25"
- }
- ],
- "dnsServers": [
- "10.0.4.4",
- "10.0.4.5"
- ]
- }
- ]
- },
- {
- "type": "VirtualMachine",
- "settings": {
- "vmCount": 2,
- "namePrefix": "sql",
- "size": "Standard_DS3_v2",
- "computerNamePrefix": "sql",
- "adminUsername": "testadminuser",
- "adminPassword": "test$!Passw0rd111",
- "osType": "windows",
- "osDisk": {
- "caching": "ReadWrite"
- },
- "imageReference": {
- "offer": "SQL2016-WS2012R2",
- "publisher": "MicrosoftSQLServer",
- "sku": "Enterprise",
- "version": "latest"
- },
- "dataDisks": {
- "count": 2,
- "properties": {
- "diskSizeGB": 1000,
- "caching": "None",
- "createOption": "empty"
- }
- },
- "virtualNetwork": {
- "name": "ra-ntier-sql-vnet"
- },
- "storageAccounts": {
- "count": 2,
- "managed": true
- },
- "diagnosticStorageAccounts": {
- "count": 1,
- "encryptBlobStorage": true,
- "encryptFileStorage": true
- },
- "nics": [
- {
- "isPrimary": true,
- "isPublic": false,
- "subnetName": "sql",
- "privateIPAllocationMethod": "Dynamic",
- "dnsServers": [
- "10.0.4.4",
- "10.0.4.5"
- ],
- "backendPoolsNames": [
- "lbbep1"
- ]
- }
- ],
- "loadBalancerSettings": {
- "frontendIPConfigurations": [
- {
- "name": "lbfe1",
- "loadBalancerType": "Internal",
- "internalLoadBalancerSettings": {
- "privateIPAddress": "10.0.3.100",
- "subnetName": "sql"
- }
- }
- ],
- "loadBalancingRules": [
- {
- "name": "SQLAlwaysOnEndPointListener",
- "frontendPort": 1433,
- "backendPort": 1433,
- "protocol": "Tcp",
- "backendPoolName": "lbbep1",
- "frontendIPConfigurationName": "lbfe1",
- "enableFloatingIP": false,
- "probeName": "lbp1"
- }
- ],
- "probes": [
- {
- "name": "lbp1",
- "port": 59999,
- "protocol": "Tcp",
- "requestPath": null
- }
- ],
- "backendPools": [
- {
- "name": "lbbep1",
- "nicIndex": 0
- }
- ],
- "inboundNatRules": []
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testadminuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettings": {
- "Password": "test$!Passw0rd111"
- }
- }
- ]
- }
- },
- {
- "type": "VirtualMachine",
- "settings": {
- "vmCount": 1,
- "namePrefix": "fsw",
- "size": "Standard_DS1_v2",
- "computerNamePrefix": "fsw",
- "adminUsername": "testadminuser",
- "adminPassword": "test$!Passw0rd111",
- "osType": "windows",
- "virtualNetwork": {
- "name": "ra-ntier-sql-vnet"
- },
- "storageAccounts": {
- "count": 1
- },
- "diagnosticStorageAccounts": {
- "count": 1
- },
- "nics": [
- {
- "isPublic": false,
- "isPrimary": true,
- "subnetName": "sql",
- "privateIPAllocationMethod": "Dynamic",
- "dnsServers": [
- "10.0.4.4",
- "10.0.4.5"
- ]
- }
- ],
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testadminuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettings": {
- "Password": "test$!Passw0rd111"
- }
- },
- {
- "name": "createFileShareWitness",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.16",
- "autoUpgradeMinorVersion": false,
- "settings": {
- "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/CreateFileShareWitness.ps1.zip",
- "configurationFunction": "CreateFileShareWitness.ps1\\CreateFileShareWitness",
- "properties": {
- "domainName": "contoso.com",
- "SharePath": "sql-fs",
- "adminCreds": {
- "userName": "testadminuser",
- "password": "privateSettingsRef:adminPassword"
- }
- }
- },
- "protectedSettings": {
- "items": {
- "adminPassword": "test$!Passw0rd111"
- }
- }
- }
- ]
- }
- },
- {
- "type": "VirtualMachineExtension",
- "settings": [
- {
- "vms": [
- "sql-vm1",
- "sql-vm2"
- ],
- "extensions": [
- {
- "name": "SqlVmIaasExtension",
- "type": "SqlIaaSAgent",
- "publisher": "Microsoft.SqlServer.Management",
- "typeHandlerVersion": "1.2",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "AutoTelemetrySettings": {
- "Region": "West US 2"
- },
- "AutoPatchingSettings": {
- "PatchCategory": "WindowsMandatoryUpdates",
- "Enable": true,
- "DayOfWeek": "Sunday",
- "MaintenanceWindowStartingHour": "12",
- "MaintenanceWindowDuration": "60"
- },
- "AutoBackupSettings": {
- "Enable": false,
- "RetentionPeriod": "30",
- "EnableEncryption": false
- }
- },
- "protectedSettings": {}
- }
- ]
- },
- {
- "vms": [
- "sql-vm1"
- ],
- "extensions": [
- {
- "name": "sqlAOPrepare",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.19",
- "autoUpgradeMinorVersion": false,
- "settings": {
- "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/PrepareAlwaysOnSqlServer.ps1.zip",
- "configurationFunction": "PrepareAlwaysOnSqlServer.ps1\\PrepareAlwaysOnSqlServer",
- "properties": {
- "domainName": "contoso.com",
- "sqlAlwaysOnEndpointName": "ra-ntier-sql-hadr",
- "adminCreds": {
- "userName": "testadminuser",
- "password": "privateSettingsRef:adminPassword"
- },
- "sqlServiceCreds": {
- "userName": "sqlservicetestuser",
- "password": "privateSettingsRef:sqlServerServiceAccountPassword"
- },
- "NumberOfDisks": "2",
- "WorkloadType": "GENERAL"
- }
- },
- "protectedSettings": {
- "items": {
- "adminPassword": "test$!Passw0rd111",
- "sqlServerServiceAccountPassword": "AweS0me@SQLServicePW"
- }
- }
- }
- ]
- },
- {
- "vms": [
- "sql-vm2"
- ],
- "extensions": [
- {
- "name": "configuringAlwaysOn",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.19",
- "autoUpgradeMinorVersion": false,
- "settings": {
- "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/CreateFailoverCluster.ps1.zip",
- "configurationFunction": "CreateFailoverCluster.ps1\\CreateFailoverCluster",
- "properties": {
- "domainName": "contoso.com",
- "clusterName": "ra-ntier-sql-fc",
- "sharePath": "\\\\fsw-vm1\\sql-fs",
- "nodes": [
- "sql-vm1",
- "sql-vm2"
- ],
- "sqlAlwaysOnEndpointName": "ra-ntier-sql-hadr",
- "sqlAlwaysOnAvailabilityGroupName": "alwayson-ag",
- "sqlAlwaysOnAvailabilityGroupListenerName": "alwayson-ag-listener",
- "SqlAlwaysOnAvailabilityGroupListenerPort": "1433",
- "databaseNames": "AutoHa-sample",
- "lbName": "ra-ntier-sql-lb",
- "lbAddress": "10.0.3.100",
- "primaryReplica": "sql-vm2",
- "secondaryReplica": "sql-vm1",
- "dnsServerName": "ad1-vm1",
- "adminCreds": {
- "userName": "testadminuser",
- "password": "privateSettingsRef:adminPassword"
- },
- "sqlServiceCreds": {
- "userName": "sqlservicetestuser",
- "password": "privateSettingsRef:sqlServerServiceAccountPassword"
- },
- "SQLAuthCreds": {
- "userName": "sqlsa",
- "password": "privateSettingsRef:sqlAuthPassword"
- },
- "NumberOfDisks": "2",
- "WorkloadType": "GENERAL"
- }
- },
- "protectedSettings": {
- "items": {
- "adminPassword": "test$!Passw0rd111",
- "sqlServerServiceAccountPassword": "AweS0me@SQLServicePW",
- "sqlAuthPassword": "AweS0me@SQLPW"
- }
- }
- }
- ]
- }
- ]
- },
- {
- "type": "VirtualMachine",
- "settings": {
- "vmCount": 2,
- "namePrefix": "web",
- "size": "Standard_DS1_v2",
- "computerNamePrefix": "web",
- "adminUsername": "testadminuser",
- "adminPassword": "test$!Passw0rd111",
- "virtualNetwork": {
- "name": "ra-ntier-sql-vnet"
- },
- "storageAccounts": {
- "count": 1,
- "managed": true
- },
- "diagnosticStorageAccounts": {
- "count": 1,
- "encryptBlobStorage": true,
- "encryptFileStorage": true
- },
- "nics": [
- {
- "dnsServers": [],
- "isPrimary": true,
- "isPublic": false,
- "privateIPAllocationMethod": "Dynamic",
- "subnetName": "web",
- "backendPoolsNames": [
- "ntier-vm-lb-bep1"
- ],
- "inboundNatRulesNames": []
- }
- ],
- "osType": "windows",
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testadminuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettings": {
- "Password": "test$!Passw0rd111"
- }
- },
- {
- "name": "iis-config-ext",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.1",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "ModulesUrl": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/multi-vm/extensions/windows/iisaspnet.ps1.zip",
- "configurationFunction": "iisaspnet.ps1\\iisaspnet"
- },
- "protectedSettings": {}
- }
- ],
- "loadBalancerSettings": {
- "frontendIPConfigurations": [
- {
- "name": "ntier-vm-lb-fe-config1",
- "loadBalancerType": "Public"
- }
- ],
- "loadBalancingRules": [
- {
- "name": "lbr1",
- "frontendPort": 80,
- "backendPort": 80,
- "protocol": "Tcp",
- "backendPoolName": "ntier-vm-lb-bep1",
- "frontendIPConfigurationName": "ntier-vm-lb-fe-config1",
- "enableFloatingIP": false,
- "probeName": "lbp1"
- }
- ],
- "probes": [
- {
- "name": "lbp1",
- "port": 80,
- "protocol": "Http",
- "requestPath": "/"
- }
- ],
- "backendPools": [
- {
- "name": "ntier-vm-lb-bep1",
- "nicIndex": 0
- }
- ],
- "inboundNatRules": []
- }
- }
- },
- {
- "type": "VirtualMachine",
- "settings": {
- "vmCount": 2,
- "namePrefix": "biz",
- "size": "Standard_DS1_v2",
- "computerNamePrefix": "biz",
- "adminUsername": "testadminuser",
- "adminPassword": "test$!Passw0rd111",
- "virtualNetwork": {
- "name": "ra-ntier-sql-vnet"
- },
- "storageAccounts": {
- "count": 1,
- "managed": true
- },
- "diagnosticStorageAccounts": {
- "count": 1,
- "encryptBlobStorage": true,
- "encryptFileStorage": true
- },
- "nics": [
- {
- "dnsServers": [],
- "isPrimary": true,
- "isPublic": false,
- "privateIPAllocationMethod": "Dynamic",
- "subnetName": "biz",
- "backendPoolsNames": [
- "lb-bep1"
- ],
- "inboundNatRulesNames": []
- }
- ],
- "osType": "windows",
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testadminuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettings": {
- "Password": "test$!Passw0rd111"
- }
- },
- {
- "name": "iis-config-ext",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.1",
- "autoUpgradeMinorVersion": true,
- "settings": {
- "ModulesUrl": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/multi-vm/extensions/windows/iisaspnet.ps1.zip",
- "configurationFunction": "iisaspnet.ps1\\iisaspnet"
- },
- "protectedSettings": {}
- }
- ],
- "loadBalancerSettings": {
- "frontendIPConfigurations": [
- {
- "name": "biz-lb-fe-config1",
- "loadBalancerType": "Internal",
- "internalLoadBalancerSettings": {
- "privateIPAddress": "10.0.2.100",
- "subnetName": "biz"
- }
- }
- ],
- "loadBalancingRules": [
- {
- "name": "lbr1",
- "frontendPort": 80,
- "backendPort": 80,
- "protocol": "Tcp",
- "backendPoolName": "lb-bep1",
- "frontendIPConfigurationName": "biz-lb-fe-config1",
- "enableFloatingIP": false,
- "probeName": "lbp1"
- }
- ],
- "probes": [
- {
- "name": "lbp1",
- "port": 80,
- "protocol": "Http",
- "requestPath": "/"
- }
- ],
- "backendPools": [
- {
- "name": "lb-bep1",
- "nicIndex": 0
- }
- ],
- "inboundNatRules": []
- }
- }
- },
- {
- "type": "NetworkSecurityGroup",
- "settings": [
- {
- "name": "sqlnsg",
- "virtualNetworks": [
- {
- "name": "ra-ntier-sql-vnet",
- "subnets": [
- "sql"
- ]
- }
- ],
- "securityRules": [
- {
- "name": "allow-traffic-from-biz",
- "description": "Allow traffic originating from Business tier.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": 1433,
- "sourceAddressPrefix": "10.0.2.0/24",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "allow-mgmt-rdp",
- "direction": "Inbound",
- "priority": 110,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": 3389,
- "access": "Allow",
- "protocol": "TCP"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "biznsg",
- "virtualNetworks": [
- {
- "name": "ra-ntier-sql-vnet",
- "subnets": [
- "biz"
- ]
- }
- ],
- "securityRules": [
- {
- "name": "allow-web-tier-traffic",
- "description": "Allow web traffic originating from Web Tier.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": 80,
- "sourceAddressPrefix": "10.0.1.0/24",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "allow-mgmt-rdp",
- "direction": "Inbound",
- "priority": 110,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": 3389,
- "access": "Allow",
- "protocol": "TCP"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "webnsg",
- "virtualNetworks": [
- {
- "name": "ra-ntier-sql-vnet",
- "subnets": [
- "web"
- ]
- }
- ],
- "securityRules": [
- {
- "name": "allow-web-traffic-from-external",
- "description": "Allow web traffic originating externally.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": 80,
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "allow-web-traffic-from-vnet",
- "description": "Allow web traffic originating from vnet.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": 80,
- "sourceAddressPrefix": "10.0.0.0/16",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 110,
- "direction": "Inbound"
- },
- {
- "name": "allow-mgmt-rdp",
- "direction": "Inbound",
- "priority": 120,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": 3389,
- "access": "Allow",
- "protocol": "TCP"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 130,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "mgmtnsg",
- "networkInterfaces": [
- {
- "name": "jb-vm1-nic1"
- }
- ],
- "securityRules": [
- {
- "name": "default-allow-rdp",
- "description": "Allow RDP Subnet",
- "protocol": "TCP",
- "sourcePortRange": "*",
- "destinationPortRange": 3389,
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
\ No newline at end of file
diff --git a/virtual-machines/n-tier-windows/diagram.png b/virtual-machines/n-tier-windows/diagram.png
deleted file mode 100644
index a02435e4e..000000000
Binary files a/virtual-machines/n-tier-windows/diagram.png and /dev/null differ
diff --git a/virtual-machines/n-tier-windows/extensions/CreateADBDC.ps1.zip b/virtual-machines/n-tier-windows/extensions/CreateADBDC.ps1.zip
deleted file mode 100644
index 4e72570b9..000000000
Binary files a/virtual-machines/n-tier-windows/extensions/CreateADBDC.ps1.zip and /dev/null differ
diff --git a/virtual-machines/n-tier-windows/extensions/CreateADPDC.ps1.zip b/virtual-machines/n-tier-windows/extensions/CreateADPDC.ps1.zip
deleted file mode 100644
index a1fc8f2cd..000000000
Binary files a/virtual-machines/n-tier-windows/extensions/CreateADPDC.ps1.zip and /dev/null differ
diff --git a/virtual-machines/n-tier-windows/extensions/CreateFailoverCluster.ps1.zip b/virtual-machines/n-tier-windows/extensions/CreateFailoverCluster.ps1.zip
deleted file mode 100644
index c7941beb5..000000000
Binary files a/virtual-machines/n-tier-windows/extensions/CreateFailoverCluster.ps1.zip and /dev/null differ
diff --git a/virtual-machines/n-tier-windows/extensions/CreateFileShareWitness.ps1.zip b/virtual-machines/n-tier-windows/extensions/CreateFileShareWitness.ps1.zip
deleted file mode 100644
index c99969e2d..000000000
Binary files a/virtual-machines/n-tier-windows/extensions/CreateFileShareWitness.ps1.zip and /dev/null differ
diff --git a/virtual-machines/n-tier-windows/extensions/PrepareAlwaysOnSqlServer.ps1.zip b/virtual-machines/n-tier-windows/extensions/PrepareAlwaysOnSqlServer.ps1.zip
deleted file mode 100644
index 541ebe337..000000000
Binary files a/virtual-machines/n-tier-windows/extensions/PrepareAlwaysOnSqlServer.ps1.zip and /dev/null differ
diff --git a/virtual-machines/n-tier-windows/extensions/adds-forest.ps1 b/virtual-machines/n-tier-windows/extensions/adds-forest.ps1
deleted file mode 100644
index 610691940..000000000
--- a/virtual-machines/n-tier-windows/extensions/adds-forest.ps1
+++ /dev/null
@@ -1,32 +0,0 @@
-[CmdletBinding()]
-Param(
- [string]$SafeModePassword = "SafeModeP@ssw0rd",
- [string]$DomainName = "contoso.com",
- [string]$DomainNetbiosName = "CONTOSO"
-)
-
-$ErrorActionPreference = "Stop"
-
-Initialize-Disk -Number 2 -PartitionStyle GPT
-New-Partition -UseMaximumSize -DriveLetter F -DiskNumber 2
-Format-Volume -DriveLetter F -Confirm:$false -FileSystem NTFS -force
-
-Install-windowsfeature -name AD-Domain-Services -IncludeAllSubFeature -IncludeManagementTools
-
-Import-Module ADDSDeployment
-
-$secSafeModePassword = ConvertTo-SecureString $SafeModePassword -AsPlainText -Force
-
-Install-ADDSForest `
--SafeModeAdministratorPassword $secSafeModePassword `
--CreateDnsDelegation:$false `
--DatabasePath "F:\Windows\NTDS" `
--DomainMode "Win2012R2" `
--DomainName $DomainName `
--DomainNetbiosName $DomainNetbiosName `
--ForestMode "Win2012R2" `
--InstallDns:$true `
--LogPath "F:\Windows\NTDS" `
--NoRebootOnCompletion:$false `
--SysvolPath "F:\Windows\SYSVOL" `
--Force:$true
diff --git a/virtual-machines/n-tier-windows/extensions/adds.ps1 b/virtual-machines/n-tier-windows/extensions/adds.ps1
deleted file mode 100644
index 6612302b3..000000000
--- a/virtual-machines/n-tier-windows/extensions/adds.ps1
+++ /dev/null
@@ -1,45 +0,0 @@
-[CmdletBinding()]
-Param(
- [Parameter(Mandatory=$True)]
- [string]$AdminUser,
-
- [Parameter(Mandatory=$True)]
- [string]$AdminPassword,
-
- [Parameter(Mandatory=$True)]
- [string]$SafeModePassword,
-
- [Parameter(Mandatory=$True)]
- [string]$DomainName,
-
- [Parameter(Mandatory=$True)]
- [string]$SiteName
-
-)
-
-Initialize-Disk -Number 2 -PartitionStyle GPT
-New-Partition -UseMaximumSize -DriveLetter F -DiskNumber 2
-Format-Volume -DriveLetter F -Confirm:$false -FileSystem NTFS -force
-
-$secSafeModePassword = ConvertTo-SecureString $SafeModePassword -AsPlainText -Force
-$secAdminPassword = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
-$credential = New-Object System.Management.Automation.PSCredential ("$DomainName\$AdminUser", $secAdminPassword)
-
-Install-windowsfeature -name AD-Domain-Services -IncludeAllSubFeature -IncludeManagementTools
-
-Import-Module ADDSDeployment
-
-Install-ADDSDomainController `
--Credential $credential `
--SafeModeAdministratorPassword $secSafeModePassword `
--DomainName $DomainName `
--SiteName $SiteName `
--SysvolPath "F:\Adds\SYSVOL" `
--DatabasePath "F:\Adds\NTDS" `
--LogPath "F:\Adds\NTDS" `
--NoGlobalCatalog:$false `
--CreateDnsDelegation:$false `
--CriticalReplicationOnly:$false `
--InstallDns:$true `
--NoRebootOnCompletion:$false `
--Force:$true
\ No newline at end of file
diff --git a/virtual-machines/n-tier-windows/extensions/iisaspnet.ps1.zip b/virtual-machines/n-tier-windows/extensions/iisaspnet.ps1.zip
deleted file mode 100644
index e40cad0e0..000000000
Binary files a/virtual-machines/n-tier-windows/extensions/iisaspnet.ps1.zip and /dev/null differ
diff --git a/virtual-machines/n-tier-windows/guidance-compute-n-tier-sql.deployproj b/virtual-machines/n-tier-windows/guidance-compute-n-tier-sql.deployproj
deleted file mode 100644
index 2987733a2..000000000
--- a/virtual-machines/n-tier-windows/guidance-compute-n-tier-sql.deployproj
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
-
-
- Release
- AnyCPU
-
-
-
- 96388c9f-bce8-4fe4-9fb8-ba5a4135fa35
-
-
- Deployment
- 1.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/virtual-machines/n-tier-windows/n-tier-windows.json b/virtual-machines/n-tier-windows/n-tier-windows.json
new file mode 100644
index 000000000..33fc5f3d9
--- /dev/null
+++ b/virtual-machines/n-tier-windows/n-tier-windows.json
@@ -0,0 +1,906 @@
+{
+ "$schema": "https://raw.githubusercontent.com/mspnp/template-building-blocks/master/schemas/buildingBlocks.json",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "buildingBlocks": {
+ "value": [
+ {
+ "type": "VirtualNetwork",
+ "settings": [
+ {
+ "name": "ra-ntier-vnet",
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ],
+ "subnets": [
+ {
+ "name": "web",
+ "addressPrefix": "10.0.1.0/24"
+ },
+ {
+ "name": "biz",
+ "addressPrefix": "10.0.2.0/24"
+ },
+ {
+ "name": "sql",
+ "addressPrefix": "10.0.3.0/24"
+ },
+ {
+ "name": "ad",
+ "addressPrefix": "10.0.4.0/24"
+ },
+ {
+ "name": "mgmt",
+ "addressPrefix": "10.0.0.128/25"
+ },
+ {
+ "name": "appgateway",
+ "addressPrefix": "10.0.5.0/25"
+ }
+ ],
+ "dnsServers": [
+ "10.0.4.4",
+ "10.0.4.5",
+ "168.63.129.16"
+ ]
+ }
+ ]
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 1,
+ "namePrefix": "jb",
+ "size": "Standard_DS1_v2",
+ "adminUsername": "testadminuser",
+ "adminPassword": "test$!Passw0rd111",
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "isPublic": true,
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAllocationMethod": "Static",
+ "subnetName": "mgmt"
+ }
+ ],
+ "osType": "windows",
+ "extensions": [
+ {
+ "name": "IaaSAntimalware",
+ "publisher": "Microsoft.Azure.Security",
+ "type": "IaaSAntimalware",
+ "typeHandlerVersion": "1.3",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "AntimalwareEnabled": true,
+ "RealtimeProtectionEnabled": "true",
+ "ScheduledScanSettings": {
+ "isEnabled": "false",
+ "day": "7",
+ "time": "120",
+ "scanType": "Quick"
+ },
+ "Exclusions": {
+ "Extensions": "",
+ "Paths": "",
+ "Processes": ""
+ }
+ },
+ "protectedSettings": {}
+ }
+ ]
+ }
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 2,
+ "osType": "windows",
+ "namePrefix": "ad",
+ "adminUserName": "adminUser",
+ "adminPassword": "testPassw0rd!23",
+ "nics": [
+ {
+ "subnetName": "ad",
+ "isPublic": false,
+ "privateIPAllocationMethod": "Static",
+ "startingIPAddress": "10.0.4.4"
+ }
+ ],
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "dataDisks": {
+ "count": 1,
+ "diskSizeGB": 127,
+ "caching": "None",
+ "createOption": "empty"
+ }
+ }
+ },
+ {
+ "type": "VirtualMachineExtension",
+ "settings": [
+ {
+ "vms": [
+ "ad-vm1"
+ ],
+ "extensions": [
+ {
+ "name": "install-adds-forest",
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.8",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "fileUris": [
+ "https://raw.githubusercontent.com/mspnp/reference-architectures/peter/script-update/scripts/windows/ad/adds-forest.ps1"
+ ]
+ },
+ "protectedSettings": {
+ "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File adds-forest.ps1 -DomainName contoso.com -DomainNetbiosName contoso -SafeModePassword Saf3M0de@PW"
+ }
+ },
+ {
+ "name": "install-adds-forest",
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.8",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "fileUris": [
+ "https://raw.githubusercontent.com/mspnp/reference-architectures/peter/script-update/scripts/windows/ad/adds-replication-site.ps1"
+ ]
+ },
+ "protectedSettings": {
+ "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File adds-replication-site.ps1 -DomainName contoso.com -AdminUser adminUser -AdminPassword testPassw0rd!23 -SiteName Azbb-Tutorial-Site -OnPremsiteName Default-First-Site-Name -Cidr 10.0.0.0/16 -ReplicationFrequency 10"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "VirtualNetwork",
+ "settings": [
+ {
+ "name": "ra-ntier-vnet",
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ],
+ "subnets": [
+ {
+ "name": "web",
+ "addressPrefix": "10.0.1.0/24"
+ },
+ {
+ "name": "biz",
+ "addressPrefix": "10.0.2.0/24"
+ },
+ {
+ "name": "sql",
+ "addressPrefix": "10.0.3.0/24"
+ },
+ {
+ "name": "ad",
+ "addressPrefix": "10.0.4.0/24"
+ },
+ {
+ "name": "mgmt",
+ "addressPrefix": "10.0.0.128/25"
+ },
+ {
+ "name": "appgateway",
+ "addressPrefix": "10.0.5.0/25"
+ }
+ ],
+ "dnsServers": [
+ "10.0.4.4",
+ "10.0.4.5"
+ ]
+ }
+ ]
+ },
+ {
+ "type": "VirtualMachineExtension",
+ "settings": [
+ {
+ "vms": [
+ "ad-vm2"
+ ],
+ "extensions": [
+ {
+ "name": "join-ad-domain",
+ "publisher": "Microsoft.Compute",
+ "type": "JsonADDomainExtension",
+ "typeHandlerVersion": "1.3",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "Name": "contoso.com",
+ "OUPath": "",
+ "User": "contoso.com\\adminUser",
+ "Restart": true,
+ "Options": 3
+ },
+ "protectedSettings": {
+ "Password": "testPassw0rd!23"
+ }
+ },
+ {
+ "name": "install-adds",
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.8",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "fileUris": [
+ "https://raw.githubusercontent.com/mspnp/reference-architectures/peter/script-update/scripts/windows/ad/adds.ps1"
+ ]
+ },
+ "protectedSettings": {
+ "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File adds.ps1 -AdminUser adminUser -AdminPassword testPassw0rd!23 -SafeModePassword Saf3M0de@PW -DomainName contoso.com -SiteName Default-First-Site-Name"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 2,
+ "namePrefix": "sql",
+ "size": "Standard_DS3_v2",
+ "computerNamePrefix": "sql",
+ "adminUsername": "adminUser",
+ "adminPassword": "testPassw0rd!23",
+ "osType": "windows",
+ "imageReference": {
+ "offer": "SQL2016-WS2012R2",
+ "publisher": "MicrosoftSQLServer",
+ "sku": "Enterprise",
+ "version": "latest"
+ },
+ "dataDisks": {
+ "count": 2,
+ "diskSizeGB": 1000
+ },
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "isPrimary": true,
+ "isPublic": false,
+ "subnetName": "sql",
+ "privateIPAllocationMethod": "Dynamic",
+ "dnsServers": [
+ "10.0.4.4",
+ "10.0.4.5"
+ ],
+ "backendPoolNames": [
+ "lbbep1"
+ ]
+ }
+ ],
+ "loadBalancerSettings": {
+ "frontendIPConfigurations": [
+ {
+ "name": "lbfe1",
+ "loadBalancerType": "Internal",
+ "internalLoadBalancerSettings": {
+ "privateIPAddress": "10.0.3.100",
+ "subnetName": "sql"
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "SQLAlwaysOnEndPointListener",
+ "frontendPort": 1433,
+ "backendPort": 1433,
+ "protocol": "Tcp",
+ "backendPoolName": "lbbep1",
+ "frontendIPConfigurationName": "lbfe1",
+ "enableFloatingIP": false,
+ "probeName": "lbp1"
+ }
+ ],
+ "probes": [
+ {
+ "name": "lbp1",
+ "port": 59999,
+ "protocol": "Tcp",
+ "requestPath": null
+ }
+ ],
+ "backendPools": [
+ {
+ "name": "lbbep1",
+ "nicIndex": 0
+ }
+ ],
+ "inboundNatRules": []
+ },
+ "extensions": [
+ {
+ "name": "join-ad-domain",
+ "publisher": "Microsoft.Compute",
+ "type": "JsonADDomainExtension",
+ "typeHandlerVersion": "1.3",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "Name": "contoso.com",
+ "OUPath": "",
+ "User": "contoso.com\\adminUser",
+ "Restart": true,
+ "Options": 3
+ },
+ "protectedSettings": {
+ "Password": "testPassw0rd!23"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 1,
+ "namePrefix": "fsw",
+ "size": "Standard_DS1_v2",
+ "computerNamePrefix": "fsw",
+ "adminUsername": "adminUser",
+ "adminPassword": "testPassw0rd!23",
+ "osType": "windows",
+ "dataDisks": {
+ "count": 1,
+ "diskSizeGB": 128,
+ "caching": "None",
+ "createOption": "empty"
+ },
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "isPublic": false,
+ "isPrimary": true,
+ "subnetName": "sql",
+ "privateIPAllocationMethod": "Dynamic",
+ "dnsServers": [
+ "10.0.4.4",
+ "10.0.4.5"
+ ]
+ }
+ ],
+ "extensions": [
+ {
+ "name": "join-ad-domain",
+ "publisher": "Microsoft.Compute",
+ "type": "JsonADDomainExtension",
+ "typeHandlerVersion": "1.3",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "Name": "contoso.com",
+ "OUPath": "",
+ "User": "contoso.com\\adminUser",
+ "Restart": true,
+ "Options": 3
+ },
+ "protectedSettings": {
+ "Password": "testPassw0rd!23"
+ }
+ },
+ {
+ "name": "createFileShareWitness",
+ "publisher": "Microsoft.Powershell",
+ "type": "DSC",
+ "typeHandlerVersion": "2.16",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/scripts/windows/dsc/CreateFileShareWitness.ps1.zip",
+ "configurationFunction": "CreateFileShareWitness.ps1\\CreateFileShareWitness",
+ "properties": {
+ "domainName": "contoso.com",
+ "SharePath": "sql-fs",
+ "adminCreds": {
+ "userName": "adminUser",
+ "password": "privateSettingsRef:adminPassword"
+ }
+ }
+ },
+ "protectedSettings": {
+ "items": {
+ "adminPassword": "testPassw0rd!23"
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "type": "VirtualMachineExtension",
+ "settings": [
+ {
+ "vms": [
+ "sql-vm1",
+ "sql-vm2"
+ ],
+ "extensions": [
+ {
+ "name": "SqlVmIaasExtension",
+ "type": "SqlIaaSAgent",
+ "publisher": "Microsoft.SqlServer.Management",
+ "typeHandlerVersion": "1.2",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "AutoTelemetrySettings": {
+ "Region": "West US 2"
+ },
+ "AutoPatchingSettings": {
+ "PatchCategory": "WindowsMandatoryUpdates",
+ "Enable": true,
+ "DayOfWeek": "Sunday",
+ "MaintenanceWindowStartingHour": "12",
+ "MaintenanceWindowDuration": "60"
+ },
+ "AutoBackupSettings": {
+ "Enable": false,
+ "RetentionPeriod": "30",
+ "EnableEncryption": false
+ }
+ },
+ "protectedSettings": {}
+ }
+ ]
+ },
+ {
+ "vms": [
+ "sql-vm1"
+ ],
+ "extensions": [
+ {
+ "name": "sqlAOPrepare",
+ "publisher": "Microsoft.Powershell",
+ "type": "DSC",
+ "typeHandlerVersion": "2.19",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/scripts/windows/dsc/PrepareAlwaysOnSqlServer.ps1.zip",
+ "configurationFunction": "PrepareAlwaysOnSqlServer.ps1\\PrepareAlwaysOnSqlServer",
+ "properties": {
+ "domainName": "contoso.com",
+ "sqlAlwaysOnEndpointName": "ra-ntier-sql-hadr",
+ "adminCreds": {
+ "userName": "adminUser",
+ "password": "privateSettingsRef:adminPassword"
+ },
+ "sqlServiceCreds": {
+ "userName": "sqlservicetestuser",
+ "password": "privateSettingsRef:sqlServerServiceAccountPassword"
+ },
+ "NumberOfDisks": "2",
+ "WorkloadType": "GENERAL"
+ }
+ },
+ "protectedSettings": {
+ "items": {
+ "adminPassword": "testPassw0rd!23",
+ "sqlServerServiceAccountPassword": "AweS0me@SQLServicePW"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "vms": [
+ "sql-vm2"
+ ],
+ "extensions": [
+ {
+ "name": "configuringAlwaysOn",
+ "publisher": "Microsoft.Powershell",
+ "type": "DSC",
+ "typeHandlerVersion": "2.19",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/scripts/windows/dsc/CreateFailoverCluster.ps1.zip",
+ "configurationFunction": "CreateFailoverCluster.ps1\\CreateFailoverCluster",
+ "properties": {
+ "domainName": "contoso.com",
+ "clusterName": "ra-ntier-sql-fc",
+ "sharePath": "\\\\fsw1\\sql-fs",
+ "nodes": [
+ "sql1",
+ "sql2"
+ ],
+ "sqlAlwaysOnEndpointName": "ra-ntier-sql-hadr",
+ "sqlAlwaysOnAvailabilityGroupName": "alwayson-ag",
+ "sqlAlwaysOnAvailabilityGroupListenerName": "alwayson-ag-listener",
+ "SqlAlwaysOnAvailabilityGroupListenerPort": "1433",
+ "databaseNames": "AutoHa-sample",
+ "lbName": "ra-ntier-sql-lb",
+ "lbAddress": "10.0.3.100",
+ "primaryReplica": "sql2",
+ "secondaryReplica": "sql1",
+ "dnsServerName": "ad1",
+ "adminCreds": {
+ "userName": "adminUser",
+ "password": "privateSettingsRef:adminPassword"
+ },
+ "sqlServiceCreds": {
+ "userName": "sqlservicetestuser",
+ "password": "privateSettingsRef:sqlServerServiceAccountPassword"
+ },
+ "SQLAuthCreds": {
+ "userName": "sqlsa",
+ "password": "privateSettingsRef:sqlAuthPassword"
+ },
+ "NumberOfDisks": "2",
+ "WorkloadType": "GENERAL"
+ }
+ },
+ "protectedSettings": {
+ "items": {
+ "adminPassword": "testPassw0rd!23",
+ "sqlServerServiceAccountPassword": "AweS0me@SQLServicePW",
+ "sqlAuthPassword": "AweS0me@SQLPW"
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 3,
+ "namePrefix": "web",
+ "size": "Standard_DS1_v2",
+ "computerNamePrefix": "web",
+ "adminUsername": "adminUser",
+ "adminPassword": "testPassw0rd!23",
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "dnsServers": [],
+ "isPrimary": true,
+ "isPublic": false,
+ "privateIPAllocationMethod": "Static",
+ "startingIPAddress": "10.0.1.5",
+ "subnetName": "web"
+ }
+ ],
+ "osType": "windows",
+ "extensions": [
+ {
+ "name": "join-ad-domain",
+ "publisher": "Microsoft.Compute",
+ "type": "JsonADDomainExtension",
+ "typeHandlerVersion": "1.3",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "Name": "contoso.com",
+ "OUPath": "",
+ "User": "contoso.com\\adminUser",
+ "Restart": true,
+ "Options": 3
+ },
+ "protectedSettings": {
+ "Password": "testPassw0rd!23"
+ }
+ },
+ {
+ "name": "iis-config-ext",
+ "publisher": "Microsoft.Powershell",
+ "type": "DSC",
+ "typeHandlerVersion": "2.1",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "ModulesUrl": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/scripts/windows/dsc/iisaspnet.ps1.zip",
+ "configurationFunction": "iisaspnet.ps1\\iisaspnet"
+ },
+ "protectedSettings": {}
+ }
+ ],
+ "applicationGatewaySettings": {
+ "name": "webAppGateway",
+ "sku": {
+ "size": "Medium",
+ "capacity": 2,
+ "tier": "WAF"
+ },
+ "gatewayIPConfigurations": [
+ {
+ "name": "webIPConfig",
+ "subnetName": "appgateway"
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "webFrontEndIPConfig1",
+ "applicationGatewayType": "Internal",
+ "internalApplicationGatewaySettings": {
+ "subnetName": "appgateway"
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "webFrontEndPort1",
+ "port": 80
+ }
+ ],
+ "backendAddressPools": [
+ {
+ "name": "webBackendAddressPool",
+ "backendAddresses": [
+ {
+ "ipAddress": "10.0.1.4"
+ },
+ {
+ "ipAddress": "10.0.1.5"
+ },
+ {
+ "ipAddress": "10.0.1.6"
+ }
+ ]
+ }
+ ],
+ "backendHttpSettingsCollection": [
+ {
+ "name": "webBackendHttpSetting1",
+ "port": 80,
+ "protocol": "Http",
+ "cookieBasedAffinity": "Disabled"
+ }
+ ],
+ "httpListeners": [
+ {
+ "name": "webHttpListener1",
+ "frontendIPConfigurationName": "webFrontEndIPConfig1",
+ "frontendPortName": "webFrontEndPort1",
+ "protocol": "Http"
+ }
+ ],
+ "requestRoutingRules": [
+ {
+ "name": "webRule1",
+ "ruleType": "Basic",
+ "httpListenerName": "webHttpListener1",
+ "backendAddressPoolName": "webBackendAddressPool",
+ "backendHttpSettingsName": "webBackendHttpSetting1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "VirtualMachine",
+ "settings": {
+ "vmCount": 3,
+ "namePrefix": "biz",
+ "size": "Standard_DS1_v2",
+ "computerNamePrefix": "biz",
+ "adminUsername": "adminUser",
+ "adminPassword": "testPassw0rd!23",
+ "virtualNetwork": {
+ "name": "ra-ntier-vnet"
+ },
+ "nics": [
+ {
+ "dnsServers": [],
+ "isPrimary": true,
+ "isPublic": false,
+ "privateIPAllocationMethod": "Dynamic",
+ "subnetName": "biz",
+ "backendPoolNames": [
+ "lb-bep1"
+ ]
+ }
+ ],
+ "osType": "windows",
+ "extensions": [
+ {
+ "name": "join-ad-domain",
+ "publisher": "Microsoft.Compute",
+ "type": "JsonADDomainExtension",
+ "typeHandlerVersion": "1.3",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "Name": "contoso.com",
+ "OUPath": "",
+ "User": "contoso.com\\adminUser",
+ "Restart": true,
+ "Options": 3
+ },
+ "protectedSettings": {
+ "Password": "testPassw0rd!23"
+ }
+ },
+ {
+ "name": "iis-config-ext",
+ "publisher": "Microsoft.Powershell",
+ "type": "DSC",
+ "typeHandlerVersion": "2.1",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "ModulesUrl": "https://raw.githubusercontent.com/mspnp/reference-architectures/peter/script-update/scripts/windows/iisaspnet.ps1.zip",
+ "configurationFunction": "iisaspnet.ps1\\iisaspnet"
+ },
+ "protectedSettings": {}
+ }
+ ],
+ "loadBalancerSettings": {
+ "frontendIPConfigurations": [
+ {
+ "name": "biz-lb-fe-config1",
+ "loadBalancerType": "Internal",
+ "internalLoadBalancerSettings": {
+ "privateIPAddress": "10.0.2.100",
+ "subnetName": "biz"
+ }
+ }
+ ],
+ "loadBalancingRules": [
+ {
+ "name": "lbr1",
+ "frontendPort": 80,
+ "backendPort": 80,
+ "protocol": "Tcp",
+ "backendPoolName": "lb-bep1",
+ "frontendIPConfigurationName": "biz-lb-fe-config1",
+ "enableFloatingIP": false,
+ "probeName": "lbp1"
+ }
+ ],
+ "probes": [
+ {
+ "name": "lbp1",
+ "port": 80,
+ "protocol": "Http",
+ "requestPath": "/"
+ }
+ ],
+ "backendPools": [
+ {
+ "name": "lb-bep1",
+ "nicIndex": 0
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "NetworkSecurityGroup",
+ "settings": [
+ {
+ "name": "adnsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "ad"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name":"ActiveDirectory"
+ }
+ ]
+ },
+ {
+ "name": "sqlnsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "sql"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "MSSQL",
+ "sourceAddressPrefix": "10.0.2.0/24",
+ "priority": 100
+ },
+ {
+ "name": "RDP",
+ "direction": "Inbound",
+ "sourceAddressPrefix": "10.0.0.128/25",
+ "priority": 110
+ }
+ ]
+ },
+ {
+ "name": "biznsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "biz"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "HTTP",
+ "sourceAddressPrefix": "10.0.1.0/24",
+ "priority": 100
+ },
+ {
+ "name": "RDP",
+ "sourceAddressPrefix": "10.0.0.128/25",
+ "priority": 110
+ }
+ ]
+ },
+ {
+ "name": "appgatewaynsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "appgateway"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "HTTP",
+ "sourceAddressPrefix": "10.0.0.0/16",
+ "priority": 100
+ }
+ ]
+ },
+ {
+ "name": "webnsg",
+ "virtualNetworks": [
+ {
+ "name": "ra-ntier-vnet",
+ "subnets": [
+ "web"
+ ]
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "HTTP",
+ "sourceAddressPrefix": "10.0.5.0/25",
+ "priority": 100
+ },
+ {
+ "name": "RDP",
+ "sourceAddressPrefix": "10.0.0.128/25",
+ "priority": 110
+ }
+ ]
+ },
+ {
+ "name": "mgmtnsg",
+ "networkInterfaces": [
+ {
+ "name": "jb-vm1-nic1"
+ }
+ ],
+ "securityRules": [
+ {
+ "name": "RDP",
+ "priority": 100
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/virtual-machines/n-tier-windows/parameters/adds/ad.parameters.json b/virtual-machines/n-tier-windows/parameters/adds/ad.parameters.json
deleted file mode 100644
index bcba917f7..000000000
--- a/virtual-machines/n-tier-windows/parameters/adds/ad.parameters.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-sql-ad",
- "computerNamePrefix": "ad",
- "size": "Standard_DS1_v2",
- "osType": "windows",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "sshPublicKey": "",
- "osAuthenticationType": "password",
- "nics": [
- {
- "isPublic": "false",
- "isPrimary": "true",
- "subnetName": "ad",
- "privateIPAllocationMethod": "static",
- "startingIPAddress": "10.0.4.4",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "",
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "MicrosoftWindowsServer",
- "offer": "WindowsServer",
- "sku": "2012-R2-Datacenter",
- "version": "latest"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": "ad-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "resourceGroup": "ra-ntier-sql-network-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 2,
- "vmCount": 2,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/adds/add-adds-domain-controller.parameters.json b/virtual-machines/n-tier-windows/parameters/adds/add-adds-domain-controller.parameters.json
deleted file mode 100644
index 6f1d3c075..000000000
--- a/virtual-machines/n-tier-windows/parameters/adds/add-adds-domain-controller.parameters.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesExtensionSettings": {
- "value": [
- {
- "vms": [ "ra-ntier-sql-ad-vm2" ],
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettingsConfig": {
- "Password": "AweS0me@PW"
- }
- },
- {
- "name": "install-adds",
- "publisher": "Microsoft.Compute",
- "type": "CustomScriptExtension",
- "typeHandlerVersion": "1.8",
- "autoUpgradeMinorVersion": false,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/templates/adds/adds-domain-controller-extension-settings-mapper.json",
- "settingsConfig": {
- "activeDirectorySettings": {
- "domainName": "contoso.com",
- "adminUser": "testuser",
- "adminPassword": "AweS0me@PW",
- "siteName": "Default-First-Site-Name",
- "safeModePassword": "Saf3M0de@PW"
- },
- "fileUris": [
- "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/adds.ps1"
- ]
- },
- "protectedSettingsConfig": {
- }
- }
- ]
- }
- ]
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/adds/create-adds-forest-extension.parameters.json b/virtual-machines/n-tier-windows/parameters/adds/create-adds-forest-extension.parameters.json
deleted file mode 100644
index c121243aa..000000000
--- a/virtual-machines/n-tier-windows/parameters/adds/create-adds-forest-extension.parameters.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesExtensionSettings": {
- "value": [
- {
- "vms": [ "ra-ntier-sql-ad-vm1" ],
- "extensions": [
- {
- "name": "install-adds-forest",
- "publisher": "Microsoft.Compute",
- "type": "CustomScriptExtension",
- "typeHandlerVersion": "1.8",
- "autoUpgradeMinorVersion": false,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/templates/adds/ad-forest-extension-settings-mapper.json",
- "settingsConfig": {
- "activeDirectorySettings": {
- "domainName": "contoso.com",
- "domainNetbiosName": "contoso",
- "safeModePassword": "Saf3M0de@PW"
- },
- "fileUris": [
- "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/adds-forest.ps1"
- ]
- },
- "protectedSettingsConfig": {
- }
- }
- ]
- }
- ]
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/adds/virtualNetwork-adds-dns.parameters.json b/virtual-machines/n-tier-windows/parameters/adds/virtualNetwork-adds-dns.parameters.json
deleted file mode 100644
index 335ac071a..000000000
--- a/virtual-machines/n-tier-windows/parameters/adds/virtualNetwork-adds-dns.parameters.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "addressPrefixes": [
- "10.0.0.0/16"
- ],
- "subnets": [
- {
- "name": "web",
- "addressPrefix": "10.0.1.0/24"
- },
- {
- "name": "biz",
- "addressPrefix": "10.0.2.0/24"
- },
- {
- "name": "sql",
- "addressPrefix": "10.0.3.0/24"
- },
- {
- "name": "ad",
- "addressPrefix": "10.0.4.0/24"
- },
- {
- "name": "mgmt",
- "addressPrefix": "10.0.0.128/25"
- }
- ],
- "dnsServers": [
- "10.0.4.4",
- "10.0.4.5"
- ]
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/biz.parameters.json b/virtual-machines/n-tier-windows/parameters/biz.parameters.json
deleted file mode 100644
index a0bcd0645..000000000
--- a/virtual-machines/n-tier-windows/parameters/biz.parameters.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "loadBalancerSettings": {
- "value": {
- "name": "biz-lb",
- "frontendIPConfigurations": [
- {
- "name": "biz-lb-fe-config1",
- "loadBalancerType": "internal",
- "domainNameLabel": "",
- "internalLoadBalancerSettings": {
- "privateIPAddress": "10.0.2.100",
- "subnetName": "biz"
- }
- }
- ],
- "loadBalancingRules": [
- {
- "name": "lbr1",
- "frontendPort": 80,
- "backendPort": 80,
- "protocol": "Tcp",
- "backendPoolName": "lb-bep1",
- "frontendIPConfigurationName": "biz-lb-fe-config1",
- "enableFloatingIP": false,
- "probeName": "lbp1"
- }
- ],
- "probes": [
- {
- "name": "lbp1",
- "port": 80,
- "protocol": "Http",
- "requestPath": "/"
- }
- ],
- "backendPools": [
- {
- "name": "lb-bep1",
- "nicIndex": 0
- }
- ],
- "inboundNatRules": [ ]
- }
- },
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "biz",
- "computerNamePrefix": "biz",
- "size": "Standard_DS1_v2",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "osType": "windows",
- "osAuthenticationType": "password",
- "sshPublicKey": "",
- "nics": [
- {
- "isPublic": "false",
- "isPrimary": "true",
- "subnetName": "biz",
- "privateIPAllocationMethod": "dynamic",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "",
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "MicrosoftWindowsServer",
- "offer": "WindowsServer",
- "sku": "2012-R2-Datacenter",
- "version": "latest"
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettingsConfig": {
- "Password": "AweS0me@PW"
- }
- },
- {
- "name": "iis-config-ext",
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.20",
- "autoUpgradeMinorVersion": true,
- "settingsConfig": {
- "modulesUrl": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/iisaspnet.ps1.zip",
- "configurationFunction": "iisaspnet.ps1\\iisaspnet"
- },
- "protectedSettingsConfig": { }
- }
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": "biz-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "resourceGroup": "ra-ntier-sql-network-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 1,
- "vmCount": 2,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/fsw.parameters.json b/virtual-machines/n-tier-windows/parameters/fsw.parameters.json
deleted file mode 100644
index 797c7f348..000000000
--- a/virtual-machines/n-tier-windows/parameters/fsw.parameters.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-sql-fsw",
- "computerNamePrefix": "fsw",
- "size": "Standard_DS1_v2",
- "osType": "windows",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "sshPublicKey": "",
- "osAuthenticationType": "password",
- "nics": [
- {
- "isPublic": "false",
- "isPrimary": "true",
- "subnetName": "sql",
- "privateIPAllocationMethod": "Dynamic",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "",
- "dnsServers": [
- "10.0.4.4",
- "10.0.4.5"
- ]
- }
- ],
- "imageReference": {
- "publisher": "MicrosoftWindowsServer",
- "offer": "WindowsServer",
- "sku": "2012-R2-Datacenter",
- "version": "latest"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettingsConfig": {
- "Password": "AweS0me@PW"
- }
- },
- {
- "name": "CreateFileShareWitness",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.16",
- "autoUpgradeMinorVersion": false,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/CreateFileShareWitness.ps1.zip",
- "configurationFunction": "CreateFileShareWitness.ps1\\CreateFileShareWitness",
- "properties": {
- "domainName": "contoso.com",
- "SharePath": "sql-fs",
- "adminCreds": {
- "userName": "testuser",
- "password": "privateSettingsRef:adminPassword"
- }
- }
- },
- "protectedSettingsConfig": {
- "items": {
- "adminPassword": "AweS0me@PW"
- }
- }
- }
-
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "Yes",
- "name": "sql-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "resourceGroup": "ra-ntier-sql-network-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 1,
- "vmCount": 1,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/networkSecurityGroups.parameters.json b/virtual-machines/n-tier-windows/parameters/networkSecurityGroups.parameters.json
deleted file mode 100644
index 774ee28d4..000000000
--- a/virtual-machines/n-tier-windows/parameters/networkSecurityGroups.parameters.json
+++ /dev/null
@@ -1,206 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "resourceGroup": "ra-ntier-sql-network-rg"
- }
- },
- "networkSecurityGroupsSettings": {
- "value": [
- {
- "name": "ra-ntier-sql-ad-nsg",
- "subnets": [
- "ad"
- ],
- "networkInterfaces": [
- ],
- "securityRules": [
- ]
- },
- {
- "name": "ra-ntier-sql-nsg",
- "subnets": [
- "sql"
- ],
- "networkInterfaces": [
- ],
- "securityRules": [
- {
- "name": "allow-traffic-from-biz",
- "description": "Allow traffic originating from Business tier.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "1433",
- "sourceAddressPrefix": "10.0.2.0/24",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "allow-mgmt-rdp",
- "direction": "Inbound",
- "priority": 110,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "3389",
- "access": "Allow",
- "protocol": "Tcp"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "ra-ntier-sql-svca-nsg",
- "subnets": [
- "biz"
- ],
- "networkInterfaces": [
- ],
- "securityRules": [
- {
- "name": "allow-web-tier-traffic",
- "description": "Allow web traffic originating from Web Tier.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "80",
- "sourceAddressPrefix": "10.0.1.0/24",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "allow-mgmt-rdp",
- "direction": "Inbound",
- "priority": 110,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "3389",
- "access": "Allow",
- "protocol": "Tcp"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "ra-ntier-sql-svcb-nsg",
- "subnets": [
- "web"
- ],
- "networkInterfaces": [
- ],
- "securityRules": [
- {
- "name": "allow-web-traffic-from-external",
- "description": "Allow web traffic originating externally.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "80",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "allow-web-traffic-from-vnet",
- "description": "Allow web traffic originating from vnet.",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "80",
- "sourceAddressPrefix": "10.0.0.0/16",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 110,
- "direction": "Inbound"
- },
- {
- "name": "allow-mgmt-rdp",
- "direction": "Inbound",
- "priority": 120,
- "sourceAddressPrefix": "10.0.0.128/25",
- "destinationAddressPrefix": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "3389",
- "access": "Allow",
- "protocol": "Tcp"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 130,
- "direction": "Inbound"
- }
- ]
- },
- {
- "name": "ra-ntier-sql-mgmt-nsg",
- "subnets": [ ],
- "networkInterfaces": [
- "ra-ntier-sql-jb-vm1-nic1"
- ],
- "securityRules": [
- {
- "name": "default-allow-rdp",
- "description": "Allow RDP Subnet",
- "protocol": "Tcp",
- "sourcePortRange": "*",
- "destinationPortRange": "3389",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Allow",
- "priority": 100,
- "direction": "Inbound"
- },
- {
- "name": "deny-other-traffic",
- "description": "Deny all other traffic",
- "protocol": "*",
- "sourcePortRange": "*",
- "destinationPortRange": "*",
- "sourceAddressPrefix": "*",
- "destinationAddressPrefix": "*",
- "access": "Deny",
- "priority": 120,
- "direction": "Inbound"
- }
- ]
- }
- ]
- }
- }
-}
diff --git a/virtual-machines/n-tier-windows/parameters/sql-configure-ao-extension.parameters.json b/virtual-machines/n-tier-windows/parameters/sql-configure-ao-extension.parameters.json
deleted file mode 100644
index 7704e3bb3..000000000
--- a/virtual-machines/n-tier-windows/parameters/sql-configure-ao-extension.parameters.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesExtensionSettings": {
- "value": [
- {
- "vms": [ "ra-ntier-sql-vm2" ],
- "extensions": [
- {
- "name": "configuringAlwaysOn",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.19",
- "autoUpgradeMinorVersion": false,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/CreateFailoverCluster.ps1.zip",
- "configurationFunction": "CreateFailoverCluster.ps1\\CreateFailoverCluster",
- "properties": {
- "domainName": "contoso.com",
- "clusterName": "ra-ntier-sql-fc",
- "sharePath": "\\\\fsw1\\sql-fs",
- "nodes": [
- "sql1",
- "sql2"
- ],
- "sqlAlwaysOnEndpointName": "ra-ntier-sql-hadr",
- "sqlAlwaysOnAvailabilityGroupName": "alwayson-ag",
- "sqlAlwaysOnAvailabilityGroupListenerName": "alwayson-ag-listener",
- "SqlAlwaysOnAvailabilityGroupListenerPort": "1433",
- "databaseNames": "AutoHa-sample",
- "lbName": "ra-ntier-sql-lb",
- "lbAddress": "10.0.3.100",
- "primaryReplica": "sql2",
- "secondaryReplica": "sql1",
- "dnsServerName": "ad1",
- "adminCreds": {
- "userName": "testuser",
- "password": "privateSettingsRef:adminPassword"
- },
- "sqlServiceCreds": {
- "userName": "sqlservicetestuser",
- "password": "privateSettingsRef:sqlServerServiceAccountPassword"
- },
- "SQLAuthCreds": {
- "userName": "sqlsa",
- "password": "privateSettingsRef:sqlAuthPassword"
- },
- "NumberOfDisks": "2",
- "WorkloadType": "GENERAL"
- }
- },
- "protectedSettingsConfig": {
- "items": {
- "adminPassword": "AweS0me@PW",
- "sqlServerServiceAccountPassword": "AweS0me@SQLServicePW",
- "sqlAuthPassword": "AweS0me@SQLPW"
- }
- }
-
- }
- ]
- }
- ]
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/sql-iaas-ao-extensions.parameters.json b/virtual-machines/n-tier-windows/parameters/sql-iaas-ao-extensions.parameters.json
deleted file mode 100644
index 5fb59be14..000000000
--- a/virtual-machines/n-tier-windows/parameters/sql-iaas-ao-extensions.parameters.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesExtensionSettings": {
- "value": [
- {
- "vms": [ "ra-ntier-sql-vm1" ],
- "extensions": [
- {
- "name": "SqlVmIaasExtension",
- "type": "SqlIaaSAgent",
- "publisher": "Microsoft.SqlServer.Management",
- "typeHandlerVersion": "1.2",
- "autoUpgradeMinorVersion": "true",
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "AutoTelemetrySettings": {
- "Region": "West US 2"
- },
- "AutoPatchingSettings": {
- "PatchCategory": "WindowsMandatoryUpdates",
- "Enable": true,
- "DayOfWeek": "Sunday",
- "MaintenanceWindowStartingHour": "12",
- "MaintenanceWindowDuration": "60"
- },
- "AutoBackupSettings": {
- "Enable": false,
- "RetentionPeriod": "30",
- "EnableEncryption": false
- }
- },
- "protectedSettingsConfig": {
-
- }
-
- },
- {
- "name": "sqlAOPrepare",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.19",
- "autoUpgradeMinorVersion": false,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "modulesURL": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/PrepareAlwaysOnSqlServer.ps1.zip",
- "configurationFunction": "PrepareAlwaysOnSqlServer.ps1\\PrepareAlwaysOnSqlServer",
- "properties": {
- "domainName": "contoso.com",
- "sqlAlwaysOnEndpointName": "ra-ntier-sql-hadr",
- "adminCreds": {
- "userName": "testuser",
- "password": "privateSettingsRef:AdminPassword"
- },
- "sqlServiceCreds": {
- "userName": "sqlservicetestuser",
- "password": "privateSettingsRef:SqlServerServiceAccountPassword"
- },
- "NumberOfDisks": "2",
- "WorkloadType": "GENERAL"
- }
- },
- "protectedSettingsConfig": {
- "items": {
- "adminPassword": "AweS0me@PW",
- "sqlServerServiceAccountPassword": "AweS0me@SQLServicePW"
- }
- }
-
- }
- ]
- },
- {
- "vms": [ "ra-ntier-sql-vm2" ],
- "extensions": [
- {
- "name": "SqlVmIaasExtension",
- "type": "SqlIaaSAgent",
- "publisher": "Microsoft.SqlServer.Management",
- "typeHandlerVersion": "1.2",
- "autoUpgradeMinorVersion": true,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "AutoTelemetrySettings": {
- "Region": "West US 2"
- },
- "AutoPatchingSettings": {
- "PatchCategory": "WindowsMandatoryUpdates",
- "Enable": true,
- "DayOfWeek": "Sunday",
- "MaintenanceWindowStartingHour": "14",
- "MaintenanceWindowDuration": "60"
- },
- "AutoBackupSettings": {
- "Enable": false,
- "RetentionPeriod": "30",
- "EnableEncryption": false
- }
- },
- "protectedSettingsConfig": {
-
- }
-
- }
- ]
- }
- ]
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/sql.parameters.json b/virtual-machines/n-tier-windows/parameters/sql.parameters.json
deleted file mode 100644
index 19ea93da5..000000000
--- a/virtual-machines/n-tier-windows/parameters/sql.parameters.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "loadBalancerSettings": {
- "value": {
- "name": "ra-ntier-sql-lb",
- "frontendIPConfigurations": [
- {
- "name": "ra-ntier-sql-lbfe1",
- "loadBalancerType": "internal",
- "domainNameLabel": "",
- "internalLoadBalancerSettings": {
- "privateIPAddress": "10.0.3.100",
- "subnetName": "sql"
- }
- }
- ],
- "loadBalancingRules": [
- {
- "name": "SQLAlwaysOnEndPointListener",
- "frontendPort": 1433,
- "backendPort": 1433,
- "protocol": "Tcp",
- "backendPoolName": "ra-ntier-sql-lb-bep1",
- "frontendIPConfigurationName": "ra-ntier-sql-lbfe1",
- "enableFloatingIP": true,
- "probeName": "ra-ntier-sql-lbp1"
- }
- ],
- "probes": [
- {
- "name": "ra-ntier-sql-lbp1",
- "port": 59999,
- "protocol": "Tcp",
- "requestPath": null
- }
- ],
- "backendPools": [
- {
- "name": "ra-ntier-sql-lb-bep1",
- "nicIndex": 0
- }
- ],
- "inboundNatRules": [ ]
- }
- },
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-sql",
- "computerNamePrefix": "sql",
- "size": "Standard_DS1_v2",
- "osType": "windows",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "sshPublicKey": "",
- "osAuthenticationType": "password",
- "nics": [
- {
- "isPublic": "false",
- "isPrimary": "true",
- "subnetName": "sql",
- "privateIPAllocationMethod": "Dynamic",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "",
- "dnsServers": [
- "10.0.4.4",
- "10.0.4.5"
- ]
- }
- ],
- "imageReference": {
- "publisher": "MicrosoftSQLServer",
- "offer": "SQL2014SP2-WS2012R2",
- "sku": "Enterprise",
- "version": "latest"
- },
- "dataDisks": {
- "count": 2,
- "properties": {
- "diskSizeGB": 1000,
- "caching": "ReadOnly",
- "createOption": "Empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettingsConfig": {
- "Password": "AweS0me@PW"
- }
- }
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": "sql-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "resourceGroup": "ra-ntier-sql-network-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 2,
- "vmCount": 2,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/virtualMachines-mgmt.parameters.json b/virtual-machines/n-tier-windows/parameters/virtualMachines-mgmt.parameters.json
deleted file mode 100644
index 91e777acb..000000000
--- a/virtual-machines/n-tier-windows/parameters/virtualMachines-mgmt.parameters.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "ra-ntier-sql-jb",
- "computerNamePrefix": "jb",
- "size": "Standard_DS1_v2",
- "osType": "windows",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "sshPublicKey": "",
- "osAuthenticationType": "password",
- "nics": [
- {
- "isPublic": "true",
- "isPrimary": "true",
- "subnetName": "mgmt",
- "privateIPAllocationMethod": "dynamic",
- "publicIPAllocationMethod": "static",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "",
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "MicrosoftWindowsServer",
- "offer": "WindowsServer",
- "sku": "2012-R2-Datacenter",
- "version": "latest"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "extensions": [
- {
- "name": "IaaSAntimalware",
- "publisher": "Microsoft.Azure.Security",
- "type": "IaaSAntimalware",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "AntimalwareEnabled": true,
- "RealtimeProtectionEnabled": "true",
- "ScheduledScanSettings": {
- "isEnabled": "false",
- "day": "7",
- "time": "120",
- "scanType": "Quick"
- },
- "Exclusions": {
- "Extensions": "",
- "Paths": "",
- "Processes": ""
- }
- },
- "protectedSettingsConfig": { }
- }
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": "mgmt-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "resourceGroup": "ra-ntier-sql-network-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 1,
- "vmCount": 1,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/virtualNetwork.parameters.json b/virtual-machines/n-tier-windows/parameters/virtualNetwork.parameters.json
deleted file mode 100644
index 2378b6e14..000000000
--- a/virtual-machines/n-tier-windows/parameters/virtualNetwork.parameters.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "addressPrefixes": [
- "10.0.0.0/16"
- ],
- "subnets": [
- {
- "name": "web",
- "addressPrefix": "10.0.1.0/24"
- },
- {
- "name": "biz",
- "addressPrefix": "10.0.2.0/24"
- },
- {
- "name": "sql",
- "addressPrefix": "10.0.3.0/24"
- },
- {
- "name": "ad",
- "addressPrefix": "10.0.4.0/24"
- },
- {
- "name": "mgmt",
- "addressPrefix": "10.0.0.128/25"
- }
- ],
- "dnsServers": [
- "10.0.4.4",
- "10.0.4.5",
- "168.63.129.16"
- ]
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/parameters/web.parameters.json b/virtual-machines/n-tier-windows/parameters/web.parameters.json
deleted file mode 100644
index e6efd1357..000000000
--- a/virtual-machines/n-tier-windows/parameters/web.parameters.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "loadBalancerSettings": {
- "value": {
- "name": "web-lb",
- "frontendIPConfigurations": [
- {
- "name": "web-lb-fe-config1",
- "loadBalancerType": "public",
- "domainNameLabel": "",
- "internalLoadBalancerSettings": { }
- }
- ],
- "loadBalancingRules": [
- {
- "name": "lbr1",
- "frontendPort": 80,
- "backendPort": 80,
- "protocol": "Tcp",
- "backendPoolName": "lb-bep1",
- "frontendIPConfigurationName": "web-lb-fe-config1",
- "enableFloatingIP": false,
- "probeName": "lbp1"
- }
- ],
- "probes": [
- {
- "name": "lbp1",
- "port": 80,
- "protocol": "Http",
- "requestPath": "/"
- }
- ],
- "backendPools": [
- {
- "name": "lb-bep1",
- "nicIndex": 0
- }
- ],
- "inboundNatRules": [ ]
- }
- },
- "virtualMachinesSettings": {
- "value": {
- "namePrefix": "web",
- "computerNamePrefix": "web",
- "size": "Standard_DS1_v2",
- "adminUsername": "testuser",
- "adminPassword": "AweS0me@PW",
- "osType": "windows",
- "osAuthenticationType": "password",
- "sshPublicKey": "",
- "nics": [
- {
- "isPublic": "false",
- "isPrimary": "true",
- "subnetName": "web",
- "privateIPAllocationMethod": "dynamic",
- "enableIPForwarding": false,
- "domainNameLabelPrefix": "",
- "dnsServers": [ ]
- }
- ],
- "imageReference": {
- "publisher": "MicrosoftWindowsServer",
- "offer": "WindowsServer",
- "sku": "2012-R2-Datacenter",
- "version": "latest"
- },
- "osDisk": {
- "caching": "ReadWrite"
- },
- "dataDisks": {
- "count": 1,
- "properties": {
- "diskSizeGB": 128,
- "caching": "None",
- "createOption": "Empty"
- }
- },
- "extensions": [
- {
- "name": "join-ad-domain",
- "publisher": "Microsoft.Compute",
- "type": "JsonADDomainExtension",
- "typeHandlerVersion": "1.3",
- "autoUpgradeMinorVersion": true,
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "settingsConfig": {
- "Name": "contoso.com",
- "OUPath": "",
- "User": "contoso.com\\testuser",
- "Restart": true,
- "Options": 3
- },
- "protectedSettingsConfig": {
- "Password": "AweS0me@PW"
- }
- },
- {
- "name": "iis-config-ext",
- "settingsConfigMapperUri": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/templates/resources/Microsoft.Compute/virtualMachines/extensions/vm-extension-passthrough-settings-mapper.json",
- "publisher": "Microsoft.Powershell",
- "type": "DSC",
- "typeHandlerVersion": "2.20",
- "autoUpgradeMinorVersion": true,
- "settingsConfig": {
- "modulesUrl": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/extensions/iisaspnet.ps1.zip",
- "configurationFunction": "iisaspnet.ps1\\iisaspnet"
- },
- "protectedSettingsConfig": { }
- }
- ],
- "availabilitySet": {
- "useExistingAvailabilitySet": "No",
- "name": "web-as"
- }
- }
- },
- "virtualNetworkSettings": {
- "value": {
- "name": "ra-ntier-sql-vnet",
- "resourceGroup": "ra-ntier-sql-network-rg"
- }
- },
- "buildingBlockSettings": {
- "value": {
- "storageAccountsCount": 1,
- "vmCount": 2,
- "vmStartIndex": 1
- }
- }
- }
-}
-
diff --git a/virtual-machines/n-tier-windows/security.azuredeploy.json b/virtual-machines/n-tier-windows/security.azuredeploy.json
deleted file mode 100644
index a014da10a..000000000
--- a/virtual-machines/n-tier-windows/security.azuredeploy.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "templateRootUri": {
- "type": "string",
- "defaultValue": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/",
- "metadata": {
- "description": "Root path for templates"
- }
- },
- "parameterRootUri": {
- "type": "string",
- "defaultValue": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/parameters/",
- "metadata": {
- "decription": "Root path for parameters"
- }
- }
- },
- "variables": {
- "templates": {
- "deployment": {
- "networkSecurityGroup": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/networkSecurityGroups/azuredeploy.json')]"
- },
- "parameter": {
- "networkSecurityGroup": "[concat(parameters('parameterRootUri'), 'networkSecurityGroups.parameters.json')]"
- }
- }
- },
- "resources": [
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-nsg-deployment",
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.networkSecurityGroup]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.networkSecurityGroup]",
- "contentVersion": "1.0.0.0"
- }
- }
- }
- ]
-}
-
diff --git a/virtual-machines/n-tier-windows/templates/adds/ad-forest-extension-settings-mapper.json b/virtual-machines/n-tier-windows/templates/adds/ad-forest-extension-settings-mapper.json
deleted file mode 100644
index 3e96a38dd..000000000
--- a/virtual-machines/n-tier-windows/templates/adds/ad-forest-extension-settings-mapper.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "deploymentContext": { "type": "object" },
- "source": { "type": "object" },
- "context": { "type": "object" }
- },
- "variables": {
- "instance": {
- "settings": {
- "fileUris": "[parameters('source').settingsConfig.fileUris]",
- "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -Command \"& {.\\adds-forest.ps1 -DomainName \\\"', parameters('source').settingsConfig.activeDirectorySettings.domainName, '\\\" -DomainNetbiosName \\\"', parameters('source').settingsConfig.activeDirectorySettings.domainNetbiosName, '\\\" -SafeModePassword \\\"', parameters('source').settingsConfig.activeDirectorySettings.safeModePassword, '\\\" }\"')]"
- },
- "protectedSettings": { }
- }
-
- },
- "resources": [
-
- ],
- "outputs": {
- "settings": {
- "type": "object",
- "value": "[variables('instance')]"
- }
- }
-}
diff --git a/virtual-machines/n-tier-windows/templates/adds/adds-domain-controller-extension-settings-mapper.json b/virtual-machines/n-tier-windows/templates/adds/adds-domain-controller-extension-settings-mapper.json
deleted file mode 100644
index 5d27058be..000000000
--- a/virtual-machines/n-tier-windows/templates/adds/adds-domain-controller-extension-settings-mapper.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "deploymentContext": { "type": "object" },
- "source": { "type": "object" },
- "context": { "type": "object" }
- },
- "variables": {
- "instance": {
- "settings": {
- "fileUris": "[parameters('source').settingsConfig.fileUris]",
- "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -Command \"& {.\\adds.ps1 -SafeModePassword \\\"', parameters('source').settingsConfig.activeDirectorySettings.safeModePassword, '\\\" -DomainName \\\"', parameters('source').settingsConfig.activeDirectorySettings.domainName, '\\\" -AdminUser \\\"', parameters('source').settingsConfig.activeDirectorySettings.adminUser, '\\\" -AdminPassword \\\"', parameters('source').settingsConfig.activeDirectorySettings.adminPassword, '\\\" -SiteName \\\"', parameters('source').settingsConfig.activeDirectorySettings.siteName, '\\\"}\"')]"
- },
- "protectedSettings": { }
- }
-
- },
- "resources": [
-
- ],
- "outputs": {
- "settings": {
- "type": "object",
- "value": "[variables('instance')]"
- }
- }
-}
diff --git a/virtual-machines/n-tier-windows/virtualNetwork.azuredeploy.json b/virtual-machines/n-tier-windows/virtualNetwork.azuredeploy.json
deleted file mode 100644
index d943dcb78..000000000
--- a/virtual-machines/n-tier-windows/virtualNetwork.azuredeploy.json
+++ /dev/null
@@ -1,223 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "templateRootUri": {
- "type": "string",
- "defaultValue": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/",
- "metadata": {
- "description": "Root path for templates"
- }
- },
- "parameterRootUri": {
- "type": "string",
- "defaultValue": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/parameters/",
- "metadata": {
- "decription": "Root path for parameters"
- }
- }
- },
- "variables": {
- "templates": {
- "deployment": {
- "loadBalancer": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/loadBalancer-backend-n-vm/azuredeploy.json')]",
- "virtualNetwork": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/vnet-n-subnet/azuredeploy.json')]",
- "virtualMachine": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/multi-vm-n-nic-m-storage/azuredeploy.json')]",
- "extensions": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/virtualMachine-extensions/azuredeploy.json')]"
- },
- "parameter": {
- "virtualNetwork": "[concat(parameters('parameterRootUri'), 'virtualNetwork.parameters.json')]",
- "ad": "[concat(parameters('parameterRootUri'), 'adds/ad.parameters.json')]",
- "adPrimaryExtension": "[concat(parameters('parameterRootUri'), 'adds/create-adds-forest-extension.parameters.json')]",
- "adSecondaryExtension": "[concat(parameters('parameterRootUri'), 'adds/add-adds-domain-controller.parameters.json')]",
- "vnetDnsUpdate": "[concat(parameters('parameterRootUri'), 'adds/virtualNetwork-adds-dns.parameters.json')]",
- "sqlServers": "[concat(parameters('parameterRootUri'), 'sql.parameters.json')]",
- "sqlFsw": "[concat(parameters('parameterRootUri'), 'fsw.parameters.json')]",
- "sqlAOIaaSExtensions": "[concat(parameters('parameterRootUri'), 'sql-iaas-ao-extensions.parameters.json')]",
- "sqlConfigureAOExtensions": "[concat(parameters('parameterRootUri'), 'sql-configure-ao-extension.parameters.json')]",
- "managementTier": "[concat(parameters('parameterRootUri'), 'virtualMachines-mgmt.parameters.json')]"
- }
- }
- },
- "resources": [
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-vnet-deployment",
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualNetwork]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.virtualNetwork]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-mgmt-deployment",
- "dependsOn": [
- "ra-ntier-sql-vnet-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualMachine]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.managementTier]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-ad-deployment",
- "dependsOn": [
- "ra-ntier-sql-vnet-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualMachine]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.ad]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-update-dns",
- "dependsOn": [
- "ra-ntier-sql-ad-deployment"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualNetwork]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.vnetDnsUpdate]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-primary-ad-ext",
- "dependsOn": [
- "ra-ntier-sql-update-dns"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.extensions]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.adPrimaryExtension]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-secondary-ad-ext",
- "dependsOn": [
- "ra-ntier-sql-primary-ad-ext"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.extensions]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.adSecondaryExtension]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-servers",
- "dependsOn": [
- "ra-ntier-sql-secondary-ad-ext"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.loadBalancer]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.sqlServers]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-fsw",
- "dependsOn": [
- "ra-ntier-sql-secondary-ad-ext"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.virtualMachine]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.sqlFsw]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-ao-iaas-ext",
- "dependsOn": [
- "ra-ntier-sql-servers",
- "ra-ntier-sql-fsw"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.extensions]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.sqlAOIaaSExtensions]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-configure-ao-ext",
- "dependsOn": [
- "ra-ntier-sql-ao-iaas-ext"
- ],
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.extensions]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.sqlConfigureAOExtensions]",
- "contentVersion": "1.0.0.0"
- }
- }
- }
- ]
-}
-
diff --git a/virtual-machines/n-tier-windows/workload.azuredeploy.json b/virtual-machines/n-tier-windows/workload.azuredeploy.json
deleted file mode 100644
index 758eec722..000000000
--- a/virtual-machines/n-tier-windows/workload.azuredeploy.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "templateRootUri": {
- "type": "string",
- "defaultValue": "https://raw.githubusercontent.com/mspnp/template-building-blocks/v1.0.0/",
- "metadata": {
- "description": "Root path for templates"
- }
- },
- "parameterRootUri": {
- "type": "string",
- "defaultValue": "https://raw.githubusercontent.com/mspnp/reference-architectures/master/virtual-machines/n-tier-windows/parameters/",
- "metadata": {
- "decription": "Root path for parameters"
- }
- }
- },
- "variables": {
- "templates": {
- "deployment": {
- "loadBalancer": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/loadBalancer-backend-n-vm/azuredeploy.json')]",
- "virtualMachine": "[concat(parameters('templateRootUri'), 'templates/buildingBlocks/multi-vm-n-nic-m-storage/azuredeploy.json')]"
- },
- "parameter": {
- "biz": "[concat(parameters('parameterRootUri'), 'biz.parameters.json')]",
- "web": "[concat(parameters('parameterRootUri'), 'web.parameters.json')]",
- "managementTier": "[concat(parameters('parameterRootUri'), 'virtualMachines-mgmt.parameters.json')]"
- }
- }
- },
- "resources": [
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-biz-deployment",
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.loadBalancer]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.biz]",
- "contentVersion": "1.0.0.0"
- }
- }
- },
- {
- "type": "Microsoft.Resources/deployments",
- "apiVersion": "2015-01-01",
- "name": "ra-ntier-sql-web-deployment",
- "properties": {
- "mode": "Incremental",
- "templateLink": {
- "uri": "[variables('templates').deployment.loadBalancer]"
- },
- "parametersLink": {
- "uri": "[variables('templates').parameter.web]",
- "contentVersion": "1.0.0.0"
- }
- }
- }
- ]
-}
-