Limitations of ArcGIS Server on Amazon EC2
Most functionality of ArcGIS Server is available on Amazon EC2; however, this topic lists some features and configurations that are not supported.
ArcGIS Server component limitations
The traditional ArcGIS Server strategy of adding multiple SOC machines to a SOM machine is not supported for ArcGIS Server on Amazon EC2. Instead, you add multiple EC2 instances containing the SOM, SOC, and Web server to the Elastic Load Balancer. This type of scaling requires identical data and service configurations on each EC2 instance, but this occurs naturally if you use the same AMI for any EC2 instances you add.
Limitations related to the use of the Elastic Load Balancer (ELB)
The use of Elastic Load Balancers (ELBs) for scaling in the Amazon cloud constrains a few specific features of ArcGIS Server. ELBs are configured by default so that incoming requests are brokered across any of your ArcGIS Server EC2 instances participating in the cluster. That is, there is no guarantee that requests from a particular client (Web browser user session, Desktop client, or mobile application) will be handled by a particular EC2 instance. This limits the use of stateful Web applications and services.
The following functions or configurations are not supported using ArcGIS Server on Amazon EC2, primarily because they cannot be scaled through the ELB.
ArcGIS Server Web ADF applications—Web ADF applications rely on user session information that is stored at the Web tier (in Internet Information Services). For the Web ADF application to work, incoming requests from a user session (Web browser) have to hit the ArcGIS Server EC2 instance in which the session information is being stored. As described previously, an ELB does not guarantee that.
Advanced users can accomodate this limitation by storing Web ADF session information in SQL Server. Amazon also provides several scripts for configuring sticky sessions in the ELB; however, ESRI has not certified these configurations in the Amazon cloud.
- Nonpooled services—ArcGIS Server services can be configured as pooled or nonpooled to determine whether a service instance is shared among a pool of applications or dedicated to one particular application session, respectively. Nonpooled configurations are required for certain advanced workflows with Web ADF applications. Given the scalability limitations of nonpooled services and the indiosyncracies of deploying Web ADF applications on Amazon, ESRI does not recommend the use of nonpooled services.
- Asynchronous geoprocessing services—Asynchronous geoprocessing services require that client requests for starting, checking the status of, and accessing the results of a model are all handled by a single service instance. Since ELB deployments cannot guarantee use of the same service instances, asynchronous execution of geoprocessing services is not supported.
- Map caching in a distributed deployment—When using an ELB, a single map caching job cannot be automatically handled by multiple EC2 instances. Fortunately, the higher-end EC2 instance types can create the cache very quickly, and one EC2 instance may be enough. If you do have a large job you want to split up among multiple machines, you must do so manually, assigning each machine a different geographic area to cache. Once all the tiles are created, you must copy them into a master folder.
Amazon-imposed limitations
Amazon enforces some limitations on the number and sizes of certain resources you can create. A few of these limits include:
- An EBS volume cannot be larger than 1 TB.
- No more than 12 Elastic Block Store (EBS) volumes can be attached to a Windows EC2 instance.
- You cannot run more than 20 EC2 instances at once unless you file a request and receive approval from Amazon.
For the most up-to-date and official information about Amazon limitations, see the AWS Documentation.