[efs] section - AWS ParallelCluster

[efs] section

Defines configuration settings for the Amazon EFS that's mounted on the head and compute nodes. For more information, see CreateFileSystem in the Amazon EFS documentation.

The format is [efs efs-name]. efs-name must start with a letter, contain no more than 30 characters, and only contain letters, numbers, hyphens (-), and underscores (_).

[efs customfs] shared_dir = efs encrypted = false performance_mode = generalPurpose

efs_fs_id

(Optional) Defines the Amazon EFS file system ID for an existing file system.

Specifying this option voids all other Amazon EFS options except for shared_dir.

If you set this option, it only supports file systems:

  • That don't have a mount target in the stack's Availability Zone

    OR

  • That do have an existing mount target in the stack's Availability Zone, with inbound and outbound NFS traffic allowed from 0.0.0.0/0.

The sanity check for validating efs_fs_id requires the IAM role to have the following permissions:

  • elasticfilesystem:DescribeMountTargets

  • elasticfilesystem:DescribeMountTargetSecurityGroups

  • ec2:DescribeSubnets

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkInterfaceAttribute

To avoid errors, you must add these permissions to your IAM role, or set sanity_check = false.

Important

When you set a mount target with inbound and outbound NFS traffic allowed from 0.0.0.0/0, it exposes the file system to NFS mounting requests from anywhere in the mount target's Availability Zone. AWS recommends that you do not create a mount target in the stack's Availability Zone. Instead, you should let AWS handle this step. If you still want to have a mount target in the stack's Availability Zone, consider using a custom security group by providing a vpc_security_group_id option under the [vpc] section. Then add that security group to the mount target, and turn off sanity_check to create the cluster.

There is no default value.

efs_fs_id = fs-12345

Update policy: If this setting is changed, the update is not allowed.

efs_kms_key_id

(Optional) Identifies the AWS Key Management Service (AWS KMS) customer managed key to be used to protect the encrypted file system. If this is set, the encrypted setting must be set to true. This corresponds to the KmsKeyId parameter in the Amazon EFS API Reference.

There is no default value.

efs_kms_key_id = 1234abcd-12ab-34cd-56ef-1234567890ab

Update policy: If this setting is changed, the update is not allowed.

encrypted

(Optional) Indicates whether the file system is encrypted. This corresponds to the Encrypted parameter in the Amazon EFS API Reference.

The default value is false.

encrypted = true

Update policy: If this setting is changed, the update is not allowed.

performance_mode

(Optional) Defines the performance mode of the file system. This corresponds to the PerformanceMode parameter in the Amazon EFS API Reference.

Valid options are the following values:

  • generalPurpose

  • maxIO

Both values are case sensitive.

We recommend the generalPurpose performance mode for most file systems.

File systems that use the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second. However, there is a trade-off of slightly higher latencies for most file operations.

This parameter cannot be changed after the file system has been created.

The default value is generalPurpose.

performance_mode = generalPurpose

Update policy: If this setting is changed, the update is not allowed.

provisioned_throughput

(Optional) Defines the provisioned throughput of the file system, measured in MiB/s. This corresponds to the ProvisionedThroughputInMibps parameter in the Amazon EFS API Reference.

If you use this parameter, you must set throughput_mode to provisioned.

The limit on throughput is 1024 MiB/s. To request a limit increase, contact AWS Support.

The minimum value is 0.0 MiB/s.

provisioned_throughput = 1024

Update policy: This setting can be changed during an update.

shared_dir

(Required) Defines the Amazon EFS mount point on the head and compute nodes.

This parameter is required. The Amazon EFS section is used only if shared_dir is specified.

Don't use NONE or /NONE as the shared directory.

The following example mounts Amazon EFS at /efs.

shared_dir = efs

Update policy: If this setting is changed, the update is not allowed.

throughput_mode

(Optional) Defines the throughput mode of the file system. This corresponds to the ThroughputMode parameter in the Amazon EFS API Reference.

Valid options are the following values:

  • bursting

  • provisioned

The default value is bursting.

throughput_mode = provisioned

Update policy: This setting can be changed during an update.