Skip To Content

Create an Amazon Machine Image with ArcGIS on a Linux operating system using CloudFormation

The arcgis-ami-linux.template.json Amazon Web Services (AWS) CloudFormation template creates an Amazon Machine Image (AMI) with a Linux operating system and ArcGIS Enterprise components that you choose.

See Operating systems supported when using CloudFormation to deploy ArcGIS on AWS for a list of supported Linux 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 Linux operating system AMI ID of your choice (refer to the supported Linux 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-linux.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 Ubuntu AMIs. But if you plan to use an AMI other than an AWS base Ubuntu AMI, you must configure the AWS Systems Manager agent in the base Linux operating system AMI. Follow the steps below to install AWS Systems Manager in a base Linuxoperating system AMI:

  1. Create an Amazon Elastic Compute Cloud (EC2) instance from a base AMI using AWS Management Console.
  2. Install the AWS Systems Manager agent on the EC2 instance you created in the previous step.

    See the instructions in the AWS documentation.

  3. Create an AMI from the EC2 instance using AWS Management Console.
  4. 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 nameRequired or notParameter description

Source Amazon Machine Image (AMI) ID

Required

Provide the source Amazon Machine Image (AMI) ID. See Operating systems supported when using CloudFormation to deploy ArcGIS on AWS for a list of supported Linux operating systems.

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.

Device Name for EBS Volume

Required

Choose the device name for the EBS volume included in the image.

You must choose the same device name that is used by the AMI that you specified with the Source Amazon Machine Image ID parameter.

The available values are as follows:

  • /dev/sda1 (the default value)
  • /dev/xvda

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 nameRequired or notParameter description

ArcGIS Enterprise Component

Required

Choose the ArcGIS Enterprise component to be installed on the AMI. Available values are as follows:

  • ArcGIS Enterprise Base
  • Portal for ArcGIS
  • ArcGIS Server
  • ArcGIS Notebook Server
  • ArcGIS Mission Server
  • ArcGIS Workflow Manager
  • ArcGIS Data Store

Note:

When you choose ArcGIS Enterprise Base, Portal for ArcGIS including ArcGIS Web Adaptor with a context name portal, ArcGIS Server including ArcGIS Web Adaptor with a context name server, and ArcGIS Data Store are installed on the AMI.

ArcGIS GeoEvent Server

Optional

Choose whether to install ArcGIS GeoEvent Server. Available values are true or false.

Note:

This parameter is applicable only if you set the ArcGIS Enterprise Component parameter to ArcGIS Enterprise Base or ArcGIS Server.

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 Enterprise Base, because that option includes two installations of ArcGIS Web Adaptor automatically.
  • ArcGIS Data Store because ArcGIS Data Store does not use a web adaptor.

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.

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 nameOutput 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.