On Prem VMs

You will need some on premises servers to onboard and connect to Azure as part of the pilot. Create then on the platform of your choice, or spin them up in Azure using our Terraform repo.


⚠️ Are you are on an Azure Arc for Servers partner hack with Cloud Solution Architects from the UK GPS team at Microsoft?

If the answer is yes then you can skip this page. Join the hack when it starts, and then you can go straight to the foundation page once the introduction session has finished.

If not then you’re going to need some on prem VMs. Read on…


Your Azure Arc pilot requires a small number of Windows and linux servers.

These will be your “on prem” machines.

You will be onboarding these VMs as Azure Arc-enabled VMs. The hack scenario assumes a pilot of:

  • 3 x Windows Server VMs
  • 3 x Linux VMs

You have a choice here. Either:

  1. Create your own (preferred)

    If you have access to your own test/dev hardware then create a few VMs of each type.

    Azure Arc can onboard VMs from VMware vSphere, Hyper-V, Xen, Nutanix, AWS, GCP, bare metal servers etc. Refer to the supported list for Azure Arc and ensure your VMs have outgoing internet access.

    If you are providing your own “on prem” VMs then you can skip the rest of this page and go to the foundation page.

  2. Use our Terraform repo

    We have created a repo that allows you to generate a few “on prem” VMs. This is how we prepare environments for partners to use in the hacks.

Terraform prereqs

If using the Terraform repo then you will need an Azure subscription with sufficient credits and CPU quota.

If possible, deploy “on prem” into a separate subscription to the one used for onboarding. Seeing the “on prem” VMs in the same subscription as the matching Azure Arc-enabled Servers can prove confusing.

  1. Contributor access

  2. CPU quota

    # SKU Description Quota
    3 Standard_D2s_v3 Windows Server 2019 6 Standard DSv3 Family vCPUs
    3 Standard_A1_v2 Ubuntu 18.04 3 Standard Av2 Family vCPUs

    Check quota:

    az vm list-usage --location uksouth --output table

    Restrictions apply to some subscription offer types. Check SKU availability:

    az vm list-skus --location uksouth --size Standard_D --all --output table

    Note that the repo allows you to create the Windows and Linux servers in different paired regions and to change the VM SKUs from the defaults.

  3. Providers

    az provider register --namespace Microsoft.Compute
    az provider register --namespace Microsoft.Storage
    az provider register --namespace Microsoft.Network

Terraform deployment

The Terraform repo is https://github.com/terraform-azurerm-examples/arc-onprem-servers.

  1. Open a Bash shell

    You may use Cloud Shell with the Bash experience.

    Use code . in Cloud Shell to edit files with the Monaco editor.

  2. SSH Key Pair

    Create an SSH key pair if you don’t already have one.

  3. Clone and deploy

    Follow the instructions in the README to deploy the VMs.

    Experience with Terraform is not required or assumed.

    If there are any issues with the repo then please open an issue.


⚠️ Please do not interact directly with the Azure resources in the onprem_servers resource group!

These VMs represent VMs that exist outside of Azure, so think of them as on prem servers, e.g. VMs running in an ESXi cluster in a datacentre.

You shouldn’t configure anything in the portal or CLI that directly accesses the VMs in the onprem_servers resource group az Azure resources, e.g. resetting passwords, installing extensions or applying policies.

Hint: You can also shut down these VMs in the portal when they are not needed so that they are deallocated and do not incur compute costs.


Next up

You now have on prem servers. Next you will prepare a resource group to onboard them into.

Move onto foundation.

Help us improve

Azure Citadel is a community site built on GitHub, please contribute and send a pull request

 Make a change