About Bastion configuration settings

The sections in this article discuss the resources and settings for Azure Bastion.

SKUs

A SKU is also known as a Tier. Azure Bastion supports multiple SKU tiers. When you configure Bastion, you select the SKU tier. You decide the SKU tier based on the features that you want to use. The following table shows the availability of features per corresponding SKU.

Feature Developer SKU Basic SKU Standard SKU Premium SKU
Connect to target VMs in same virtual network Yes Yes Yes Yes
Connect to target VMs in peered virtual networks No Yes Yes Yes
Support for concurrent connections No Yes Yes Yes
Access Linux VM Private Keys in Azure Key Vault (AKV) Yes Yes Yes Yes
Connect to Linux VM using SSH Yes Yes Yes Yes
Connect to Windows VM using RDP Yes Yes Yes Yes
Connect to Linux VM using RDP No No Yes Yes
Connect to Windows VM using SSH No No Yes Yes
Specify custom inbound port No No Yes Yes
Connect to VMs using Azure CLI No No Yes Yes
Host scaling No No Yes Yes
Upload or download files No No Yes Yes
Kerberos authentication No Yes Yes Yes
Shareable link No No Yes Yes
Connect to VMs via IP address No No Yes Yes
VM audio output Yes Yes Yes Yes
Disable copy/paste (web-based clients) No No Yes Yes
Session recording No No No Yes
Private-only deployment No No No Yes

Developer SKU

The Bastion Developer SKU is a free, lightweight SKU. This SKU is ideal for Dev/Test users who want to securely connect to their VMs, but don't need additional Bastion features or host scaling. With the Developer SKU, you can connect to one Azure VM at a time directly through the virtual machine connect page.

When you deploy Bastion using the Developer SKU, the deployment requirements are different than when you deploy using other SKUs. Typically when you create a bastion host, a host is deployed to the AzureBastionSubnet in your virtual network. The Bastion host is dedicated for your use. When you use the Developer SKU, a bastion host isn't deployed to your virtual network and you don't need an AzureBastionSubnet. However, the Developer SKU bastion host isn't a dedicated resource. Instead, it's part of a shared pool.

Because the Developer SKU bastion resource isn't dedicated, the features for the Developer SKU are limited. See the Bastion configuration settings SKU section for features listed by SKU. You can always upgrade the Developer SKU to a higher SKU if you need to support more features. See Upgrade a SKU.

The Developer SKU is currently available in the following regions:

  • Central US EUAP
  • East US 2 EUAP
  • West Central US
  • North Central US
  • West US
  • North Europe

Note

VNet peering isn't currently supported for the Developer SKU.

Premium SKU

The Premium SKU is a new SKU that supports Bastion features such as Session Recording and Private-Only Bastion. When you deploy Bastion, we recommend that you select the Premium SKU only if you need the features that it supports.

Specify SKU

Method SKU Value Links
Azure portal Tier - Developer Quickstart
Azure portal Tier - Basic Quickstart
Azure portal Tier - Basic or higher Tutorial
Azure PowerShell Tier - Basic or higher How-to
Azure CLI Tier - Basic or higher How-to

Upgrade a SKU

You can always upgrade a SKU to add more features. For more information, see Upgrade a SKU.

Note

Downgrading a SKU is not supported. To downgrade, you must delete and recreate Azure Bastion.

Azure Bastion subnet

Important

For Azure Bastion resources deployed on or after November 2, 2021, the minimum AzureBastionSubnet size is /26 or larger (/25, /24, etc.). All Azure Bastion resources deployed in subnets of size /27 prior to this date are unaffected by this change and will continue to work, but we highly recommend increasing the size of any existing AzureBastionSubnet to /26 in case you choose to take advantage of host scaling in the future.

When you deploy Azure Bastion using any SKU except the Developer SKU, Bastion requires a dedicated subnet named AzureBastionSubnet. You must create this subnet in the same virtual network that you want to deploy Azure Bastion to. The subnet must have the following configuration:

  • Subnet name must be AzureBastionSubnet.
  • Subnet size must be /26 or larger (/25, /24 etc.).
  • For host scaling, a /26 or larger subnet is recommended. Using a smaller subnet space limits the number of scale units. For more information, see the Host scaling section of this article.
  • The subnet must be in the same virtual network and resource group as the bastion host.
  • The subnet can't contain other resources.

You can configure this setting using the following methods:

Method Value Links
Azure portal Subnet Quickstart
Tutorial
Azure PowerShell -subnetName cmdlet
Azure CLI --subnet-name command

Public IP address

Azure Bastion deployments, except Developer SKU and Private-only, require a Public IP address. The Public IP must have the following configuration:

  • The Public IP address SKU must be Standard.
  • The Public IP address assignment/allocation method must be Static.
  • The Public IP address name is the resource name by which you want to refer to this public IP address.
  • You can choose to use a public IP address that you already created, as long as it meets the criteria required by Azure Bastion and isn't already in use.

You can configure this setting using the following methods:

Method Value Links
Azure portal Public IP address Azure portal
Azure PowerShell -PublicIpAddress cmdlet
Azure CLI --public-ip create command

Instances and host scaling

An instance is an optimized Azure VM that is created when you configure Azure Bastion. It's fully managed by Azure and runs all of the processes needed for Azure Bastion. An instance is also referred to as a scale unit. You connect to client VMs via an Azure Bastion instance. When you configure Azure Bastion using the Basic SKU, two instances are created. If you use the Standard SKU or higher, you can specify the number of instances (with a minimum of two instances). This is called host scaling.

Each instance can support 20 concurrent RDP connections and 40 concurrent SSH connections for medium workloads (see Azure subscription limits and quotas for more information). The number of connections per instances depends on what actions you're taking when connected to the client VM. For example, if you're doing something data intensive, it creates a larger load for the instance to process. Once the concurrent sessions are exceeded, another scale unit (instance) is required.

Instances are created in the AzureBastionSubnet. To allow for host scaling, the AzureBastionSubnet should be /26 or larger. Using a smaller subnet limits the number of instances you can create. For more information about the AzureBastionSubnet, see the subnets section in this article.

You can configure this setting using the following methods:

Method Value Links Requires Standard SKU or higher
Azure portal Instance count How-to Yes
Azure PowerShell ScaleUnit How-to Yes

Custom ports

You can specify the port that you want to use to connect to your VMs. By default, the inbound ports used to connect are 3389 for RDP and 22 for SSH. If you configure a custom port value, specify that value when you connect to the VM.

Custom port values are supported for the Standard SKU or higher only.

The Bastion Shareable Link feature lets users connect to a target resource using Azure Bastion without accessing the Azure portal.

When a user without Azure credentials clicks a shareable link, a webpage opens that prompts the user to sign in to the target resource via RDP or SSH. Users authenticate using username and password or private key, depending on what you configured in the Azure portal for that target resource. Users can connect to the same resources that you can currently connect to with Azure Bastion: VMs or virtual machine scale set.

Method Value Links Requires Standard SKU or higher
Azure portal Shareable Link Configure Yes

Private-only deployment

Private-only Bastion deployments lock down workloads end-to-end by creating a non-internet routable deployment of Bastion that allows only private IP address access. Private-only Bastion deployments don't allow connections to the bastion host via public IP address. In contrast, a regular Azure Bastion deployment allows users to connect to the bastion host using a public IP address. For more information, see Deploy Bastion as private-only.

Session recording

When the Azure Bastion Session recording feature is enabled, you can record the graphical sessions for connections made to virtual machines (RDP and SSH) via the bastion host. After the session is closed or disconnected, recorded sessions are stored in a blob container within your storage account (via SAS URL). When a session is disconnected, you can access and view your recorded sessions in the Azure portal on the Session Recording page. Session recording requires the Bastion Premium SKU. For more information, see Bastion session recording.

Availability zones

Some regions support the ability to deploy Azure Bastion in an availability zone (or multiple, for zone redundancy). To deploy zonally, deploy Bastion using manually specified settings (don't deploy using the automatic default settings). Specify the desired availability zones at the time of deployment. You can't change zonal availability after Bastion is deployed.

Support for Availability Zones is currently in preview. During preview, the following regions are available:

  • East US
  • Australia East
  • East US 2
  • Central US
  • Qatar Central
  • South Africa North
  • West Europe
  • West US 2
  • North Europe
  • Sweden Central
  • UK South
  • Canada Central

Next steps

For frequently asked questions, see the Azure Bastion FAQ.