The arcgis-ami-windows.template.json Amazon Web Services (AWS) CloudFormation template creates an Amazon Machine Image (AMI) with a Microsoft Windows operating system and ArcGIS Enterprise components that you choose. You can also create an AMI that contains ArcGIS Pro.
See Operating systems supported when using CloudFormation to deploy ArcGIS on AWS for a list of supported Windows operating systems.
Prerequisites
Prerequisites can be grouped by the items—such as files and accounts—that you must obtain and the tasks you must perform before running the CloudFormation template.
Required items
You need the following to run this template:
- An Amazon Web Services account.
The account must have access to basic AWS services such as CloudFormation, Amazon Elastic Compute Cloud (EC2), Amazon Virtual Private Cloud (VPC), Systems Manager, Amazon CloudWatch, AWS Identity and Access Management (IAM), and Secrets Manager.
- An Amazon Virtual Private Cloud (VPC) and subnets.
You can use one of the following CloudFormation templates to create a VPC: VPC with two public subnets or VPC with two public and private subnets with a NAT Gateway.
The Windows operating system AMI ID of your choice (refer to the supported Windows operating systems listed above). You can get the AMI ID from Amazon Web Services Management Console. If you are using an AMI from AWS Marketplace, you must subscribe to use CloudFormation before you use it in this CloudFormation template
- The arcgis-ami-windows.template.json CloudFormation template.
Required tasks
Make sure the AWS Systems Manager agent is installed in the base AMI you plan to use to create an ArcGIS Enterprise AMI using this CloudFormation template. The AWS Systems Manager agent is by default installed on AWS base Windows AMIs. But if you plan to use an AMI other than an AWS base Windows AMI, you must configure the AWS Systems Manager agent in the base Windows operating system AMI. Follow the steps below to install AWS Systems Manager in a base Windowsoperating system AMI:
- Create an Amazon Elastic Compute Cloud (EC2) instance from a base AMI using AWS Management Console.
- Install the AWS Systems Manager agent on the EC2 instance you created in the previous step.
See the instructions in the AWS documentation.
- Create an AMI from the EC2 instance using AWS Management Console.
- Use the AMI you created in the previous step in this CloudFormation template to create an ArcGIS Enterprise AMI.
Parameters
Refer to the following tables for descriptions of the parameters used in this CloudFormation template. Tables are grouped by parameter type.
Amazon EC2 Configuration
Parameter name | Required? | Parameter description |
---|---|---|
Source Amazon Machine Image (AMI) ID | Required | Provide the source Amazon Machine Image (AMI) ID. The AMI must have a base operating system of Windows. For supported Windows operating system versions, see Operating systems supported when using CloudFormation to deploy ArcGIS on AWS. If you use a base AMI from AWS Marketplace, you must subscribe to use that AMI before using it in this template. Ensure that the AWS Systems Manager is configured in the source AMI. |
Target AMI name | Required | Provide a name for the AMI. It must start with a letter. The name must be alphanumeric and can contain underscore (_) or dash (-) characters. The minimum length is 6 and maximum length is 127 characters. The AMI name must also be unique. |
Target AMI description | Required | Provide a description for the AMI. It must start with a letter. The description must be alphanumeric and can contain underscore (_), curly brackets ({}), and colon (:) characters. The minimum length is 6 and maximum length is 255 characters. The default AMI description is EsriLinuxAmi_from_{{SourceAmiId}}_on_{{global:DATE_TIME}}. If you use the default description, {{SoureAmiId}} will be replaced with the Source Amazon Machine Image ID parameter value, and {{global:DATE_TIME}} will be replaced with the date and time that the AMI is created. |
EC2 Instance Type | Required | Specify an EC2 instance type. The default is m5.2xlarge. The instance type must have a minimum of 4 vCPU and 8 GB RAM. |
EBS Volume Size | Required | Specify the size (in GB) of an EBS volume that will be included in the image. Ensure this size is equal or greater than the snapshot volume size attached to the source AMI you specified for the Source Amazon Machine Image (AMI) ID parameter. |
EC2 Instance Keypair Name | Required | Choose an EC2 keypair name to allow remote access to EC2 instances. |
VPC ID | Required | Choose a VPC ID. If you need to create a VPC, you can use one of the VPC sample templates: VPC with public subnets or VPC with public and private subnets and a NAT Gateway. |
Subnet ID | Required | Choose a subnet ID. The subnet ID that you select must be within the VPC you have selected above. If you used an Esri CloudFormation template to create the VPC, you can get the subnet ID from that template's output parameters. |
ArcGIS Software Configuration
Parameter name | Required? | Parameter description |
---|---|---|
Windows arcgis user password | Required | Provide a password for the arcgis user. The arcgis user is a local Windows login used to run the ArcGIS software services. You can either enter a plain text password or the ARN of your secret ID from AWS Secrets Manager. It's a best practice to manage your passwords in AWS Secrets Manager. For information on creating an Amazon Resource Name for passwords, see AWS CloudFormation and ArcGIS. |
ArcGIS Enterprise Component | Required | Choose the ArcGIS Enterprise component to be installed on the AMI. Available values are as follows:
Note:When you choose ArcGIS Enterprise Base, Portal for ArcGIS including ArcGIS Web Adaptor with the context name portal, ArcGIS Server including ArcGIS Web Adaptor with the context name server, and ArcGIS Data Store are installed on the AMI. Choose None to install only ArcGIS Pro on the AMI. |
ArcGIS GeoEvent Server | Optional | Choose whether to install ArcGIS GeoEvent Server. Available values are true or false. Note:This parameter is ignored if you set the ArcGIS Enterprise Component parameter to any of the following:
|
ArcGIS Web Adaptor | Optional | Choose whether to install ArcGIS Web Adaptor. Available values are true or false. Note:This parameter is ignored if you set the ArcGIS Enterprise Component parameter to any of the following:
|
ArcGIS Web Adaptor Name | Conditional | Provide an ArcGIS Web Adaptor context name. This appears in the portal, ArcGIS Server, or ArcGIS Mission Server URL. The name must begin with a letter and contain only alphanumeric characters. This parameter is required if you set the ArcGIS Web Adaptor parameter to true and ignored if you set the ArcGIS Web Adaptor parameter to false. |
ArcGIS Pro | Optional | Choose whether to install ArcGIS Pro. The available values are true or false. |
Outputs
When your stack is created successfully, you can see the following output parameters on the Outputs tab of the CloudFormation stack in AWS Management Console.
Output name | Output description |
---|---|
TargetAMIName | The name of the AMI created using this CloudFormation template. You can retrieve the AMI ID in AWS Management Console by using the AMI name. |
DeploymentLogsURL | This is the URL for the Amazon CloudWatch logs where all deployment logs are stored. You can refer to these logs for troubleshooting purposes if your deployment fails. |
Considerations
The following are important points to consider after creating a CloudFormation stack for a custom AMI:
- This template creates a CloudFormation stack and a custom AMI.
- After creating a CloudFormation stack, retrieve the AMI ID from AWS Management Console by using the TargetAMIName CloudFormation output parameter value.
- You can delete the CloudFormation stack after the AMI is created. This will not delete the AMI created with the CloudFormation stack. To delete the stack (or the AMI), use AWS Management Console.
Troubleshooting
If you observe any failures when creating this CloudFormation stack, see Troubleshoot ArcGIS deployments on AWS.