[cluster]
section
Defines a cluster template that can be used to create a cluster. A config file can contain multiple
[cluster]
sections.
The same cluster template can be used to create multiple clusters.
The format is [cluster
. The [cluster] section named by the cluster_template setting in the [global] section is used by default, but can be overridden on the pcluster command line.cluster-template-name
]
cluster-template-name
must start with a letter, contain no more than 30 characters,
and only contain letters, numbers, hyphens (-), and underscores (_).
[cluster default]
Topics
- additional_cfn_template
- additional_iam_policies
- base_os
- cluster_resource_bucket
- cluster_type
- compute_instance_type
- compute_root_volume_size
- custom_ami
- cw_log_settings
- dashboard_settings
- dcv_settings
- desired_vcpus
- disable_cluster_dns
- disable_hyperthreading
- ebs_settings
- ec2_iam_role
- efs_settings
- enable_efa
- enable_efa_gdr
- enable_intel_hpc_platform
- encrypted_ephemeral
- ephemeral_dir
- extra_json
- fsx_settings
- iam_lambda_role
- initial_queue_size
- key_name
- maintain_initial_size
- master_instance_type
- master_root_volume_size
- max_queue_size
- max_vcpus
- min_vcpus
- placement
- placement_group
- post_install
- post_install_args
- pre_install
- pre_install_args
- proxy_server
- queue_settings
- raid_settings
- s3_read_resource
- s3_read_write_resource
- scaling_settings
- scheduler
- shared_dir
- spot_bid_percentage
- spot_price
- tags
- template_url
- vpc_settings
additional_cfn_template
(Optional) Defines an additional AWS CloudFormation template to launch along with the cluster. This additional template is used for creating resources that are outside of the cluster but are part of the cluster's lifecycle.
The value must be an HTTP URL to a public template, with all parameters provided.
There is no default value.
additional_cfn_template = https://
<bucket-name>
.s3.amazonaws.com/my-cfn-template.yaml
Update policy: If this setting is changed, the update is not allowed.
additional_iam_policies
(Optional) Specifies a list of Amazon Resource Names (ARNs) of IAM policies
for Amazon EC2. This list is attached to the root role used in the cluster in addition to the permissions required by
AWS ParallelCluster separated by commas. An IAM policy name and its ARN are different. Names can't be
used as an argument to additional_iam_policies
.
If your intent is to add extra policies to the default settings for cluster nodes, we recommend that you pass the additional custom IAM policies
with the additional_iam_policies
setting instead of using the ec2_iam_role
settings to add your specific EC2 policies. This is because additional_iam_policies
are added to the default permissions that AWS ParallelCluster requires.
An existing ec2_iam_role must include all permissions required. However, because
the permissions required often change from release to release as features are added, an existing ec2_iam_role
can become obsolete.
There is no default value.
additional_iam_policies = arn:aws:iam::123456789012:policy/
CustomEC2Policy
Note
Support for additional_iam_policies was added in AWS ParallelCluster version 2.5.0.
Update policy: This setting can be changed during an update.
base_os
(Required) Specifies which OS type is used in the cluster.
Available options are:
-
alinux2
-
centos7
-
ubuntu1804
-
ubuntu2004
Note
For AWS Graviton-based instances, only alinux2
, ubuntu1804
, or
ubuntu2004
are supported.
Note
Support for centos8
was removed in AWS ParallelCluster version 2.11.4. Support for
ubuntu2004
was added and support for alinux
and ubuntu1604
was removed in
AWS ParallelCluster version 2.11.0. Support for centos8
was added and support for centos6
was removed in AWS ParallelCluster version 2.10.0. Support for alinux2
was added in AWS ParallelCluster
version 2.6.0. Support for ubuntu1804
was added, and support for ubuntu1404
was removed in
AWS ParallelCluster version 2.5.0.
Other than the specific AWS Regions mentioned in the following table that don't support centos7
. All
other AWS commercial Regions support all of the following operating systems.
Partition (AWS Regions) | alinux2 |
centos7 |
ubuntu1804 and ubuntu2004 |
---|---|---|---|
Commercial (All AWS Regions not specifically mentioned) | True | True | True |
AWS GovCloud (US-East) (us-gov-east-1 ) |
True | False | True |
AWS GovCloud (US-West) (us-gov-west-1 ) |
True | False | True |
China (Beijing) (cn-north-1 ) |
True | False | True |
China (Ningxia) (cn-northwest-1 ) |
True | False | True |
Note
The base_os parameter also determines the user name that's used to log into the cluster.
-
centos7
:centos
-
ubuntu1804
andubuntu2004
:ubuntu
-
alinux2
:ec2-user
Note
Before AWS ParallelCluster version 2.7.0, the base_os
parameter was optional, and the default was alinux
. Starting with AWS ParallelCluster
version 2.7.0, the base_os parameter is required.
Note
If the scheduler parameter is awsbatch
, only
alinux2
is supported.
base_os = alinux2
Update policy: If this setting is changed, the update is not allowed.
cluster_resource_bucket
(Optional) Specifies the name of the Amazon S3 bucket that's used to host resources that are generated when the cluster is created. The bucket must have versioning enabled. For more information, see Using versioning in the Amazon Simple Storage Service User Guide. This bucket can be used for multiple clusters. The bucket must be in the same Region as the cluster.
If this parameter isn't specified, a new bucket is created when the cluster is created. The new bucket has the
name of parallelcluster-
. In this name,
random_string
random_string
is a random string of alphanumeric characters. All cluster resources are
stored in this bucket in a path with the form
.
bucket_name
/resource_directory
resource_directory
has the form
, where
stack_name
-random_string
stack_name
is the name of one of the AWS CloudFormation stacks used by AWS ParallelCluster.
The value of bucket_name
can be found in the ResourcesS3Bucket
value in the
output of the parallelcluster-
stack. The value of
clustername
resource_directory
can be found in the value of the ArtifactS3RootDirectory
output from the same stack.
The default value is parallelcluster-
.random_string
cluster_resource_bucket = amzn-s3-demo-bucket
Note
Support for cluster_resource_bucket was added in AWS ParallelCluster version 2.10.0.
cluster_type
(Optional) Defines the type of cluster to launch. If the queue_settings setting is defined, then this setting must be replaced by the compute_type settings in the [queue] sections.
Valid options are: ondemand
, and spot
.
The default value is ondemand
.
For more information about Spot Instances, see Working with Spot Instances.
Note
Using Spot Instances requires that the AWSServiceRoleForEC2Spot
service-linked role exist in your
account. To create this role in your account using the AWS CLI, run the following command:
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
For more information, see Service-linked role for Spot Instance requests in the Amazon EC2 User Guide.
cluster_type = ondemand
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
compute_instance_type
(Optional) Defines the Amazon EC2 instance type that's used for the cluster compute nodes. The architecture of the instance type must be the same as the architecture used for the master_instance_type setting. If the queue_settings setting is defined, then this setting must be replaced by the instance_type settings in the [compute_resource] sections.
If you're using the awsbatch
scheduler, see the Compute Environments creation in the AWS Batch UI for
a list of supported instance types.
Defaults to t2.micro
, optimal
when the scheduler is awsbatch
.
compute_instance_type = t2.micro
Note
Support for AWS Graviton-based instances (including A1
and C6g
instances) was added
in AWS ParallelCluster version 2.8.0.
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
compute_root_volume_size
(Optional) Specifies the ComputeFleet root volume size in gibibytes (GiB). The
AMI must support growroot
.
The default value is 35
.
Note
For AWS ParallelCluster versions between 2.5.0 and 2.10.4, the default was 25. Before AWS ParallelCluster version 2.5.0, the default was 20.
compute_root_volume_size = 35
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
custom_ami
(Optional) Specifies the ID of a custom AMI to use for the head and compute
nodes instead of the default published AMIs
There is no default value.
custom_ami = ami-00d4efc81188687a0
If the custom AMI requires additional permissions for its launch, these permissions must be added to both the user and head node policies.
For example, if a custom AMI has an encrypted snapshot associated with it, the following additional policies are required in both the user and head node policies:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:
<AWS_REGION>
:<AWS_ACCOUNT_ID>
:key/<AWS_KMS_KEY_ID>
" ] } ] }
Update policy: If this setting is changed, the update is not allowed.
cw_log_settings
(Optional) Identifies the [cw_log]
section with the CloudWatch Logs
configuration. The section name must start with a letter, contain no more than 30 characters, and only contain
letters, numbers, hyphens (-), and underscores (_).
For more information, see the [cw_log] section, Amazon CloudWatch dashboard, and Integration with Amazon CloudWatch Logs.
For example, the following setting specifies that the section that starts [cw_log custom-cw]
is
used for the CloudWatch Logs configuration.
cw_log_settings = custom-cw
Note
Support for cw_log_settings was added in AWS ParallelCluster version 2.6.0.
Update policy: If this setting is changed, the update is not allowed.
dashboard_settings
(Optional) Identifies the [dashboard]
section with the CloudWatch
dashboard configuration. The section name must start with a letter, contain no more than 30 characters, and only
contain letters, numbers, hyphens (-), and underscores (_).
For more information, see the [dashboard] section.
For example, the following setting specifies that the section that starts [dashboard
custom-dashboard
is used for the CloudWatch dashboard configuration.
dashboard_settings = custom-dashboard
Note
Support for dashboard_settings was added in AWS ParallelCluster version 2.10.0.
Update policy: This setting can be changed during an update.
dcv_settings
(Optional) Identifies the [dcv]
section with the Amazon DCV
configuration. The section name must start with a letter, contain no more than 30 characters, and only contain
letters, numbers, hyphens (-), and underscores (_).
For more information, see the [dcv] section.
For example, the following setting specifies that the section that starts [dcv custom-dcv]
is used
for the Amazon DCV configuration.
dcv_settings = custom-dcv
Note
On AWS Graviton-based instances, Amazon DCV is only supported on alinux2
.
Note
Support for dcv_settings was added in AWS ParallelCluster version 2.5.0.
Update policy: If this setting is changed, the update is not allowed.
desired_vcpus
(Optional) Specifies the desired number of vCPUs in the compute environment.
Used only if the scheduler is
awsbatch
.
The default value is 4
.
desired_vcpus = 4
Update policy: This setting is not analyzed during an update.
disable_cluster_dns
(Optional) Specifies if the DNS entries for the cluster shouldn't be created.
By default, AWS ParallelCluster creates a Route 53 hosted zone. If disable_cluster_dns
is set to
true
, the hosted zone isn't created.
The default value is false
.
disable_cluster_dns = true
Warning
A name resolution system is required for the cluster to operate properly. If disable_cluster_dns
is set to true
, an additional name resolution system must also be provided.
Important
disable_cluster_dns = true
is only supported if the queue_settings setting is
specified.
Note
Support for disable_cluster_dns was added in AWS ParallelCluster version 2.9.1.
Update policy: If this setting is changed, the update is not allowed.
disable_hyperthreading
(Optional) Disables hyperthreading on the head and compute nodes. Not all instance types can disable hyperthreading. For a list of instance types that support disabling hyperthreading, see CPU cores and threads for each CPU core for each instance type in the Amazon EC2 User Guide. If the queue_settings setting is defined, either this setting can be defined, or the disable_hyperthreading settings in the [queue] sections can be defined.
The default value is false
.
disable_hyperthreading = true
Note
disable_hyperthreading only affects the head node when
scheduler = awsbatch
.
Note
Support for disable_hyperthreading was added in AWS ParallelCluster version 2.5.0.
Update policy: If this setting is changed, the update is not allowed.
ebs_settings
(Optional) Identifies the [ebs]
sections with the Amazon EBS volumes
that are mounted on the head node. When using multiple Amazon EBS volumes, enter these parameters in a list with each one
separated by a comma. The section name must start with a letter, contain no more than 30 characters, and only contain
letters, numbers, hyphens (-), and underscores (_).
Up to five (5) additional Amazon EBS volumes are supported.
For more information, see the [ebs] section.
For example, the following setting specifies that the sections that start [ebs custom1]
and
[ebs custom2]
are used for the Amazon EBS volumes.
ebs_settings = custom1, custom2
Update policy: If this setting is changed, the update is not allowed.
ec2_iam_role
(Optional) Defines the name of an existing IAM role for Amazon EC2 that's attached
to all instances in the cluster. An IAM role name and its Amazon Resource Name (ARN) are different. ARNs can't be
used as an argument to ec2_iam_role
.
If this option is specified, the additional_iam_policies
setting is ignored. If your intent is to add extra policies to the default settings for cluster nodes, we recommend that you pass the additional custom IAM policies
with the additional_iam_policies setting
instead of using the ec2_iam_role
settings.
If this option isn't specified, the default AWS ParallelCluster IAM role for Amazon EC2 is used. For more information, see AWS Identity and Access Management roles in AWS ParallelCluster.
There is no default value.
ec2_iam_role = ParallelClusterInstanceRole
Update policy: If this setting is changed, the update is not allowed.
efs_settings
(Optional) Specifies settings related to the Amazon EFS file system. The section name must start with a letter, contain no more than 30 characters, and only contain letters, numbers, hyphens (-), and underscores (_).
For more information, see the [efs] section.
For example, the following setting specifies that the section that starts [efs customfs]
is used
for the Amazon EFS file system configuration.
efs_settings = customfs
Update policy: If this setting is changed, the update is not allowed.
enable_efa
(Optional) If present, specifies that Elastic Fabric Adapter (EFA) is enabled for the compute nodes. To view the list of EC2 instances that support EFA, see Supported instance types in the Amazon EC2 User Guide for Linux Instances. For more information, see Elastic Fabric Adapter. If the queue_settings setting is defined, either this setting can be defined, or the enable_efa settings in the [queue] section can be defined. A cluster placement group should be used to minimize latencies between instances. For more information, see placement and placement_group.
enable_efa = compute
Note
Support for EFA on Arm-based Graviton2 instances was added in AWS ParallelCluster version 2.10.1.
Update policy: If this setting is changed, the update is not allowed.
enable_efa_gdr
(Optional) Starting with AWS ParallelCluster version 2.11.3, this setting has no effect. Elastic Fabric Adapter (EFA) support for GPUDirect RDMA (remote direct memory access) is always enabled if it's supported by both the instance type and the operating system.
Note
AWS ParallelCluster version 2.10.0 through 2.11.2: If compute
, specifies that
Elastic Fabric Adapter (EFA) support for GPUDirect RDMA (remote direct memory access) is enabled for the compute
nodes. Setting this setting to compute
requires that the enable_efa setting is set to compute
. EFA support for GPUDirect RDMA is supported by
specific instance types (p4d.24xlarge
) on specific operating systems (base_os is alinux2
, centos7
, ubuntu1804
, or ubuntu2004
). If the queue_settings setting is
defined, either this setting can be defined, or the enable_efa_gdr settings in the [queue] sections can be defined. A cluster placement group should be used to minimize
latencies between instances. For more information, see placement and
placement_group.
enable_efa_gdr = compute
Note
Support for enable_efa_gdr
was added in AWS ParallelCluster version 2.10.0.
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
enable_intel_hpc_platform
(Optional) If present, indicates that the End user license agreement = centos7
).
The default value is false
.
enable_intel_hpc_platform = true
Note
The enable_intel_hpc_platform parameter isn't compatible with AWS Graviton-based instances.
Note
Support for enable_intel_hpc_platform was added in AWS ParallelCluster version 2.5.0.
Update policy: If this setting is changed, the update is not allowed.
encrypted_ephemeral
(Optional) Encrypts the ephemeral instance store volumes with non-recoverable in-memory keys, using LUKS (Linux Unified Key Setup).
For more information, see https://gitlab.com/cryptsetup/cryptsetup/blob/master/README.md
The default value is false
.
encrypted_ephemeral = true
Update policy: If this setting is changed, the update is not allowed.
ephemeral_dir
(Optional) Defines the path where instance store volumes are mounted if they are used.
The default value is /scratch
.
ephemeral_dir = /scratch
Update policy: If this setting is changed, the update is not allowed.
extra_json
(Optional) Defines the extra JSON that's merged into the Chef
dna.json
. For more information, see Building a Custom AWS ParallelCluster AMI.
The default value is {}
.
extra_json = {}
Note
Starting with AWS ParallelCluster version 2.6.1, most of the install recipes are skipped by default
when launching nodes to improve start up times. To run all of the install recipes for better backwards compatibility
at the expense of startup times, add "skip_install_recipes" : "no"
to the cluster
key in
the extra_json setting. For example:
extra_json = { "cluster" : { "skip_install_recipes" : "no" } }
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
fsx_settings
(Optional) Specifies the section that defines the FSx for Lustre configuration. The section name must start with a letter, contain no more than 30 characters, and only contain letters, numbers, hyphens (-), and underscores (_).
For more information, see the [fsx] section.
For example, the following setting specifies that the section that starts [fsx fs]
is used for the
FSx for Lustre configuration.
fsx_settings = fs
Update policy: If this setting is changed, the update is not allowed.
iam_lambda_role
(Optional) Defines the name of an existing AWS Lambda execution role. This role is attached to all Lambda functions in the cluster. For more information, see AWS Lambda execution role in the AWS Lambda Developer Guide.
Note
Starting with version 2.11.5, AWS ParallelCluster doesn't support the use of SGE or Torque schedulers.
An IAM role name and its Amazon Resource Name (ARN) are different. ARNs can't be used as an argument to
iam_lambda_role
. If both ec2_iam_roleand
iam_lambda_role
are defined, and the scheduler is
sge
, slurm
, or torque
, then there will be no roles created. If the scheduler is awsbatch
, then there will be roles created during
pcluster start. For example policies, see ParallelClusterLambdaPolicy using SGE, Slurm, or
Torque and ParallelClusterLambdaPolicy using
awsbatch.
There is no default value.
iam_lambda_role = ParallelClusterLambdaRole
Note
Support for iam_lambda_role
was added in AWS ParallelCluster version 2.10.1.
Update policy: This setting can be changed during an update.
initial_queue_size
(Optional) Sets the initial number of Amazon EC2 instances to launch as compute nodes in the cluster. If the queue_settings setting is defined, then this setting must be removed and replaced by the initial_count settings in the [compute_resource] sections.
Note
Starting with version 2.11.5, AWS ParallelCluster doesn't support the use of SGE or Torque schedulers.
This setting is applicable only for traditional schedulers (SGE, Slurm, and Torque). If the maintain_initial_size setting is true
, then the initial_queue_size setting must be at
least one (1).
If the scheduler is awsbatch
, use min_vcpus
instead.
Defaults to 2
.
initial_queue_size = 2
Update policy: This setting can be changed during an update.
key_name
(Optional) Names an existing Amazon EC2 key pair with which to enable SSH access to the instances.
key_name = mykey
Note
Before AWS ParallelCluster version 2.11.0, key_name
was a required setting.
Update policy: If this setting is changed, the update is not allowed.
maintain_initial_size
Note
Starting with version 2.11.5, AWS ParallelCluster doesn't support the use of SGE or Torque schedulers.
(Optional) Maintains the initial size of the Auto Scaling group for traditional schedulers (SGE, Slurm, and Torque).
If the scheduler is awsbatch
, use desired_vcpus
instead.
This setting is a Boolean flag. If set to true
, the Auto Scaling group doesn't ever have fewer
members than the value of initial_queue_size, and the value of initial_queue_size must be one (1) or
greater. The cluster can still scale up to the value of max_queue_size. If cluster_type = spot
then the Auto Scaling group can have
instances interrupted and the size can drop under initial_queue_size.
If set to false
, the Auto Scaling group can scale down to zero (0) members to prevent resources
from sitting idle when they aren't needed.
If the queue_settings setting is defined then this setting must be removed and replaced by the initial_count and min_count settings in the [compute_resource] sections.
Defaults to false
.
maintain_initial_size = false
Update policy: This setting can be changed during an update.
master_instance_type
(Optional) Defines the Amazon EC2 instance type that's used for the head node. The architecture of the instance type must be the same as the architecture used for the compute_instance_type setting.
In AWS Regions that have a Free Tier, defaults to the Free Tier instance type (t2.micro
or
t3.micro
). In AWS Regions that do not have a Free Tier, defaults to t3.micro
. For more
information about the AWS Free Tier, see AWS Free Tier
FAQs
master_instance_type = t2.micro
Note
Before AWS ParallelCluster version 2.10.1, defaulted to t2.micro
in all AWS Regions. In
AWS ParallelCluster version 2.10.0, the p4d.24xlarge
wasn't supported for the head node.
Support for AWS Graviton-based instances (such as A1
and C6g
) was added in AWS ParallelCluster version 2.8.0.
Update policy: If this setting is changed, the update is not allowed.
master_root_volume_size
(Optional) Specifies the head node root volume size in gibibytes (GiB). The AMI
must support growroot
.
The default value is 35
.
Note
For AWS ParallelCluster versions between 2.5.0 and 2.10.4, the default was 25. Before AWS ParallelCluster version 2.5.0, the default was 20.
master_root_volume_size = 35
Update policy: If this setting is changed, the update is not allowed.
max_queue_size
(Optional) Sets the maximum number of Amazon EC2 instances that can be launched in the cluster. If the queue_settings setting is defined, then this setting must be removed and replaced by the max_count settings in the [compute_resource] sections.
Note
Starting with version 2.11.5, AWS ParallelCluster doesn't support the use of SGE or Torque schedulers.
This setting is applicable only for traditional schedulers (SGE, Slurm, and Torque).
If the scheduler is awsbatch
, use max_vcpus
instead.
Defaults to 10
.
max_queue_size = 10
Update policy: This setting can be changed during an update, but the compute fleet should be stopped if the value is reduced. Otherwise, existing nodes may be terminated.
max_vcpus
(Optional) Specifies the maximum number of vCPUs in the compute environment.
Used only if the scheduler is awsbatch
.
The default value is 20
.
max_vcpus = 20
Update policy: This setting can't be decreased during an update.
min_vcpus
(Optional) Maintains the initial size of the Auto Scaling group for the
awsbatch
scheduler.
Note
Starting with version 2.11.5, AWS ParallelCluster doesn't support the use of SGE or Torque schedulers.
If the scheduler is SGE, Slurm, or Torque, use maintain_initial_size instead.
The compute environment never has fewer members than the value of min_vcpus.
Defaults to 0
.
min_vcpus = 0
Update policy: This setting can be changed during an update.
placement
(Optional) Defines the cluster placement group logic, enabling either the whole cluster or only the compute instances to use the cluster placement group.
If the queue_settings setting is defined, then this setting should be removed and replaced with placement_group settings for each of the [queue] sections. If the same placement group is used for different instance types, it’s more likely that the request might fail due to an insufficient capacity error. For more information, see Insufficient instance capacity in the Amazon EC2 User Guide. Multiple queues can only share a placement group if it’s created in advance and configured in the placement_group setting for each queue. If each [queue] sections defines a placement_group setting, then the head node can't be in the placement group for a queue.
Valid options are cluster
or compute
.
This parameter isn't used when the scheduler is awsbatch
.
The default value is compute
.
placement = compute
Update policy: If this setting is changed, the update is not allowed.
placement_group
(Optional) Defines the cluster placement group. If the queue_settings setting is defined, then this setting should be removed and replaced by the placement_group settings in the [queue] sections.
Valid options are the following values:
-
DYNAMIC
-
An existing Amazon EC2 cluster placement group name
When set to DYNAMIC
, a unique placement group is created and deleted as part of the cluster
stack.
This parameter isn't used when the scheduler is awsbatch
.
For more information about placement groups, see Placement groups in the Amazon EC2 User Guide. If the same placement group is used for different instance types, it’s more likely that the request might fail due to an insufficient capacity error. For more information, see Insufficient instance capacity in the Amazon EC2 User Guide.
There is no default value.
Not all instance types support cluster placement groups. For example, the default instance type of
t3.micro
doesn't support cluster placement groups. For information about the list of instance types
that support cluster placement groups, see Cluster placement group
rules and limitations in the Amazon EC2 User Guide. See Placement groups and instance launch issues
for tips when working with placement groups.
placement_group = DYNAMIC
Update policy: If this setting is changed, the update is not allowed.
post_install
(Optional) Specifies the URL of a post-install script that's run after all of the node bootstrap actions are complete. For more information, see Custom Bootstrap Actions.
When using awsbatch
as the scheduler, the post-install script is run only on the head node.
The parameter format can be either http://
or
hostname/path/to/script.sh
s3://
.bucket-name/path/to/script.sh
There is no default value.
post_install = s3://
<bucket-name>
/my-post-install-script.sh
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
post_install_args
(Optional) Specifies a quoted list of arguments to pass to the post-install script.
There is no default value.
post_install_args = "
argument-1
argument-2
"
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
pre_install
(Optional) Specifies the URL of a pre-install script that's run before any node deployment bootstrap action is started. For more information, see Custom Bootstrap Actions.
When using awsbatch
as the scheduler, the pre-install script is run only on the head node.
The parameter format can be either http://
or
hostname/path/to/script.sh
s3://
.bucket-name/path/to/script.sh
There is no default value.
pre_install = s3://
bucket-name
/my-pre-install-script.sh
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
pre_install_args
(Optional) Specifies a quoted list of arguments to pass to the pre-install script.
There is no default value.
pre_install_args = "
argument-3
argument-4
"
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
proxy_server
(Optional) Defines an HTTP or HTTPS proxy server, typically
http://
.x.x.x.x:8080
There is no default value.
proxy_server = http://
10.11.12.13:8080
Update policy: If this setting is changed, the update is not allowed.
queue_settings
(Optional) Specifies that the cluster uses queues instead of a homogenous
compute fleet, and which [queue] sections are used. The first [queue] section listed is the default scheduler queue. The
queue
section names must start with a lowercase letter, contain no more than 30 characters, and only
contain lowercase letters, numbers, and hyphens (-).
Important
queue_settings is only supported when scheduler is set to slurm
. The cluster_type, compute_instance_type, initial_queue_size, maintain_initial_size, max_queue_size, placement, placement_group, and spot_price settings must not be specified. The disable_hyperthreading and enable_efa settings can either
be specified in the [cluster] section or the [queue] sections, but not both.
Up to five (5) [queue] sections are supported.
For more information, see the [queue] section.
For example, the following setting specifies that the sections that start [queue q1]
and
[queue q2]
are used.
queue_settings = q1, q2
Note
Support for queue_settings was added in AWS ParallelCluster version 2.9.0.
Update policy: The compute fleet must be stopped for this setting to be changed for an update.
raid_settings
(Optional) Identifies the [raid]
section with the Amazon EBS volume
RAID configuration. The section name must start with a letter, contain no more than 30 characters, and only contain
letters, numbers, hyphens (-), and underscores (_).
For more information, see the [raid] section.
For example, the following setting specifies that the section that starts [raid rs]
be used for the
Auto Scaling configuration.
raid_settings = rs
Update policy: If this setting is changed, the update is not allowed.
s3_read_resource
(Optional) Specifies an Amazon S3 resource to which AWS ParallelCluster nodes are granted read-only access.
For example, arn:aws:s3:::
provides read-only
access to the my_corporate_bucket
*my_corporate_bucket
bucket and to the objects in the bucket.
See working with Amazon S3 for details on format.
There is no default value.
s3_read_resource = arn:aws:s3:::
my_corporate_bucket
*
Update policy: This setting can be changed during an update.
s3_read_write_resource
(Optional) Specifies an Amazon S3 resource which AWS ParallelCluster nodes are granted read/write access to.
For example, arn:aws:s3:::
provides
read/write access to all objects in the my_corporate_bucket
/Development/*Development
folder of the
my_corporate_bucket
bucket.
See working with Amazon S3 for details on format.
There is no default value.
s3_read_write_resource = arn:aws:s3:::
my_corporate_bucket
/*
Update policy: This setting can be changed during an update.
scaling_settings
Identifies the [scaling]
section with the Auto Scaling configuration. The section name must start with a
letter, contain no more than 30 characters, and only contain letters, numbers, hyphens (-), and underscores
(_).
For more information, see the [scaling] section.
For example, the following setting specifies that the section that starts [scaling custom]
is used
for the Auto Scaling configuration.
scaling_settings = custom
Update policy: If this setting is changed, the update is not allowed.
scheduler
(Required) Defines the cluster scheduler.
Valid options are the following values:
awsbatch
-
AWS Batch
For more information about the
awsbatch
scheduler, see networking setup and AWS Batch (awsbatch). sge
-
Note
Starting with version 2.11.5, AWS ParallelCluster doesn't support the use of SGE or Torque schedulers.
Son of Grid Engine (SGE)
slurm
-
Slurm Workload Manager (Slurm)
torque
-
Note
Starting with version 2.11.5, AWS ParallelCluster doesn't support the use of SGE or Torque schedulers.
Torque Resource Manager (Torque)
Note
Before AWS ParallelCluster version 2.7.0, the scheduler
parameter was optional, and the
default was sge
. Starting with AWS ParallelCluster version 2.7.0, the scheduler
parameter is required.
scheduler = slurm
Update policy: If this setting is changed, the update is not allowed.
shared_dir
(Optional) Defines the path where the shared Amazon EBS volume is mounted.
Don't use this option with multiple Amazon EBS volumes. Instead, provide shared_dir values under each [ebs] section.
See the [ebs] section for details on working with multiple Amazon EBS volumes.
The default value is /shared
.
The following example shows a shared Amazon EBS volume mounted at /myshared
.
shared_dir = myshared
Update policy: If this setting is changed, the update is not allowed.
spot_bid_percentage
(Optional) Sets the on-demand percentage used to calculate the maximum Spot
price for the ComputeFleet, when awsbatch
is the scheduler.
If unspecified, the current spot market price is selected, capped at the On-Demand price.
spot_bid_percentage = 85
Update policy: This setting can be changed during an update.
spot_price
Note
Starting with version 2.11.5, AWS ParallelCluster doesn't support the use of SGE or Torque schedulers.
(Optional) Sets the maximum Spot price for the ComputeFleet on traditional
schedulers (SGE, Slurm, and Torque). Used only when the cluster_type setting is set to spot
. If you don't specify a value, you are charged the Spot
price, capped at the On-Demand price. If the queue_settings setting
is defined, then this setting must be removed and replaced by the spot_price settings in the [compute_resource] sections.
If the scheduler is awsbatch
, use spot_bid_percentage
instead.
For assistance finding a Spot Instance that meets your needs, see the Spot Instance advisor
spot_price = 1.50
Note
In AWS ParallelCluster version 2.5.0, if cluster_type = spot
but spot_price isn't specified, the instance launches of the ComputeFleet fail.
This was fixed in AWS ParallelCluster version 2.5.1.
Update policy: This setting can be changed during an update.
tags
(Optional) Defines tags to be used by AWS CloudFormation.
If command line tags are specified via --tags, they are merged with config tags.
Command line tags overwrite config tags that have the same key.
Tags are JSON formatted. Don't use quotes outside of the curly braces.
For more information, see AWS CloudFormation resource tags type in the AWS CloudFormation User Guide.
tags = {"key" : "value", "key2" : "value2"}
Update policy: If this setting is changed, the update is not allowed.
Note
The update policy did not support changing the tags
setting for AWS ParallelCluster
version 2.8.0 through version 2.9.1.
For versions 2.10.0 through version 2.11.7, the listed update policy that supported changing the
tags
setting isn't accurate. A cluster update when modifying this setting isn't supported.
template_url
(Optional) Defines the path to the AWS CloudFormation template that's used to create the cluster.
Updates use the template that was originally used to create the stack.
Defaults to
https://
.aws_region_name
-aws-parallelcluster.s3.amazonaws.com/templates/aws-parallelcluster-version
.cfn.json
Warning
This is an advanced parameter. Any change to this setting is done at your own risk.
template_url = https://us-east-1-aws-parallelcluster.s3.amazonaws.com/templates/aws-parallelcluster-2.11.9.cfn.json
Update policy: This setting is not analyzed during an update.
vpc_settings
(Required) Identifies the [vpc]
section with the Amazon VPC
configuration where the cluster is deployed. The section name must start with a letter, contain no more than 30
characters, and only contain letters, numbers, hyphens (-), and underscores (_).
For more information, see the [vpc] section.
For example, the following setting specifies that the section that starts [vpc public]
is used for
the Amazon VPC configuration.
vpc_settings = public
Update policy: If this setting is changed, the update is not allowed.