You can use Amazon Web Services (AWS) CloudFormation templates provided by Esri to build various ArcGIS Enterprise architectures.
In most cases, you will use a combination of CloudFormation templates to build a deployment.
What is AWS CloudFormation?
AWS CloudFormation is a service that helps define architectures on Amazon Web Services. It is an example of infrastructure as code, meaning you write code that can deploy a particular hardware infrastructure in a cloud environment. With CloudFormation, you use a JavaScript Object Notation (JSON) template to define a stack of resources that work together in a predetermined way. CloudFormation ensures that you maintain a minimum number of machines in a site, allowing for recovery when one of the machines is unavailable.
You can also use CloudFormation templates to launch and maintain a deployment rather than doing it manually, and you can set up identical architectures in different AWS accounts or regions.
Esri CloudFormation templates
Esri stores CloudFormation templates in an Amazon Simple Storage Service (S3) bucket, from which you can download them. Templates are specific to an ArcGIS release. You can also copy and modify these templates to fit your specific needs, or create your own templates to implement your deployment patterns.
Use the Esri CloudFormation templates to launch stacks from AWS Management Console or script stack creation.
Quick links
The sections below (excluding the upgrade and password sections) provide brief information on each type of CloudFormation template Esri provides and links to detailed pages about each template.
The following is a consolidated list of links to pages that describe each template, including the required inputs and the outputs that are created, as well as links to download each template.
Template descriptions | View template |
---|---|
Amazon Virtual Private Cloud (VPC) with public subnets | |
VPC with a NAT Gateway and public and private subnets | |
ArcGIS Enterprise base components on a single machine | |
ArcGIS Enterprise base components duplicated on two machines for high availability | |
Portal for ArcGIS on a single machine | |
Portal for ArcGIS on two machines for high availability | |
Single machine ArcGIS Data Store (relational, tile cache, or spatiotemporal big data store) | |
ArcGIS Data Store in primary-standby mode (relational or tile cache data store) | |
ArcGIS Data Store in cluster mode (tile cache or spatiotemporal big data store) | |
Single machine ArcGIS Server site (ArcGIS GIS Server, ArcGIS Image Server, or ArcGIS GeoAnalytics Server) | |
Multiple machine ArcGIS Server site for high availability (ArcGIS GIS Server, ArcGIS Image Server, or ArcGIS GeoAnalytics Server) | |
Federate an ArcGIS Server site with a portal | |
Single machine ArcGIS GeoEvent Server site | |
Single machine ArcGIS Mission Server site | |
Multiple machine ArcGIS Mission Server site for high availability | |
Single machine ArcGIS Notebook Server site | |
Multiple machine ArcGIS Notebook Server site for high availability | |
Enterprise geodatabase in Amazon Aurora (PostgreSQL-compatible edition) added to an ArcGIS Server site (managed database or registered database) | |
Enterprise geodatabase in Amazon Relational Database Service (RDS) for PostgreSQL added to an ArcGIS Server site (managed database or registered database) | |
Enterprise geodatabase in Amazon RDS for SQL Server added to an ArcGIS Server site (managed database or registered database) |
Tip:
For CloudFormation templates that create earlier releases of ArcGIS software, start with the 10.8.1 CloudFormation templates page, and use the links at the top of the page to access earlier releases. Not all templates that are available at this release were available in earlier releases.
Passwords used in CloudFormation templates
It's recommended that you store your passwords in AWS Secrets Manager and use the secret Amazon Resource Name (ARN) for the passwords instead of providing passwords in plain text.
When you create a secret ARN in the Secrets Manager service of AWS Management Console for a password used with Esri CloudFormation templates, you must do the following:
- Choose Other types of secrets for secret type and use the Plaintext option.
- Delete all default text from the input field before you type the password.
Templates that create a VPC
An Amazon Virtual Private Cloud (VPC) is a virtual network. You must have a VPC in which to create your deployments on AWS. You can use one of the following templates to create a VPC before you create an ArcGIS deployment. The VPC template you use depends on the level of security you require.
- Create a VPC with two public subnets.
- Create a VPC with a NAT Gateway and public and private subnets.
Templates that create an Elastic Load Balancer
An Amazon Elastic Load Balancer (ELB) directs network traffic to Amazon Elastic Compute Cloud (EC2) instances.
The following templates create an ELB with an SSL certificate configured in it. The load balancers can be internet facing, which means you can use it with public subnets, or internal, which means you can use it with private subnets.
- Classic load balancer—You must create one load balancer per site or portal when you use classic load balancers.
- Application load balancer—You can use a single application load balancer for all components of an ArcGIS Enterprise deployment. If you use a load balancer with an ArcGIS Notebook Server site, it must be an application load balancer.
If you use a load balancer with your site or portal, you must create it before creating the ArcGIS deployment.
Templates that create an ArcGIS Enterprise deployment
Esri provides multiple CloudFormation templates you can use to create an ArcGIS Enterprise deployment.
All-in-one deployments
If you deploy for testing purposes or on very large machines for a production deployment, you can use the templates that create base ArcGIS Enterprise components on the same EC2 instance.
The base ArcGIS Enterprise deployment on a single machine template deploys Portal for ArcGIS, an ArcGIS GIS Server site (hosting server), and ArcGIS Data Store (relational and tile cache) on one EC2 instance.
The highly available base ArcGIS Enterprise deployment template deploys two identical EC2 instances (a primary and standby instance) each containing the base ArcGIS Enterprise components.
Templates that allow you to deploy components on separate machines
Rather than deploying all ArcGIS Enterprise components on the same machine, you can use the following templates in combination to build an ArcGIS Enterprise deployment with each component on separate EC2 instances. This allows a more customized deployment. For example, you can size machines differently for each component or create different numbers of machines for each component.
All ArcGIS Enterprise components that are part of the same deployment must be deployed in the same VPC. All components and resources (including the VPC) must run under the same AWS account.
Templates are listed in the order they must be used. Use one template from each step (single machine or highly available).
- Deploy Portal for ArcGIS on a single machine or create a highly available Portal for ArcGIS deployment.
- Create an ArcGIS GIS Server site using the ArcGIS Server on a single machine template or the highly available ArcGIS Server site template.
- Create a relational data store using the ArcGIS Data Store on a single machine template or the primary-standby ArcGIS Data Store template.
- Run the CloudFormation template to federate the ArcGIS GIS Server to the portal, and add the site as the hosting server.
Templates that create ArcGIS Server sites
Esri provides CloudFormation templates that allow you to create ArcGIS Server sites to fill different roles. The role the site fills depends on the template you use and the license you provide. The sites described in the table below can be created using one of the following templates:
- ArcGIS Server site on a single machine
- Multiple machine ArcGIS Server site for high availability
License role | Site type | Site role |
---|---|---|
ArcGIS GIS Server | GIS Server | A stand-alone or federated GIS Server site to which you can publish feature, map, geoprocessing, geocoding, geodata, or geometry services. |
ArcGIS GeoAnalytics Server | GeoAnalytics Server | Acts as a federated GeoAnalytics Server server to allow portal users to run GeoAnalytics Tools. |
ArcGIS Image Server | Image Server, Image Hosting Server, or Raster Analytics Server | A stand-alone or federated Image Server site to which you can publish image services from mosaic datasets. If the site is federated with a portal, you can set it as the portal's raster analysis server or image hosting server. |
To federate any of these ArcGIS Server sites with an ArcGIS Enterprise portal, use the CloudFormation template to federate sites.
ArcGIS GeoEvent Server site
Use the ArcGIS GeoEvent Server CloudFormation template to create a single-machine ArcGIS GeoEvent Server site.
You can use the site as a stand-alone GeoEvent Server from which you stream real-time observation data, or you can use the CloudFormation template to federate ArcGIS Server sites with an ArcGIS Enterprise portal.
ArcGIS Mission Server site
Use one of the following ArcGIS Mission Server CloudFormation templates to create a single-machine ArcGIS Mission Server site.
- Single machine ArcGIS Mission Server site
- Multiple machine ArcGIS Mission Server site for high availability
The ArcGIS Mission Server site must be federated with an ArcGIS Enterprise portal. If you have a base ArcGIS Enterprise deployment, you can use the CloudFormation template to federate ArcGIS Server sites with an ArcGIS Enterprise portal to accomplish this.
ArcGIS Notebook Server site
Use one of the following ArcGIS Notebook Server CloudFormation templates to create an ArcGIS Notebook Server site on Amazon Elastic Compute Cloud (EC2) instances running Ubuntu.
- Single machine ArcGIS Notebook Server site
- Multiple machine ArcGIS Notebook Server site for high availability
The ArcGIS Notebook Server site must be federated with an ArcGIS Enterprise portal. If you have a base ArcGIS Enterprise deployment, you can use the CloudFormation template to federate ArcGIS Server sites with an ArcGIS Enterprise portal to accomplish this.
Templates that create enterprise geodatabases and register them with an ArcGIS Server site
You can run one of the following CloudFormation templates to create a database service, create an enterprise geodatabase in it, and register the database with an ArcGIS Server site. If the site is an ArcGIS GIS Server site, you can register the geodatabase as a managed database.
- An enterprise geodatabase in Amazon Aurora (PostgreSQL-compatible edition) added to an ArcGIS Server site (managed database or registered database)
- An enterprise geodatabase in Amazon Relational Database Service (RDS) for PostgreSQL added to an ArcGIS Server site (managed database or registered database)
- An enterprise geodatabase in Amazon RDS for SQL Server added to an ArcGIS Server site (managed database or registered database)
The ArcGIS Server site must exist before you run any of the templates listed above. You can use either of the following templates to create a GIS Server or ArcGIS Image Server site with which you can register a database:
- ArcGIS Server site on a single machine
- Multiple machine ArcGIS Server site for high availability
Upgrade deployments
To upgrade to 10.9, you must either sign in to the EC2 instances and upgrade the software in the same way as on-premises installations of ArcGIS software, or you can run Chef scripts if the deployments were created with 10.8 or 10.8.1 CloudFormation templates from Esri. See Upgrade deployments for more information.