

# Amazon Machine Images (AMIs) for AWS PCS
<a name="working-with_ami"></a>

AWS PCS works with AMIs that you provide, affording great flexibility in the software and configuration found on nodes in your cluster. If you are trying out AWS PCS, you can use a sample AMI provided by and maintained by AWS. If you are using AWS PCS in production, we recommend you build your own AMIs. This topic covers how to discover and use the sample AMIs, as well as how to build and use your own customized AMIs.

**Topics**
+ [

# Using sample Amazon Machine Images (AMIs) with AWS PCS
](working-with_ami_samples.md)
+ [

# Custom Amazon Machine Images (AMIs) for AWS PCS
](working-with_ami_custom.md)
+ [

# Software installers to build custom AMIs for AWS PCS
](working-with_ami_installers.md)
+ [

# Release notes for AWS PCS sample AMIs
](ami-release-notes.md)

# Using sample Amazon Machine Images (AMIs) with AWS PCS
<a name="working-with_ami_samples"></a>

AWS provides [sample AMIs](ami-release-notes.md) that you can use as a starting point for working with AWS PCS.

**Important**  
Sample AMIs are for demonstration purposes and are not recommended for production workloads.

**Important**  
Compute node groups configured with AWS PCS sample AMIs and multiple network interfaces won't work currently if the subnets are only configured to use IPv6. Use dual-stack subnets (IPv4 and IPv6) or IPv4-only subnets instead.

## Find current AWS PCS sample AMIs
<a name="working-with_ami_samples_find"></a>

------
#### [ AWS Management Console ]

 AWS PCS sample AMIs have the following naming convention: 

```
aws-pcs-sample_ami-OS-architecture-scheduler-scheduler-major-version
```

**Accepted values**
+  *OS* – `amzn2` 
+  *architecture* – `x86_64` or `arm64` 
+  *scheduler* – `slurm` 
+  *scheduler-major-version* – `25.05` 

**To find AWS PCS sample AMIs**

1. Open the [Amazon EC2 console](https://console.aws.amazon.com/ec2).

1. Navigate to **AMIs**.

1. Choose **Public images**.

1. In **Find AMI by attribute or tag**, search for an AMI using the templated name.

**Examples**
   + Sample AMI for Slurm 25.05 on Arm64 instances

     ```
     aws-pcs-sample_ami-amzn2-arm64-slurm-25.05
     ```
   + Sample AMI for Slurm 25.05 on x86 instances

     ```
     aws-pcs-sample_ami-amzn2-x86_64-slurm-25.05
     ```
**Note**  
If there are multiple AMIs, use the AMI with the most recent time stamp.

1. Use the AMI ID when you create or update a compute node group.

------
#### [ AWS CLI ]

You can find the latest AWS PCS sample AMI with the commands that follow. Replace *region-code* with the AWS Region where you use AWS PCS, such as `us-east-1`.
+ **x86\$164**

  ```
  aws ec2 describe-images --region region-code --owners amazon \
  --filters 'Name=name,Values=aws-pcs-sample_ami-amzn2-x86_64-slurm-25.05*' \
              'Name=state,Values=available' \
  --query 'sort_by(Images, &CreationDate)[-1].[Name,ImageId]' --output text
  ```
+ **Arm64**

  ```
  aws ec2 describe-images --region region-code --owners amazon \
  --filters 'Name=name,Values=aws-pcs-sample_ami-amzn2-arm64-slurm-25.05*' \
              'Name=state,Values=available' \
  --query 'sort_by(Images, &CreationDate)[-1].[Name,ImageId]' --output text
  ```

Use the AMI ID when you create or update a compute node group.

------

## Learn more about AWS PCS sample AMIs
<a name="working-with_ami_samples_learn"></a>

To view the contents, configuration details for current and previous releases of the AWS PCS sample AMIs, see [Release notes for AWS PCS sample AMIs](ami-release-notes.md).

## Build your own AMIs compatible with AWS PCS
<a name="working-with_ami_samples_build"></a>

To learn how to build your own AMIs that work with AWS PCS, see [Custom Amazon Machine Images (AMIs) for AWS PCS](working-with_ami_custom.md).

# Custom Amazon Machine Images (AMIs) for AWS PCS
<a name="working-with_ami_custom"></a>

AWS PCS is designed to work with Amazon Machine Images (AMI) that you bring to the service. These AMIs can have arbitrary software and configurations installed on them, so long as they have the AWS PCS agent and a compatible version of Slurm installed and configured correctly. You must use AWS-provided installers to install the AWS PCS software on your custom AMI. We recommend you use AWS-provided installers to install Slurm on your custom AMI but you can install Slurm on your own if you prefer (not recommended). 

**Note**  
If you want to try AWS PCS without building a custom AMI, you can use a sample AMI provided by AWS. For more information, see [Using sample Amazon Machine Images (AMIs) with AWS PCS](working-with_ami_samples.md).

**Important**  
AWS PCS currently requires a kernel with IPv4 support for local node communication, even when you use AWS PCS in an IPv6-only network.

This tutorial helps you create an AMI that can be used with PCS compute node groups to power your HPC and AI/ML workloads.

**Topics**
+ [

# Step 1 – Launch a temporary instance
](working-with_ami_custom_launch-instance.md)
+ [

# Step 2 – Install the AWS PCS agent
](working-with_ami_custom_install-agent.md)
+ [

# Step 3 – Install Slurm
](working-with_ami_custom_install-slurm.md)
+ [

# Step 4 – (Optional) Install additional drivers, libraries, and application software
](working-with_ami_custom_install-software.md)
+ [

# Step 5 – Create an AMI compatible with AWS PCS
](working-with_ami_custom_create-ami.md)
+ [

# Step 6 – Use the custom AMI with an AWS PCS compute node group
](working-with_ami_custom_use-ami.md)
+ [

# Step 7 – Terminate the temporary instance
](working-with_ami_custom_terminate-instance.md)

# Step 1 – Launch a temporary instance
<a name="working-with_ami_custom_launch-instance"></a>

Launch a temporary instance that you can use to install and configure the AWS PCS software and Slurm scheduler. You use this instance to create an AMI compatible with AWS PCS. 

**To launch a temporary instance**

1.  Open the [Amazon EC2 console](https://console.aws.amazon.com/ec2). 

1.  In the navigation pane, choose **Instances**, then choose **Launch instances** to open the new launch instance wizard. 

1.  (Optional) In the **Name and tags** section, provide a name for the instance, such as `PCS-AMI-instance`. The name is assigned to the instance as a resource tag (`Name=PCS-AMI-instance`). 

1.  In the **Application and OS Images** section, select an AMI for one of the [supported operating systems](working-with_ami_installers.md#working-with_ami_installers_os). 

1.  In the **Instance type** section, select a [supported instance type](working-with_ami_installers.md#working-wth_ami_installers_instance-types). 

1.  In the **Key pair** section, select the key pair to use for the instance. 

1.  In the **Network settings** section: 

   1.  For **Firewall (security groups)**, choose **Select existing security group**, then select a security group that allows inbound SSH access to your instance. 

1.  In the **Storage** section, configure the volumes as needed. Make sure to configure sufficient space to install your own applications and libraries. 

1.  In the **Summary** panel, choose **Launch instance**. 

# Step 2 – Install the AWS PCS agent
<a name="working-with_ami_custom_install-agent"></a>

Install the agent that configures the instances launched by AWS PCS for use with Slurm. For more information about the AWS PCS agent, see [AWS PCS agent versions](pcs-agent-versions.md).

**To install the AWS PCS agent**

1.  Connect to the instance you launched. For more information, see Connect to your Linux instance. 

1.  (Optional) To ensure that all of your software packages are up to date, perform a quick software update on your instance. This process may take a few minutes. 
   + **Amazon Linux 2, Amazon Linux 2023, RHEL 9, RHEL 8, Rocky Linux 9, and Rocky Linux 8**

     ```
     sudo yum update -y
     ```
   + **Ubuntu 22.04 and Ubuntu 24.04**

     ```
     sudo apt-get update && sudo apt-get upgrade -y
     ```

1. Reboot the instance and reconnect to it.

1. Download the AWS PCS agent installation files. The installation files are packaged into a compressed tarball (`.tar.gz`) file. To download the latest *stable* version, use the following command. Substitute *region* with the AWS Region where you launched your temporary instance, such as `us-east-1`. 

   ```
   curl https://aws-pcs-repo-region.s3.region.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.3.2-1.tar.gz -o aws-pcs-agent-v1.3.2-1.tar.gz
   ```

   You can also get the latest version by replacing the version number with `latest` in the preceding command (for example: `aws-pcs-agent-v1-latest.tar.gz`).
**Note**  
This might change in future releases of the AWS PCS agent software. 

1. (Optional) Verify the authenticity and integrity of the AWS PCS software tarball. We recommend that you do this to verify the identity of the software publisher and to check that the file has not been altered or corrupted since it was published.

   1.  Download the public GPG key for AWS PCS and import it into your keyring. Substitute *region* with the AWS Region where you launched your temporary instance. The command should return a key value. Record the key value; you use it in the next step. 

      ```
      wget https://aws-pcs-repo-public-keys-region.s3.region.amazonaws.com/aws-pcs-public-key.pub && \
          gpg --import aws-pcs-public-key.pub
      ```

   1.  Run the following command to verify the GPG key's fingerprint.

      ```
      gpg --fingerprint 7EEF030EDDF5C21C
      ```

      The command should return a fingerprint that is identical to the following:

      ```
      1C24 32C1 862F 64D1 F90A  239A 7EEF 030E DDF5 C21C
      ```
**Important**  
Don't run the AWS PCS agent installation script if the fingerprint doesn't match. Contact [AWS Support](https://console.aws.amazon.com/support).

   1. Download the signature file and verify the signature of the AWS PCS software tarball file. Replace *region* with the AWS Region where you launched your temporary instance, such as `us-east-1`.

      ```
      wget https://aws-pcs-repo-region.s3.region.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.3.2-1.tar.gz.sig && \
          gpg --verify ./aws-pcs-agent-v1.3.2-1.tar.gz.sig
      ```

      The output should be similar to the following:

      ```
      gpg: assuming signed data in './aws-pcs-agent-v1.3.2-1.tar.gz'
      gpg: Signature made Thu 06 Nov 2025 11:10:36 AM CET using RSA key ID ECC0AE5C
      gpg: Good signature from "AWS PCS Packages (AWS PCS Packages)"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 1C24 32C1 862F 64D1 F90A  239A 7EEF 030E DDF5 C21C
         Subkey fingerprint: B7E1 8788 3517 6A74 C3D5  EAF5 6088 136D ECC0 AE5C
      ```

      If the result includes `Good signature` and the fingerprint matches the fingerprint returned in the previous step, proceed to the next step.
**Important**  
Don't run the AWS PCS software installation script if the fingerprint doesn't match. Contact [AWS Support](https://console.aws.amazon.com/support).

1. Extract the files from the compressed `.tar.gz` file and navigate to the extracted directory.

   ```
   tar -xf aws-pcs-agent-v1.3.2-1.tar.gz && \
       cd aws-pcs-agent
   ```

1. Install the AWS PCS software.

   ```
   sudo ./installer.sh
   ```

1. Check the AWS PCS software version file to confirm a successful installation.

   ```
   cat /opt/aws/pcs/version
   ```

   The output should be similar to the following:

   ```
   AGENT_INSTALL_DATE='Fri Dec 13 12:28:43 UTC 2024'
   AGENT_VERSION='1.3.2'
   AGENT_RELEASE='1'
   ```

# Step 3 – Install Slurm
<a name="working-with_ami_custom_install-slurm"></a>

Install a version of Slurm that is compatible with AWS PCS. For more information, see [Slurm versions in AWS PCS](slurm-versions.md).

**Note**  
If you have an AMI with a previous version of the Slurm software installed on it, you must perform the following steps to install the new version of Slurm. The AWS PCS agent enables the correct version of the Slurm binaries at runtime, according to the Slurm version configured at cluster creation time. 

**To install Slurm**

1.  Connect to the same temporary instance where you installed the AWS PCS software. 

1.  Download the Slurm installer software. The Slurm installer is packaged into a compressed tarball (`.tar.gz`) file. To download the latest *stable* version, use the following command. Substitute *region* with the AWS Region of your temporary instance, such as `us-east-1`. 

   ```
   curl https://aws-pcs-repo-region.s3.region.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz \
        -o aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz
   ```

   You can also get the latest version by replacing the version number with `latest` in the preceding command (for example: `aws-pcs-slurm-25.05-installer-latest.tar.gz`). For a complete list of available versions with checksums, see [Slurm versions in AWS PCS](slurm-versions.md).
**Note**  
This might change in future releases of the Slurm installer software. 

1. (Optional) Verify the authenticity and integrity of the Slurm installer tarball. We recommend that you do this to verify the identity of the software publisher and to check that the file has not been altered or corrupted since it was published.

   1. Download the public GPG key for AWS PCS and import it into your keyring. Substitute *region* with the AWS Region where you launched your temporary instance. The command should return a key value. Record the key value; you use it in the next step.

      ```
      wget https://aws-pcs-repo-public-keys-region.s3.region.amazonaws.com/aws-pcs-public-key.pub && \
          gpg --import aws-pcs-public-key.pub
      ```

   1.  Run the following command to verify the GPG key's fingerprint.

      ```
      gpg --fingerprint 7EEF030EDDF5C21C
      ```

      The command should return a fingerprint that is identical to the following:

      ```
      1C24 32C1 862F 64D1 F90A  239A 7EEF 030E DDF5 C21C
      ```
**Important**  
Don't run the Slurm installation script if the fingerprint doesn't match. Contact [AWS Support](https://console.aws.amazon.com/support).

   1. Download the signature file and verify the signature of the Slurm installer tarball file. Replace *region* with the AWS Region where you launched your temporary instance, such as `us-east-1`.

      ```
      wget https://aws-pcs-repo-region.s3.region.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz.sig && \
           gpg --verify ./aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz.sig
      ```

      The output should be similar to the following:

      ```
      gpg: assuming signed data in './aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz'
      gpg: Signature made Fri 14 Nov 2025 11:35:15 AM UTC using RSA key ID ECC0AE5C
      gpg: Good signature from "AWS PCS Packages (AWS PCS Packages)"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 1C24 32C1 862F 64D1 F90A  239A 7EEF 030E DDF5 C21C
           Subkey fingerprint: B7E1 8788 3517 6A74 C3D5  EAF5 6088 136D ECC0 AE5C
      ```

      If the result includes `Good signature` and the fingerprint matches the fingerprint returned in the previous step, proceed to the next step.
**Important**  
Don't run the Slurm installation script if the fingerprint doesn't match. Contact [AWS Support](https://console.aws.amazon.com/support).

1. Extract the files from the compressed `.tar.gz` file and navigate into the extracted directory.

   ```
   tar -xf aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz && \
       cd aws-pcs-slurm-25.05-installer
   ```

1. Install Slurm. The installer downloads, compiles, and installs Slurm and its dependencies. It takes several minutes, depending on the specifications of the temporary instance you selected.

   ```
   sudo ./installer.sh -y
   ```

1. Check the scheduler version file to confirm the installation.

   ```
   cat /opt/aws/pcs/scheduler/slurm-25.05/version
   ```

   The output should be similar to the following:

   ```
   SLURM_INSTALL_DATE='Fri Nov 14 15:15:37 UTC 2025'
   SLURM_VERSION='25.05.5'
   PCS_SLURM_RELEASE='1'
   ```

# Step 4 – (Optional) Install additional drivers, libraries, and application software
<a name="working-with_ami_custom_install-software"></a>

Install additional drivers, libraries, and application software on the temporary instance. The installation procedures will vary depending on the specific applications and libraries. If you have not built a custom AMI for AWS PCS before, we recommend you first build and test an AMI with just the AWS PCS software and Slurm installed, then incrementally add your own software and configurations once you have confirmed initial success. 

**Examples**
+  Elastic Fabric Adapter (EFA) software. For more information, see [Get started with EFA and MPI for HPC workloads on Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html#efa-start-enable) in the *Amazon Elastic Compute Cloud User Guide*. 
+  Amazon Elastic File System (Amazon EFS) client. For more information, see [Manually installing the Amazon EFS client](https://docs.aws.amazon.com/efs/latest/ug/installing-amazon-efs-utils.html) in the *Amazon Elastic File System User Guide*. 
+  Lustre client, to use Amazon FSx for Lustre and Amazon File Cache. For more information, see [Installing the Lustre client](https://docs.aws.amazon.com/fsx/latest/LustreGuide/install-lustre-client.html) in the *FSx for Lustre User Guide*. 
+  Amazon CloudWatch agent, to use CloudWatch Logs and Metrics. For more information, see [Install the CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html) in the *Amazon CloudWatch User Guide*. 
+  AWS Neuron, to use **trn\$1** and **inf\$1** instance types. For more information, see the [AWS Neuron documentation](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/). 
+  NVIDIA Driver, CUDA, and DCGM, to use **p\$1** or **g\$1** instance types. 

# Step 5 – Create an AMI compatible with AWS PCS
<a name="working-with_ami_custom_create-ami"></a>

After you have installed the required software components, you create an AMI that you can reuse to launch instances in AWS PCS compute node groups.

**Important**  
AWS PCS currently requires a kernel with IPv4 support for local node communication, even when you use AWS PCS in an IPv6-only network.

**To create an AMI from your temporary instance**

1.  Open the [Amazon EC2 console](https://console.aws.amazon.com/ec2). 

1. In the navigation pane, choose **Instances**. 

1.  Select the temporary instance that you created. Choose **Actions**, **Image**, **Create image**. 

1.  For **Create image**, do the following: 

   1.  For **Image name**, enter a descriptive name for the AMI. 

   1.  (Optional) For **Image description**, enter a brief description of the purpose of the AMI. 

   1.  Choose **Create image**. 

1.  In the navigation pane, choose **AMIs**. 

1.  Locate the AMI that you created in the list. Wait for its status to change from **Pending** to **Available**, then use it with a AWS PCS compute node group. 

# Step 6 – Use the custom AMI with an AWS PCS compute node group
<a name="working-with_ami_custom_use-ami"></a>

You can use your custom AMI with a new or existing AWS PCS compute node group. 

**Important**  
AWS PCS currently requires a kernel with IPv4 support for local node communication, even when you use AWS PCS in an IPv6-only network.

------
#### [ New compute node group ]

**To use the custom AMI**

1.  Open the [AWS PCS console](https://console.aws.amazon.com/pcs). 

1.  In the navigation pane, choose **Clusters**. 

1.  Choose the cluster where you will use the custom AMI, then select **Compute node groups**. 

1.  Create a new compute node group. For more information, see [Creating a compute node group in AWS PCS](working-with_cng_create.md). Under **AMI ID**, search for the name or ID of the custom AMI you want to use. Finish configuring the compute node group, then choose **Create compute node group**. 

1. (Optional) Confirm the AMI supports instance launches. Launch an instance in the compute node group. You can do this by configuring the compute node group to have a single static instance, or you can submit a job to a queue that uses the compute node group.

   1.  Check the Amazon EC2 console until an instance appears tagged with the new compute node group ID. For more information on this, see [Finding compute node group instances in AWS PCS](working-with_compute-instances.md).. 

   1.  When you see an instance launch and complete its bootstrap process, confirm it is using the expected AMI. To do this, select the instance, then inspect **AMI ID** under **Details**. It should match the AMI you configured in the compute node group settings. 

   1.  (Optional) Update the compute node group scaling configuration to your preferred values. 

------
#### [ Existing compute node group ]

**To use the custom AMI**

1.  Open the [AWS PCS console](https://console.aws.amazon.com/pcs). 

1.  In the navigation pane, choose **Clusters**. 

1.  Choose the cluster where you will use the custom AMI, then select **Compute node groups**. 

1. Select the node group you wish to configure and choose **Edit**. Under **AMI ID**, search for the name or ID of the custom AMI you want to use. Finish configuring the compute node group, then choose **Update**. New instances launched in the compute node group will use the updated AMI ID. Existing instances will continue to use the old AMI until AWS PCS replaces them. For more information, see [Updating an AWS PCS compute node group](working-with_cng_update.md).

1. (Optional) Confirm the AMI supports instance launches. Launch an instance in the compute node group. You can do this by configuring the compute node group to have a single static instance, or you can submit a job to a queue that uses the compute node group.

   1.  Check the Amazon EC2 console until an instance appears tagged with the new compute node group ID. For more information on this, see [Finding compute node group instances in AWS PCS](working-with_compute-instances.md).. 

   1.  When you see an instance launch and complete its bootstrap process, confirm it is using the expected AMI. To do this, select the instance, then inspect **AMI ID** under **Details**. It should match the AMI you configured in the compute node group settings. 

   1.  (Optional) Update the compute node group scaling configuration to your preferred values. 

------

# Step 7 – Terminate the temporary instance
<a name="working-with_ami_custom_terminate-instance"></a>

After you have confirmed that your AMI works as intended with AWS PCS, you can terminate the temporary instance to stop incurring charges for it. 

**To terminate the temporary instance**

1.  Open the [Amazon EC2 console](https://console.aws.amazon.com/ec2). 

1.  In the navigation pane, choose **Instances**. 

1.  Select the temporary instance that you created and choose **Actions**, **Instance state**, **Terminate instance**. 

1.  When prompted to confirm, choose **Terminate**. 

# Software installers to build custom AMIs for AWS PCS
<a name="working-with_ami_installers"></a>

AWS provides a downloadable file that can install the AWS PCS software on an instance. AWS also provides software that can download, compile, and install relevant versions of Slurm and its dependencies. You can use these instructions to build custom AMIs for use with AWS PCS or you can use your own methods.

**Contents**
+ [

## AWS PCS agent software installer
](#working-with_ami_installers_service)
+ [

## Slurm installer
](#working-with_ami_installers_slurm)
+ [

## Supported operating systems
](#working-with_ami_installers_os)
+ [

## Supported instance types
](#working-wth_ami_installers_instance-types)
+ [

## Supported Slurm versions
](#working-with_ami_installers_slurm-versions)
+ [

## Verify installers using a checksum
](#working-with_ami_installers_verify)

## AWS PCS agent software installer
<a name="working-with_ami_installers_service"></a>

The AWS PCS agent software installer configures an instance to work with AWS PCS during the instance bootstrap process. You must use AWS-provided installers to install the AWS PCS agent on your custom AMI.

For more information about the AWS PCS agent software, see [AWS PCS agent versions](pcs-agent-versions.md).

## Slurm installer
<a name="working-with_ami_installers_slurm"></a>

 The Slurm installer downloads, compiles, and installs relevant versions of Slurm and its dependencies. You can use the Slurm installer to build custom AMIs for AWS PCS. You can also use your own mechanisms if they are consistent with the software configuration that the Slurm installer provides. For more information about AWS PCS support for Slurm, see [Slurm versions in AWS PCS](slurm-versions.md).

The AWS-provided software installs the following:
+  [Slurm](https://slurm.schedmd.com/) at the requested major and maintenance version (currently version 25.05.x) - [License GPL 2](https://github.com/SchedMD/slurm?tab=License-1-ov-file)
  +  Slurm is built with `--sysconfdir` set to `/etc/slurm` 
  +  Slurm is built with the option `--enable-pam` and `--without-munge` 
  +  Slurm is built with the option `--sharedstatedir=/run/slurm/` 
  +  Slurm is built with PMIX and JWT support 
  +  Slurm is installed at `/opt/aws/pcs/schedulers/slurm-25.05` 
+  [OpenPMIX](https://openpmix.github.io/) (version 4.2.6) – [License](https://github.com/openpmix/openpmix?tab=License-1-ov-file) 
  +  OpenPMIX is installed as a subdirectory of `/opt/aws/pcs/scheduler/` 
+  [libjwt](https://benmcollins.github.io/libjwt/) (version 1.17.0) – [License MPL-2.0](https://github.com/benmcollins/libjwt?tab=MPL-2.0-1-ov-file#readme) 
  +  libjwt is installed as a subdirectory of `/opt/aws/pcs/scheduler/` 

 The AWS-provided software changes the system configuration as follows: 
+  The Slurm `systemd` file created by the build is copied to `/etc/systemd/system/` with file name `slurmd-25.05.service`.
+  If they don't exist, a Slurm user and group (`slurm:slurm`) are created with UID/GID of `401`.
+  The folder `/etc/aws/pcs/scheduler/slurm-25.05/plugstack.conf.d/` is created, to store your [Extend Slurm functionality on AWS PCS with SPANK plugins](spank.md) configuration.
+  On Amazon Linux 2 and Rocky Linux 9 the installation adds the EPEL repository to install the required software to build Slurm or its dependencies. 
+  On RHEL9 the installation will enable `codeready-builder-for-rhel-9-rhui-rpms` and `epel-release-latest-9` from `fedoraproject` to install the required software to build Slurm or its dependencies. 

## Supported operating systems
<a name="working-with_ami_installers_os"></a>

See [Supported operating systems in AWS PCS](operating-systems.md).

**Note**  
AWS Deep Learning AMIs (DLAMI) versions based on Amazon Linux 2 and Ubuntu 22.04 should be compatible with the AWS PCS software and Slurm installers. For more information, see [Choosing Your DLAMI](https://docs.aws.amazon.com/dlami/latest/devguide/options.html) in the *AWS Deep Learning AMIs Developer Guide*.

## Supported instance types
<a name="working-wth_ami_installers_instance-types"></a>

 AWS PCS software and Slurm installers support any x86\$164 or arm64 instance type than can run one of the supported operating systems. 

## Supported Slurm versions
<a name="working-with_ami_installers_slurm-versions"></a>

See [Slurm versions in AWS PCS](slurm-versions.md).

## Verify installers using a checksum
<a name="working-with_ami_installers_verify"></a>

You can use SHA256 checksums to verify the installer tarball (.tar.gz) files. We recommend that you do this to verify the identity of the software publisher and to check that the application has not been altered or corrupted since it was published.

**To verify a tarball**  
Use the **sha256sum** utility for the SHA256 checksum and specify the tarball filename. You must run the command from the directory where you saved the tarball file.
+ SHA256

  ```
  $ sha256sum tarball_filename.tar.gz
  ```

The command should return a checksum value in the following format.

```
checksum_value tarball_filename.tar.gz
```

Compare the checksum value returned by the command with the checksum value provided in the following table. If the checksums match, then it's safe to run the installation script.

**Important**  
If the checksums don't match, don't run the installation script. Contact [Support](https://console.aws.amazon.com/support).

For example, the following command generates the SHA256 checksum for the Slurm 25.05.5-1 tarball.

```
$ sha256sum aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz
```

Example output:

```
3b0f93bce441d4f4f6935175f2c1e81cd961cb923adb416fa6689f5592047a7d aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz
```

The following tables list the checksums for recent versions of the installers. Replace *us-east-1* with the AWS Region where you use AWS PCS.


**AWS PCS agent**  

| Installer | Download URL | SHA256 checksum | 
| --- | --- | --- | 
| AWS PCS agent 1.3.2-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.3.2-1.tar.gz</pre>  |  <pre>06b32a952a1c849e3442e35c28ac2e4d6962b09286cad748f3c83d561b52ec6f</pre>  | 
| AWS PCS agent 1.3.1-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.3.1-1.tar.gz</pre>  |  <pre>5b7f1eb7b3a86bd2d331b5cb0138d868dc9452da34b480becd86af892c7e8d19</pre>  | 
| AWS PCS agent 1.3.0-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.3.0-1.tar.gz</pre>  |  <pre>eadc9b65c3db248bdde2a6c41814dfb1b97239f24ad55e03d8526dd9ab4a8d16</pre>  | 
| AWS PCS agent 1.2.2-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.2.2-1.tar.gz</pre>  |  <pre>fd7b6ea5442db75d723fc4971781ce6ae511baa21b87c4286fc1df8127b282b8</pre>  | 
| AWS PCS agent 1.2.1-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.2.1-1.tar.gz</pre>  |  <pre>2b784643ca01ccca1baa64fbfb34bb41efe8bdca69470998b74ce3962bc271d4</pre>  | 
| AWS PCS agent 1.2.0-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.2.0-1.tar.gz</pre>  |  <pre>470db8c4fc9e50277b6317f98584b6b547e73523043e34f018eecae767846805</pre>  | 
| AWS PCS agent 1.1.1-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.1.1-1.tar.gz</pre>  |  <pre>bef078bf60a6d8ecde2e6c49cd34d088703f02550279e3bf483d57a235334dc6</pre>  | 
| AWS PCS agent 1.1.0-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.1.0-1.tar.gz</pre>  |  <pre>594c32194c71bccc5d66e5213213ae38dd2c6d2f9a950bb01accea0bbab0873a</pre>  | 
| AWS PCS agent 1.0.1-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.0.1-1.tar.gz</pre>  |  <pre>04e22264019837e3f42d8346daf5886eaacecd21571742eb505ea8911786bcb2</pre>  | 
| AWS PCS agent 1.0.0-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-agent/aws-pcs-agent-v1.0.0-1.tar.gz</pre>  |  <pre>d2d3d68d00c685435c38af471d7e2492dde5ce9eb222d7b6ef0042144b134ce0</pre>  | 


**Slurm installer**  

| Installer | Download URL | SHA256 checksum | 
| --- | --- | --- | 
| Slurm 25.05.5-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-25.05-installer-25.05.5-1.tar.gz</pre>  |  <pre>e7bc84db4e71b8c7174e2f581a31233f839affb5306c76a8adba23204dcc703b</pre>  | 
| Slurm 25.05.4-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-25.05-installer-25.05.4-1.tar.gz</pre>  |  <pre>3b0f93bce441d4f4f6935175f2c1e81cd961cb923adb416fa6689f5592047a7d</pre>  | 
| Slurm 25.05.3-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-25.05-installer-25.05.3-1.tar.gz</pre>  |  <pre>851bb5815b6700ceb30cc4a3fda204ca8ce362c14528c339908983255a936cf0</pre>  | 
| Slurm 24.11.7-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-24.11-installer-24.11.7-1.tar.gz</pre>  |  <pre>73d75be82c6f88f6e248fd0cc779a5630c62d91ebabdd9cf0f61b1943b6d7d09</pre>  | 
| Slurm 24.11.6-2 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-24.11-installer-24.11.6-2.tar.gz</pre>  |  <pre>f17cd78e0bc6b9c818b794d9d2685cceabdc73f4fbb12f7566ae5b86a5abc32b</pre>  | 
| Slurm 24.11.6-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-24.11-installer-24.11.6-1.tar.gz</pre>  |  <pre>225de9fc18206f5f65f412effe1fd457614ac97ee9822b3ff804a452b0fae522</pre>  | 
| Slurm 24.11.5-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-24.11-installer-24.11.5-1.tar.gz</pre>  |  <pre>593efe4d66bef2f3e46d5a382fb5a32f7a3ca2510bcf1b3c85739f4f951810d5</pre>  | 
| Slurm 24.05.8-2 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-24.05-installer-24.05.8-2.tar.gz</pre>  |  <pre>c494b0b55c319a4c2f3faf668c759d46c32c4c7aa94ae97d94128328fe95364b</pre>  | 
| Slurm 24.05.8-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-24.05-installer-24.05.8-1.tar.gz</pre>  |  <pre>210a43b376af082bbad640b2032655885790c5dab0e6489cc327c7310a375849</pre>  | 
| Slurm 24.05.7-1 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-24.05-installer-24.05.7-1.tar.gz</pre>  |  <pre>0b5ed7c81195de2628c78f37c79e63fc4ae99132ca6b019b53a0d68792ee82c5</pre>  | 
| Slurm 24.05.5-2 |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-24.05-installer-24.05.5-2.tar.gz</pre>  |  <pre>7cc8d8294f2fbff95fe0602cf9e21e02003b5d96c0730e0a18c6aa04c7a4967b</pre>  | 
| Slurm 23.11.10-4 (deprecated) |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-23.11-installer-23.11.10-4.tar.gz</pre>  |  <pre>bb2d8c919c69dba38d14358f49c7f0427564c5dd4af85a1c9eca2c57ceeae29a</pre>  | 
| Slurm 23.11.10-3 (deprecated) |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-23.11-installer-23.11.10-3.tar.gz</pre>  |  <pre>488a10ee0fbd57ec0e0ff7ea708a9e3038fafdc025c6bb391c75c2e2a7852a00</pre>  | 
| Slurm 23.11.10-2 (deprecated) |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-23.11-installer-23.11.10-2.tar.gz</pre>  |  <pre>0bbe85423305c05987931168caf98da08a34c25f9eec0690e8e74de0b7bc8752</pre>  | 
| Slurm 23.11.10-1 (deprecated) |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-23.11-installer-23.11.10-1.tar.gz</pre>  |  <pre>27e8faa9980e92cdfd8cfdc71f937777f0934552ce61e33dac4ecf5a20321e44</pre>  | 
| Slurm 23.11.9-1 (deprecated) |  <pre>https://aws-pcs-repo-us-east-1.s3.us-east-1.amazonaws.com/aws-pcs-slurm/aws-pcs-slurm-23.11-installer-23.11.9-1.tar.gz</pre>  |  <pre>1de7d919c8632fe8e2806611bed4fde1005a4fadc795412456e935c7bba2a9b8</pre>  | 

# Release notes for AWS PCS sample AMIs
<a name="ami-release-notes"></a>

AMIs for the latest supported major versions of the scheduler receive security updates and critical bug fixes. These incremental security patches aren't included in official release notes.

**Important**  
Sample AMIs related to old scheduler versions aren't supported and don't receive updates.

**Important**  
Sample AMIs are for demonstration purposes and are not recommended for production workloads.

**Contents**
+ [Sample AMIs for x86\$164 (AL2)](#ami-release-notes_x86)
+ [Sample AMIs for Arm64 (AL2)](#ami-release-notes_arm64)

## AWS PCS sample AMIs for x86\$164 (Amazon Linux 2)
<a name="ami-release-notes_x86"></a>

### Slurm 25.05
<a name="ami-release-notes_x86_slurm-25.05"></a>

**AMI name**
+  `aws-pcs-sample_ami-amzn2-x86_64-slurm-25.05` 

**Supported EC2 instances**
+ All instances with an 64-bit x86 processor. To find compatible instances, navigate to the Amazon EC2 console. Choose Instance Types, then search for Architectures=x86\$164.

**AMI contents**
+ Supported AWS Service: AWS PCS
+ Operating System: Amazon Linux 2
+ Compute Architecture: x86\$164
+ EBS volume type: gp2
+ EFA Installer: 1.43.1
+ GDRCopy: 2.5.1
+ NVIDIA Driver: 550.127.08
+ NVIDIA CUDA: 12.4.1\$1550.54.15

### Slurm 24.11
<a name="ami-release-notes_x86_slurm-24.11"></a>

**Note**  
AWS PCS supports accounting for Slurm 24.11 and later. For more information, see [Slurm accounting in AWS PCS](slurm-accounting.md). 

**AMI name**
+  `aws-pcs-sample_ami-amzn2-x86_64-slurm-24.11` 

**Supported EC2 instances**
+  All instances with an 64-bit x86 processor. To find compatible instances, navigate to the [Amazon EC2 console](https://console.aws.amazon.com/ec2). Choose **Instance Types**, then search for `Architectures=x86_64`.

**AMI contents**
+ Supported AWS Service: AWS PCS
+  Operating System: Amazon Linux 2
+  Compute Architecture: x86\$164
+  EBS volume type: gp2
+  EFA Installer: 1.33.0
+  GDRCopy: 2.4
+  NVIDIA Driver: 550.127.08
+  NVIDIA CUDA: 12.4.1\$1550.54.15

### Slurm 24.05
<a name="ami-release-notes_x86_slurm-24.05"></a>

**AMI name**
+  `aws-pcs-sample_ami-amzn2-x86_64-slurm-24.05` 

**Supported EC2 instances**
+  All instances with an 64-bit x86 processor. To find compatible instances, navigate to the [Amazon EC2 console](https://console.aws.amazon.com/ec2). Choose **Instance Types**, then search for `Architectures=x86_64`.

**AMI contents**
+ Supported AWS Service: AWS PCS
+  Operating System: Amazon Linux 2
+  Compute Architecture: x86\$164
+  EBS volume type: gp2
+  EFA Installer: 1.33.0
+  GDRCopy: 2.4
+  NVIDIA Driver: 550.127.08
+  NVIDIA CUDA: 12.4.1\$1550.54.15

### Slurm 23.11
<a name="ami-release-notes_x86_slurm-23.11"></a>

**AMI name**
+  `aws-pcs-sample_ami-amzn2-x86_64-slurm-23.11` 

**Supported EC2 instances**
+  All instances with an 64-bit x86 processor. To find compatible instances, navigate to the [Amazon EC2 console](https://console.aws.amazon.com/ec2). Choose **Instance Types**, then search for `Architectures=x86_64`.

**AMI contents**
+ Supported AWS Service: AWS PCS
+  Operating System: Amazon Linux 2
+  Compute Architecture: x86\$164
+  EBS volume type: gp2
+  EFA Installer: 1.33.0
+  GDRCopy: 2.4
+  NVIDIA Driver: 550.127.08
+  NVIDIA CUDA: 12.4.1\$1550.54.15

## AWS PCS sample AMIs for Arm64 (Amazon Linux 2)
<a name="ami-release-notes_arm64"></a>

### Slurm 25.05
<a name="ami-release-notes_arm64_slurm-25.05"></a>

**AMI name**
+  `aws-pcs-sample_ami-amzn2-arm64-slurm-25.05` 

**Supported EC2 instances**
+ All instances with an 64-bit Arm processor. To find compatible instances, navigate to the Amazon EC2 console. Choose Instance Types, then search for Architectures=arm64.

**AMI contents**
+ Supported AWS Service: AWS PCS
+ Operating System: Amazon Linux 2
+ Compute Architecture: arm64
+ EBS volume type: gp2
+ EFA Installer: 1.43.1
+ GDRCopy: 2.5.1
+ NVIDIA Driver: 550.127.08
+ NVIDIA CUDA: 12.4.1\$1550.54.15

### Slurm 24.11
<a name="ami-release-notes_arm64_slurm-24.11"></a>

**Note**  
AWS PCS supports accounting for Slurm 24.11 and later. For more information, see [Slurm accounting in AWS PCS](slurm-accounting.md). 

**AMI name**
+  `aws-pcs-sample_ami-amzn2-arm64-slurm-24.11` 

**Supported EC2 instances**
+  All instances with an 64-bit Arm processor. To find compatible instances, navigate to the [Amazon EC2 console](https://console.aws.amazon.com/ec2). Choose **Instance Types**, then search for `Architectures=arm64`.

**AMI contents**
+ Supported AWS Service: AWS PCS
+  Operating System: Amazon Linux 2
+  Compute Architecture: arm64
+  EBS volume type: gp2
+  EFA Installer: 1.33.0
+  GDRCopy: 2.4
+  NVIDIA Driver: 550.127.08
+  NVIDIA CUDA: 12.4.1\$1550.54.15

### Slurm 24.05
<a name="ami-release-notes_arm64_slurm-24.05"></a>

**AMI name**
+  `aws-pcs-sample_ami-amzn2-arm64-slurm-24.05` 

**Supported EC2 instances**
+  All instances with an 64-bit Arm processor. To find compatible instances, navigate to the [Amazon EC2 console](https://console.aws.amazon.com/ec2). Choose **Instance Types**, then search for `Architectures=arm64`.

**AMI contents**
+ Supported AWS Service: AWS PCS
+  Operating System: Amazon Linux 2
+  Compute Architecture: arm64
+  EBS volume type: gp2
+  EFA Installer: 1.33.0
+  GDRCopy: 2.4
+  NVIDIA Driver: 550.127.08
+  NVIDIA CUDA: 12.4.1\$1550.54.15

### Slurm 23.11
<a name="ami-release-notes_arm64_slurm-23.11"></a>

**AMI name**
+  `aws-pcs-sample_ami-amzn2-arm64-slurm-23.11` 

**Supported EC2 instances**
+  All instances with an 64-bit Arm processor. To find compatible instances, navigate to the [Amazon EC2 console](https://console.aws.amazon.com/ec2). Choose **Instance Types**, then search for `Architectures=arm64`.

**AMI contents**
+ Supported AWS Service: AWS PCS
+  Operating System: Amazon Linux 2
+  Compute Architecture: arm64
+  EBS volume type: gp2
+  EFA Installer: 1.33.0
+  GDRCopy: 2.4
+  NVIDIA Driver: 550.127.08
+  NVIDIA CUDA: 12.4.1\$1550.54.15