Nodejs front-end and MongoDB cluster on Ubuntu VMs

by Oz
Last updated: 02/02/2016

This template creates a front-end Nodejs service and a multi-server MongoDB deployment on Ubuntu virtual machines, and configures the MongoDB installation for high availability

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
adminUsername Administrator user name used when provisioning virtual machines (which also becomes a system user administrator in MongoDB)
adminPassword Administrator password used when provisioning virtual machines (which is also a password for the system administrator in MongoDB)
storageAccountName Unique namespace for the Storage Account where the Virtual Machine's disks will be placed (this name will be used as a prefix to create one or more storage accounts as per t-shirt size)
virtualNetworkName The arbitrary name of the virtual network provisioned for the MongoDB deployment
subnetName Subnet name for the virtual network that resources will be provisioned in to
addressPrefix The network address space for the virtual network
subnetPrefix The network address space for the virtual subnet
nodeAddressPrefix The IP address prefix that will be used for constructing a static private IP address for each node in the cluster
storageNameForFrontEnd Name of storage for front end VM's.
dnsNameForPublicIP Unique DNS Name for the Public IP used to access the front end Virtual Machine.
ubuntuOSVersion The Ubuntu version for the front end VM. This will pick a fully patched image of this given Ubuntu version. Allowed values: 12.04.2-LTS, 12.04.3-LTS, 12.04.4-LTS, 12.04.5-LTS, 12.10, 14.04.2-LTS, 14.10, 15.10.
jumpbox The flag allowing to enable or disable provisioning of the jumpbox VM that can be used to access the MongoDB environment
tshirtSize T-shirt size of the MongoDB deployment
replicaSetName The name of the MongoDB replica set
replicaSetKey The shared secret key for the MongoDB replica set

Use the template

PowerShell

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/mongodb-nodejs-high-availability/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/mongodb-nodejs-high-availability/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface