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" - } - } - } - ] -} -