Multi-tier base deployment of ArcGIS Enterprise 10.8.1 using ArcGIS Enterprise Cloud Builder for Microsoft Azure.

ArcGIS Enterprise Cloud Builder for Microsoft Azure is an application you install on your local Microsoft Windows machine to deploy ArcGIS Enterprise and stand-alone ArcGIS Server sites on Microsoft Azure. Depending on what role you want the site to fill, Azure Cloud builder provides several deployment options.

This blog will discuss the workflow of deploying multi-machine ArcGIS Enterprise (non-HA) with each component of base Enterprise deployment – Portal for ArcGIS, ArcGIS GIS Server, Data Store and App Gateway – installed on its own dedicated servers. One thing to note, starting from Azure Cloud Builder 10.8 for Microsoft Azure,  the base ArcGIS Enterprise deployment is no longer accessed through a load balancer and reverse proxy. The 10.8 version of ArcGIS Enterprise Cloud Builder for Microsoft Azure creates ArcGIS Enterprise deployments that use a single Azure Application Gateway to access the portal and all federated servers – this is referred to as a version 2 (V2) deployment type.

First, let’s look at the prerequisites needed to install ArcGIS Enterprise Cloud Builder for Microsoft Azure:

  • Microsoft Windows operating system. It can be installed on one of these systems:
    • Windows 8.1 Basic, Pro, and Enterprise
    • Windows Server 2012 Standard and Datacenter
    • Windows Server 2012 R2 Standard and Datacenter
    • Windows Server 2016 Standard and Datacenter
    • Windows Server 2019 Standard and Datacenter
    • Windows 10 Pro and Enterprise
  • Microsoft .NET Framework 4.5 must be installed
  • Microsoft Azure subscription and account are required to use Microsoft Azure infrastructure and services. Azure subscription should have programmatic deployment of the ArcGIS images enabled (the steps are provided here)
  • You will need an ArcGIS GIS Server license and ArcGIS Enterprise portal license file.
  • Valid SSL certificate.
  • Be aware that Azure applies quota limitations. Read the quota descriptions Microsoft Azure documentation for more information.

To start with the multi-machine ArcGIS Enterprise deployment using Azure Cloud Builder application, download Azure Cloud Builder file from here.

Once downloaded, run it on a local Windows machine to install, then sign into your Azure account and select Azure Subscription:

Select Deploy a new site to start with ArcGIS Enterprise setup:

Depending on the purpose of our deployment, we are given few options to select from. We will proceed with ArcGIS Enterprise role that will create all components of the base Enterprise deployment.

In the Image Options window, provide necessary information such as resource group and region:

  • A resource group is a container that holds related resources for an application. It is best practice that all resources for the deployment are kept in the same Resource Group. The pre-fix you set here is to help ensure that all of the resources are easily identifiable and kept within the same Resource Group. Adding a prefix avoids duplication of resource names and allows to categorize resources according to the requirements for managing in the Azure portal or billing.
  • Since ArcGIS Enterprise components will be distributed across multiple machines, make sure to uncheck “Single tier deployment”.

Click Next to proceed to the Networking Options settings:

Now we are ready to specify a virtual network as well as a Domain Name for Application Gateway.

To keep it separate and simple, it would be a good logical separation to have ArcGIS Enterprise tier in its own dedicated VNet.

  • To create a Virtual Network click on “+”, choose a name (must be unique within your Azure subscription), the range of TCP/IP addresses to be used by virtual network and the CIDR value from the VM Count drop-down list to determine the maximum number of addresses to be used in your address space and click Create. Check out following Microsoft documentation for further information.

We are also required to select or create subnets for virtual network and Application Gateway – more details here. Additionally, the application gateway requires an IP address provided by Microsoft Azure, and the IP address must have a DNS name associated with it. In our deployment, we will use new public IP and domain name.

Next step is to provide a CA signed SSL certificate to be used with ArcGIS Enterprise. If this is a testing or development environment, self-signed certificate is acceptable, however for production environments, using CA certificate is recommended. For CA certificates, we will need to type the CNAME mapped to the site domain we created in the step above into the Domain Name (Alias) text box, browse to the certificate file and provide the password. Hit Next to continue.

In the Machine Options, provide the Azure machine admin/password (this is a Virtual machine administrator), enable or leave Remote Desktop abilities unchecked (your preference). Important step is to make sure that “Specify names and sizes for the individual machines” is selected. This option allows us to create non-HA multi-machine distributed deployment.

Next, specify the Data Store type to be created:

We should now be on a page where we have the ability to designate the machine names and how many servers we would like to deploy. When keeping default names, Cloud Builder creates High Availability configuration with Primary and Secondary servers for the components. Since our goal is to create distributed non-Highly Available deployment, we need to make sure to give an identical names for Primary and Secondary settings.

  • Portal for ArcGIS: copy the Primary Machine name and paste it into the Secondary Machine name so they are identical.
  • ArcGIS Server: decrease the number of machines and enter the name
  • File Share: This should remain static/unchanged.
  • Data Store (Relational): copy the Primary Machine name and paste it into the Secondary Machine name so they are identical.

In the License and Credentials page, provide Portal for ArcGIS and ArcGIS Server license files as well as Site Administrator (this is the Application built-in administrator) account credentials and ArcGIS Server account (this is the Windows account) to run the software:

In the Deployment Options, choose the storage account as well as the storage option (Azure Files or Azure Blob and Tables) to store Portal content directory, ArcGIS Server configuration store, and ArcGIS Server directories. We can also specify a storage account where the Azure Cloud Storage will reside. The storage account must be in the same region as our deployment.

Final touch: review the deployment summary in the Summary pane to make sure it matches our specifications. If any change is required, click Back and make the changes. Don’t forget to click Save Summary to save the site configuration information to a text file and Save Automation Artifacts to export an archive file (.zip file) containing information and files we can use in automation scripts. Click Finish to start the process.

Once the site successfully deploys, we should have a distributed multi-machine ArcGIS Enterprise deployment that is non-Highly-Available with each component installed on its own server.

Click Close to see the links to the Portal and ArcGIS Server in the message box.

Cloud Builder is an excellent toolset.  If you want to continue using Cloud Builder for managing upgrades or adding/removing capabilities to the site, you should not make any major configuration changes via the Azure portal. For instance, if you wanted to add a disk volume, do this via Cloud Builder and not Azure Portal.

And lastly, if things do not go smooth or some issues are encountered when using ArcGIS Enterprise on Azure…( happens!).. make sure to check out some troubleshooting tips available here.

Got something to say?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s