AWS CloudFormation and ArcGIS for Server
In this topic
- Build highly available GIS server sites using CloudFormation
- Build a web GIS deployment using CloudFormation
You can use features of Amazon Web Services (AWS) CloudFormation to deploy different ArcGIS for Server architectures on AWS. These architectures include the following:
- Highly available, siloed GIS server sites (ArcGIS for Server)
- A web GIS (ArcGIS for Server, Portal for ArcGIS, ArcGIS Web Adaptor, and ArcGIS Data Store)
Amazon CloudFormation is a service that helps you define architectures for the Amazon Web Services you use. It is an example of infrastructure as code, meaning you write code that can deploy a particular hardware infrastructure in a cloud environment. In the case of 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 always maintain a minimum number of machines in your site, allowing for seamless recovery when one of your machines is unavailable.
Esri sample CloudFormation templates help you set up deployments. You can also customize these templates or create your own templates to implement your own deployment patterns. You could manually set up the deployments without CloudFormation (using the AWS Management Console or APIs); however, using the CloudFormation templates makes launching and maintaining the architecture easier than doing it manually. CloudFormation templates also make it easier to set up identical architectures in different Amazon accounts or regions.
You can also use CloudFormation to launch and maintain a web GIS. Web GIS allows you to take advantage of all components of the ArcGIS for Server platform.
Build highly available GIS server sites using CloudFormation
Esri provides sample CloudFormation templates to let you achieve high availability when working with siloed architecture ArcGIS Server on AWS.
Some background is necessary to understand the need for a siloed architecture. The typical way that people get started using ArcGIS Server on AWS is to use ArcGIS Server Cloud Builder. This is a simple wizard that helps you set up an ArcGIS Server site in the Amazon Elastic Compute Cloud (EC2). The output of the wizard is a site with potentially many machines that can distribute jobs among themselves and take full advantage of the peer-to-peer architecture found in ArcGIS Server. Cloud Builder also offers a framework for making site backups, in addition to templates that can be used to launch additional sites following an identical pattern.
For all its benefits, the Cloud Builder-created site has a few drawbacks when it comes to high availability. If the GIS server instance running the configuration store is lost, the site will be unusable. Also, it can take 30 minutes or more to restore a backup, which could be an unacceptable amount of downtime for some organizations.
An alternative approach that avoids some of these issues is to create a siloed ArcGIS Server architecture, wherein many identical but independent ArcGIS Server sites are connected under a load balancer. One of the main benefits of the siloed architecture is that it allows you to continue running ArcGIS Server even if you lose any GIS server instance.
The siloed architecture cannot be built with Cloud Builder; you must create it manually using the AWS Management Console or APIs. To help ease creation of a siloed site, use Amazon CloudFormation to launch and maintain the siloed architecture. CloudFormation ensures that you always maintain a minimum number of machines in your site, allowing for seamless recovery when one of your machines becomes unavailable.
Use the ArcGIS Server siloed architecture templates and the steps in Deploy ArcGIS for Server using AWS CloudFormation to define a siloed GIS server site and the load balancer that holds the ArcGIS Server machines together.
Build a web GIS deployment using CloudFormation
Esri provides sample CloudFormation templates to let you deploy a web GIS on AWS. Web GIS deployments include the following ArcGIS products:
- ArcGIS for Server
- Portal for ArcGIS
- ArcGIS Web Adaptor
- ArcGIS Data Store
The sample CloudFormation templates will configure all these products with one another.
- Portal for ArcGIS is registered with ArcGIS Web Adaptor using the context portal. For example, the registered portal URL is in the format http://<domain name>/portal/home.
- An ArcGIS Server site is created and registered with ArcGIS Web Adaptor using the context server. For example, the ArcGIS Server Manager URL is in the format http://<domain name>/server/manager.
- An ArcGIS Data Store is created and registered with the ArcGIS Server site. This allows the ArcGIS Server site to store hosted feature layer data for the portal.
- The ArcGIS Server site is federated with the portal and set as the portal's hosting server.
You need to have the following before you run the CloudFormation templates to deploy a web GIS:
- A valid domain name for your site
- A TLS (SSL) certificate for your domain, obtained from a certifying authority
- An Elastic IP address that you will associate with the EC2 instance; you must map your domain name to the Elastic IP address
Use the web GIS templates and the steps in Deploy ArcGIS for Server using AWS CloudFormation to define a web GIS on AWS.