Skip navigation

Deploy a Bastion host in a hub Virtual Network

Last updated: 2021-04-22

This template creates two vNets with peerings, a Bastion host in the Hub vNet and a Linux VM in the spoke vNet

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
location The location of all resources
vNetHubName The name of the Hub vNet
vNetSpokeName The name of the Spoke vNet
vmName The name of the Virtual Machine
vmSize The size of the Virtual Machine
adminUsername The administrator username
adminPassword The administrator password
storageAccountName The name of the storage account that will be used for boot diagnostics
bastionHostName The name of the Azure Bastion host

Use the template

PowerShell

New-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.network/bastion-hub-spoke-vnet/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deployment
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.network/bastion-hub-spoke-vnet/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface