Deploying a web application on a Windows EC2 instance
Deploying a web application on your Windows ArcGIS Server site on Amazon Web Services requires some preparation. Follow the steps below to expose your application in a secure and stable manner. You will need to perform some of these steps in the AWS Management Console or a similar third-party client to Amazon Web Services.
- Create a site using ArcGIS Server Cloud Builder on Amazon Web Services.
- Add rules to your site's Amazon security group to allow the following:
- Remote Desktop (RDP) access through port 3389 for your IP address. This allows you to log in and configure your instance.
- HTTP access (typically through port 80) for all IP addresses or the IP range of your choosing.
- Using Windows Remote Desktop, log in to the site server instance in your site. This is the EC2 instance containing the configuration store. It is marked as SITEHOST when you view your list of instances in the AWS Management Console. Unless otherwise noted, you'll perform the remainder of these steps while logged in to this instance.
- Perform the following substeps to start and configure the Internet Information Services (IIS) web server that is included on your instance:
- Open Control Panel > Administrative Tools > Services.
- Right-click World Wide Web Publishing Service and click Properties.
- Set Startup type to Automatic and click OK.
- Right-click World Wide Web Publishing Service and click Start if it is not started already.
- Start IIS Manager.
- In the left menu, expand your server node, expand Sites, then click Default Web Site.
- Click the Start link.
- Download and install the ArcGIS Web Adaptor (IIS) from the Esri Customer Care website. Follow the steps in the installation guide to install and configure the Web Adaptor. Configure it to communicate through port 80.Note:
This step is only required if you are deploying a JavaScript application, because a JavaScript application must access web services from the same origin (web server) on which the application is deployed. If you're deploying a Flex or a Silverlight application, you don't have to install the Web Adaptor.
- Deploy your web application by copying it to IIS's root folder c:\Inetpub\wwwroot.
- Using the AWS Management Console or another client to AWS, allocate an Elastic IP address and associate it with the site server instance in your site (remember this is the instance to which you logged in).
The Elastic IP address is necessary because Amazon EC2 changes the machine name whenever you stop and start a site. The Elastic IP gives you a constant address that you can use for accessing your GIS server.
Incoming requests to your web app will go through this Elastic IP, not the Elastic Load Balancer.
- Optionally, communicate with your network administrator to register a domain name for your site.
In most cases, you'll want to create a domain name such as mymaps.mycity.gov instead of sending users directly to your Elastic IP. Provide your Elastic IP address to your network administrator and he or she can associate a domain name that points traffic to your site.
- Update any URLs in your web application code.
- JavaScript applications—The URLs must use your newly defined domain name. For example, http://mymaps.mycity.gov/arcgis/rest/services/MyService/MapServer.
- Flex and Silverlight applications—Use the URLs containing the address of the Elastic Load Balancer (ELB) that Cloud Builder placed on your site. For example, http://<ELB address>/arcgis/rest/services/MyService/MapServer. Flex and Silverlight can access web services through the ELB address because client access policy files were automatically added to the site.