Deploy Azure VMware Solution Private Cloud
Azure VMware Solution (AVS) is a cloud-based hosted VMware solution that enables customers the flexibility to both run workloads within the Azure ecosystem completely, or replicate on-premises VMware workloads to AVS. Use cases include dev/test, disaster recovery and even for short-term bursts where additional resources are required beyond what might be available in the local datacenter. After it is deployed, users are greeted with familiar vSphere and NSX-T interfaces from which they can provision and manage their VMware-based workloads and connect it to external storage solutions such as Pure Storage Cloud Block Store (CBS). As of this writing, it is important to note that in-guest iSCSI is the only supported method of connecting Cloud Block Store to AVS. We are optimistic this will change in the future, though.
This user guide will detail how to setup and manage AVS and use it in combination with CBS on Azure with Windows in-guest iSCSI.
Create a Resource Group and Virtual Network
A resource group within Azure is exactly what it sounds like: A container for managing different resources deployed within Azure. Customers might have a Resource Group and other pieces already created that they can leverage, but for the purposes of this guide we will be creating everything from scratch to show the end-to-end deployment.
To start, Login to your Azure portal, select Resource Groups and then click the Add button.
You will need to associate your new Resource Group with the appropriate Azure Subscription (1) you wish to use and then give it a Name (2). Next, select a Region (3) that you want the resource group to run within. Make sure that the Region that you select supports AVS and then click Create on the bottom of the screen.
With the Resource Group created, we can now add a Virtual Network to it that will enable communication amongst all of the subsequent items that we deploy. You can simply search for Virtual Network in the search bar and when the item below comes up, select it and then click on the Create button to launch the associated wizard.
As with the Resource Group creation, select a Subscription you want to use, then select the Resource Group that was created in the previous step. Next, give the virtual network (vnet) a name and select the same Region used in the Resource Group. Click on the Next button to specify IP addresses.
Define an IPv4 address space that you wish to associate with the vnet. This range can be very large or very small depending upon the size of the AVS deployment required and what other services might be running in parallel within the resource group. For example purposes, a /20 or a few /24 address spaces are more than sufficient.
Subnets are contained within the IPv4 address space and help delineate network traffic based upon function. To create a subnet, click on the + Add subnet button.
The first subnet we create is required for AVS to be deployed successfully. Name the subnet Gateway Subnet and select a minimum of a /24 range contained in the vnet address space, then select Add.
We repeated the +Add subnet procedure and create an additional /24 range called default (though any name can be used) which will be used later within this section for jumphost creation.
Leave the Security options as default unless your environment requires a change then click on Review + create.
Once the vnet is validated click on Create to build it.
Create a Azure VMware Solution (AVS) Private Cloud
The vnet we created in the previous section is the only prerequisite component that needs to be in place before you can deploy a AVS private cloud.
To get started creating AVS, search for Azure VMware Solution in the Azure marketplace and click on the below search result.
The AVS creation wizard will spawn. Please note that a support request must be opened with Microsoft in order to have AVS resources allocated to the appropriate subscription ID before it can be deployed. Furthermore, AVS is only available in certain regions, which can be found by following this link.
With those prerequisites out of the way, the AVS creation wizard screenshot is shown below with individual field descriptions broken out below.
- Subscription: Enter the Azure subscription that you requested to be used with AVS.
- Resource group: Select the Resource Group created earlier within this article.
- Location: Pick the region you used for the Resource Group, taking care that it also is supported by AVS.
- Resource Name: Provide a name for your AVS private cloud.
- SKU: Pick a SKU to be used. Configuration and pricing details can be found here.
- ESXi hosts: Select the number of ESXi hosts you want to associate with your AVS deployment. The minimum number of hosts that must be used is three.
- vCenter admin password: Specify a complex password for the cloudadmin@vsphere.local username you will use to connect in to vCenter post-deployment.
- NSX-T Manager password: Specify a complext password that will be used for logging into NSX-T with the admin account post-deployment.
- Address block: Enter a private, non-overlapping CIDR block that AVS will use for functions like management, vMotion and HCX. This range cannot overlap with the range you specified in your vnet created earlier within this guide.
- Virtual Network: Select the vnet that was created earlier within this guide. The AVS deployment will create an expressroute circuit between this network and the private address block specified in the previous step.
With all of the above fields completed, click on Review + create to validate the inputs prior to deployment.
Once the deployment inputs have been validated, you can click the Create button to kick off the AVS cloud deployment. Note that a typical 3 ESXi host deployment can take anywhere from 2-3 hours.
Upon completion of the deployment, you will be able to navigate into the AVS resource and find IP addresses for vCenter and NSX-T as well as IP addresses for those and other components on the private network.
Create a Windows Virtual Machine JumpHost in Azure
While we wait for the AVS deployment to build, another item to build is an Azure jumphost that we can use to access AVS (specifically vCenter, NSX-T and VMs running on top of AVS) once it has been built.
To start, go to the Azure portal and select Virtual machines followed by Add.
A description for each of the highlighted fields can be found below.
- Subscription: Enter the Azure subscription that you requested to be used with AVS.
- Resource group: Select the Resource Group created earlier within this article.
- Virtual machine name: Provide a descriptive name for the virtual machine (e.g. Jumphost)
- Region: Pick the same region you used for the Resource Group and AVS.
- Availability options: Depending on the SLA needed for this VM, you can add availability options for it here.
- Image: Select the operating system you wish to use to access AVS. For our example we are using Windows Server 2019 but other operating systems will certainly work.
- Azure Spot instance: We select No for our example but more information on Spot instances is available here.
- Size: This selection allocates vCPUs and RAM to the virtual machine via predetermined sizes.
- Username: Select a username that will be used to login to the VM once created.
- Password: Enter a complex password for the user account.
- Public inbound ports: Since we are using this as a jumphost to access AVS, we clicked on Allow selected ports.
- Select inbound ports: We choose RDP to enable RDP access to the jumphost.
- Licensing: Leave this as No unless you have a Windows key available to use.
After the above fields have been filled out, click on Next : Disks > to proceed to the next step in the wizard.
Unless your jumphost is going to be running other applications that require a higher performance OS drive, Standard SSD should be sufficient for the jumphost function. Click on the Next : Networking > button on the bottom of the screen to proceed.
Earlier in this section we created a default subnet as part of our AVS vnet. Select the virtual network created earlier in this section and the Subnet (default) and create a new public IP address.
Click on Review + create to validate and create the VM.
After validation passes, click on Create to build the VM.
Once the virtual machine has been created, navigate to it within the Azure Resource Group. Click on Overview, then Connect and finally RDP.
In the Connect window, you can Download RDP file to your local machine and then double-click on the downloaded file to launch RDP and connect to your new jumphost VM with the credentials used when the VM was created.