This template creates an auto scaling group of stand alone ArcGIS Server sites behind a load balancer. You'll need to create a customized Amazon Machine Image (AMI) based on the Esri ArcGIS Server AMI, and use it in this template. 1. Create a custom AMI All instances launched from this template are from the customized AMI and identical to each other. To create the customized AMI: a. Use the AWS Management Console to launch an instance using one of the ArcGIS Server AMIs provided by Esri. b. License ArcGIS Server and create a site on the instance. c. Configure the instance with your services, data, and any third-party applications you want to install. #Caution: If you have any map services that will not use a cache, set the supportedImageReturnType property of the map service to MIME instead of URL (so the user is not routed back into the stack, and potentially the wrong instance, when trying to retrieve map images). You will need to edit the service properties in the ArcGIS Server Administrator Directory to adjust this setting; it is not available in ArcGIS Server Manager. d. Save an AMI from your instance. All instances created from this AMI will be the same. Each will be its own ArcGIS Server site with its own configuration store, server directories, and data. e. Once the AMI is created, take note of the AMI ID. This is needed to create the stack. 2. Run the template. There are a number of properties in the Parameters object that you can set when launching the stack using the template, such as the following: Minimum Number of instances Maximum Number of instances Types of instances participating in the site KeyPair file to remotely access the instances Amazon Machine Image used Other resources, such as the load balancer settings, are burned into the template and can only be changed by the template author. The auto scaling and CloudWatch alarm settings that define triggers for adding and removing machines from your site are based on factors such as CPU usage. You can also define how many machines will be updated at once if you ever make changes to your AMI, allowing you to always maintain an available instance. In addition to the items found in this template, you can introduce an LBCookieStickinessPolicy on the load balancer, which determines whether sticky sessions are enabled. These ensure that a user's requests get directed to the same GIS server machine for the duration of his or her session. This can be helpful for working with long-running features like asynchronous geoprocessing jobs. You can also define the TLS (SSL) certificate to be applied to the stack. To do this, upload your certificate to AWS Identity and Access Management (IAM), and insert code into the template to specify the SSLCertificateId setting on the load balancer.