Skip To Content

Strategies for web app deployment on AWS

It's likely that you've developed a set of web apps that use your ArcGIS Server web services and hosted web layers from an ArcGIS Enterprise portal. Where web apps are hosted in Amazon Web Services (AWS) partly depends on how you create the web apps.

Apps created in an ArcGIS Enterprise portal

Use web layer items from your ArcGIS Enterprise organization in maps and scenes, and use those maps and scenes in web apps. If you create these apps using the options provided with ArcGIS Enterprise—such as ArcGIS Experience Builder or ArcGIS Configurable Apps—the apps are hosted on the Amazon Elastic Compute Cloud (EC2) instance where the Portal for ArcGIS component of the ArcGIS Enterprise deployment is installed.

Custom web apps

When you create custom web apps using ArcGIS APIs, you can host them on Amazon Simple Storage Service (S3) or Amazon Elastic Compute Cloud (EC2).

Host the application on Amazon S3

If the custom web app is static, it may be easier or less expensive to host it on Amazon S3 instead of an EC2 instance. In S3, you can store sets of files in web-accessible folders, called buckets. S3 allows you to designate any bucket as a website. Define an index document and a policy stating who can access the site. You can then interact with your pages from the bucket as if they were hosted on a traditional web server.

Not all web apps are appropriate for S3. If your app uses a server-side scripting language such as PHP, JSP, or ASP.NET, host the app on an EC2 instance. However, client-side scripting languages such as JavaScript are appropriate for S3.

A benefit of hosting your page in S3 is the potential to use the Amazon CloudFront delivery service. CloudFront is a web service that hosts your content on various servers around the world, optimizing your file delivery speed among geographically dispersed users.

For full information about how to host a website on S3, see the AWS documentation.

Host the application on a dedicated EC2 instance

You can launch an EC2 instance for the sole purpose of hosting custom web apps. You can take this approach if you cannot host the application on S3 but you want to separate the web app tier from the GIS web service tier. In this scenario, you must make sure that your Amazon security group (or groups) allows the necessary communication between all your instances.