The Azure Marketplace is a software repository for pre-built and configured Azure resources from independent software vendors (ISVs). You will find open source and enterprise applications that have been certified and optimized to run on Azure.
NGINX, Inc. provides the latest release of NGINX Plus in the Azure Marketplace as a virtual machine (VM) image. NGINX OSS is not available from NGINX, Inc. but there are several options available from other ISVs in the Azure Marketplace.
Searching for “NGINX” in the Azure Marketplace will produce several results as shown below:
You will see several results besides the official NGINX Plus VM image from NGINX, Inc. such as the following examples from other ISVs for NGINX OSS:
- NGINX Web Server (Centos 7)
- NGINX Web Server on Windows Server 2016
- NGINX Ingress Controller Container Image
If you search for NGINX Plus in the Azure Marketplace, there is only one option available from NGINX, Inc. as shown below:
The initial page presented is the “Overview” page which provides a summary of the NGINX Plus software functionality and pricing. For more details, click on the “Plans+Pricing” link. You will be presented with several important configuration options such as the Linux OS and version as well as the recommended VM sizes and pricing available for the selected Azure Region, as shown below:
The VM sizing or Azure Region can be changed later through Azure configuration options but a change to the Linux OS will require a re-build of the NGINX Plus hosted VM.
Create an Azure availability set of two or more NGINX Plus virtual machines, which adds redundancy to your NGINX Plus setup by ensuring that at least one virtual machine remains available during a planned or unplanned maintenance event on the Azure platform. For more information, see “Manage the availability of Linux virtual machines” in the Azure documentation.
The Azure VM deployment process involves several configurations in the areas of: Basics, Disks, Networking, Management, Advanced (Settings) and Tags.
The start of this process is indicated below:
Create endpoints to enable clients outside the NGINX Plus virtual machine’s cloud or virtual network to access it.
Sign in to the Azure Management Portal and add endpoints manually to handle the inbound network traffic on port 80 (HTTP) and port 443 (HTTPS).
For more information, see How to set up endpoints on a Linux classic virtual machine in Azure in the Azure documentation.
As soon as the new virtual machine launches, NGINX Plus starts automatically and serves a default index.html page.
To verify that NGINX Plus is working properly, use a web browser to access the public DNS name of the new virtual machine and view the page.
You can also check the status of the NGINX Plus server by logging into the virtual machine and running this command:
$ /etc/init.d/nginx status
Azure virtual machine scale sets (VMSS) let you create and manage a group of identical, load balanced VMs. VMSS provide redundancy and improved performance by automatically scaling up or down based on work loads or a predefined schedule.
To scale NGINX Plus, create a public or internal Azure Load Balancer with a VMSS.
The cost of running NGINX Plus is a combination of the selected software plan charges plus the Azure infrastructure costs for the virtual machines on which you will be running the software. There are no additional costs for VMSS but you do pay for the underlying compute resources. The actual Azure infrastructure price might vary if you have enterprise agreements or other discounts.
Installing Manually on VMs
NGINX and NGINX Plus can be installed manually on VMs or even containers within Azure. The process would be no different than installing other network virtual appliances (NVAs) if you need an OS version or a version of the NGINX software not available in the Azure Marketplace. You can use this VM image to create more servers or for use in scale sets.