Skip To Content

ArcGIS Enterprise architectures on Amazon Web Services

You can use ArcGIS Enterprise Amazon Machine Images (AMIs) to launch several different architectures on Amazon Web Services (AWS). Esri provides AWS CloudFormation templates to launch most supported architectures. Esri also provides ArcGIS Server Cloud Builder on Amazon Web Services, which gives you a few options for stand-alone ArcGIS Server site architectures. You can also deploy these architectures manually using the AWS Management Console.

Architectures available with AWS CloudFormation templates

Esri provides sample AWS CloudFormation templates to deploy the following architectures:

  • Highly available siloed (single-machine) ArcGIS Server sites
  • Highly available ArcGIS Server sites
  • A single-machine ArcGIS GeoEvent Server site
  • ArcGIS Enterprise on a single machine
  • A highly available ArcGIS Enterprise deployment
  • ArcGIS Enterprise deployments in two different regions for disaster recovery

Each of these architectures is described in AWS CloudFormation and ArcGIS.

Architectures available with Cloud Builder

ArcGIS Server Cloud Builder on Amazon Web Services allows you to build a simple ArcGIS Server site with a single ArcGIS Server machine to a complex site with many ArcGIS Server machines. It also allows you to include an enterprise geodatabase and determine where the enterprise geodatabase is placed.

ArcGIS Server site without an enterprise geodatabase

You can use Cloud Builder to create an ArcGIS Server site running on Windows or Linux without an enterprise geodatabase. Such a site can have one or many ArcGIS Server machines. All the participating ArcGIS Server machines must use the same operating system. In all cases, the ArcGIS Server machine or machines are placed beneath an Amazon load balancer.

ArcGIS Server site with a geodatabase on the same EC2 instance

You can optionally choose to create a site that has two geodatabases on the same EC2 instance as ArcGIS Server. If the site contains multiple ArcGIS Server machines, the geodatabases run on just one of those machines (the SITEHOST).

If you build your ArcGIS Server site on Linux, you get enterprise geodatabases in PostgreSQL. If you build your ArcGIS Server site on Windows and provide an enterprise license, you get enterprise geodatabases in Microsoft SQL Server Standard. If you use an ArcGIS Server workgroup license, you get workgroup geodatabases on SQL Server Express.

Running the geodatabase on the same EC2 instance as ArcGIS Server can help you save hardware costs (the hourly fees you pay to Amazon for use of the instances). This architecture also reduces latency between the server and the database. However, when you run the server and the database on the same EC2 instance, you are sharing hardware resources and run a greater risk of site disruption if either component is overloaded or goes offline.

Note that when using a workgroup license, the geodatabases and ArcGIS Server must run on the same machine.

ArcGIS Server site with an enterprise geodatabase on its own EC2 instance

You can choose to create a site that has an enterprise geodatabase running on its own EC2 instance, separate from the ArcGIS Server EC2 instances. If you build your ArcGIS Server site on Linux, the enterprise geodatabases can be in PostgreSQL or Amazon Relational Database Service (RDS) for PostgreSQL. If you build your site on Windows, the enterprise geodatabases can be in SQL Server Standard or Amazon RDS for Microsoft SQL Server.

Running the enterprise geodatabase on a separate instance from ArcGIS Server can result in increased fees for instance usage. However, separating the ArcGIS Server and database tiers gives you more freedom to adjust or fix one tier without affecting the other, and avoids memory contention between ArcGIS Server and the database.

Architectures available when building your site manually

You can build the same architectures manually on AWS using the AWS Management Console as you can when deploying on-premises; however, you need to be proficient in configuring the components of ArcGIS Enterprise and proficient in AWS. This section includes tips for manual deployments and links to related topics.

When you build your site manually using the AWS Management Console, you can launch one or many EC2 instances running ArcGIS Server to create an ArcGIS Server site. If you launch multiple instances, you must also launch an Amazon Elastic Load Balancer and add the instances to it. All ArcGIS Server instances you add beneath the load balancer must be identical. Similarly, if you launch multiple instances running ArcGIS Server to be used in your ArcGIS Enterprise deployment, you also need to launch an Amazon load balancer and add the instances to it.

Each instance beneath the load balancer operates independently of the other instances. In other words, each instance has its own configuration store, server directories, logs, and so forth. This limits the types of things you can do with the deployment, such as asynchronous geoprocessing or distributed map caching jobs.

When you build your site manually using the AWS Management Console, you can also launch one EC2 instance running ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store.

There are Esri AMIs you can choose when launching instances for your site, or you can use a custom AMI that you have derived from one of the Esri AMIs.

Do I need to install ArcGIS Web Adaptor?

The Esri AMIs include ArcGIS Web Adaptor. If you deploy ArcGIS Enterprise using the Esri AMIs and CloudFormation templates, ArcGIS Web Adaptor is configured and used.

If you use ArcGIS Server Cloud Builder on Amazon Web Services or the CloudFormation templates to deploy an ArcGIS Server site, ArcGIS Web Adaptor is not configured because the Amazon load balancer plays many of the same roles, distributing incoming requests among the ArcGIS Server instances in your site. However, after you create your site, you can optionally log in to your instance and configure ArcGIS Web Adaptor. This is necessary if you'll be hosting ArcGIS API for JavaScript applications on a Windows instance. See Deploy a web application on a Windows site for more details.