Azure Resource Manager is the deployment and management service for Azure. It provides a consistent management layer that enables you to create, update, and delete resources in your Azure subscription. You can use its access control, auditing, and tagging features to secure and organize your resources after deployment.

There are no prebuilt ARM templates or PowerShell scripts available from NGINX currently. However, there is nothing preventing the creation of an ARM template and PowerShell script based on your custom deployment requirements for Azure using your custom VM images previously created.

The following provides an example of creating an Ubuntu 16.04 LTS marketplace image from Canonical along with the NGINX web server using the Azure Cloud Shell and the Azure PowerShell module.

Open the Azure Cloud Shell and the perform the following steps in Azure PowerShell:

1. Use ssh-keygen to create an SSH key pair:

2. Create an Azure resource group with New-AzResourceGroup:

3. Create a virtual network, subnet, and a public IP address:

4. Create an Azure Network Security Group and traffic rule:

5. Create a virtual network interface card (NIC) with New-AzNetworkInterface:

6. Create a virtual machine. In this example, the SSH key is stored in ~/.ssh/

7. Now, combine the previous configuration definitions to create with New-AzVM:

8. Connect to the VM once it is created. Create an SSH connection with the VM using the public IP address. To see the public IP address of the VM, use the Get-AzPublicIpAddress cmdlet:

9. Paste the SSH connection command into the shell to create an SSH session:

10. Install the NGINX web server. From your SSH session, update your package sources and then install the latest NGINX package:

11. When done, type exit to leave the SSH session. Use a web browser of your choice to view the default NGINX welcome page. Enter the public IP address of the VM as the web address.