

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 組態檔案


AWS ParallelCluster 使用 YAML 1.1 檔案做為組態參數。

**Topics**
+ [

# 叢集組態檔案
](cluster-configuration-file-v3.md)
+ [

# 建置映像組態檔案
](image-builder-configuration-file-v3.md)

# 叢集組態檔案
叢集組態檔案

AWS ParallelCluster 第 3 版使用不同的組態檔案來控制叢集基礎設施的定義和自訂 AMIs的定義。所有組態檔案都使用 YAML 1.1 檔案。每個組態檔案的詳細資訊連結如下。如需一些範例組態，請參閱 https：//[https://github.com/aws/aws-parallelcluster/tree/release-3.0/cli/tests/pcluster/example\$1configs](https://github.com/aws/aws-parallelcluster/tree/release-3.0/cli/tests/pcluster/example_configs)。

這些物件用於第 3 AWS ParallelCluster 版叢集組態。

**Topics**
+ [

## 叢集組態檔案屬性
](#cluster-configuration-file-v3.properties)
+ [

# `Imds` 區段
](Imds-cluster-v3.md)
+ [

# `Image` 區段
](Image-v3.md)
+ [

# `HeadNode` 區段
](HeadNode-v3.md)
+ [

# `Scheduling` 區段
](Scheduling-v3.md)
+ [

# `SharedStorage` 區段
](SharedStorage-v3.md)
+ [

# `Iam` 區段
](Iam-v3.md)
+ [

# `LoginNodes` 區段
](LoginNodes-v3.md)
+ [

# `Monitoring` 區段
](Monitoring-v3.md)
+ [

# `Tags` 區段
](Tags-v3.md)
+ [

# `AdditionalPackages` 區段
](AdditionalPackages-v3.md)
+ [

# `DirectoryService` 區段
](DirectoryService-v3.md)
+ [

# `DeploymentSettings` 區段
](DeploymentSettings-cluster-v3.md)

## 叢集組態檔案屬性


`Region` (**選用**，`String`)  
指定叢集 AWS 區域 的 。例如 `us-east-2`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`CustomS3Bucket` (**選用**，`String`)  
指定在 AWS 帳戶中建立的 Amazon S3 儲存貯體名稱，以存放叢集所使用的資源，例如叢集組態檔案，以及匯出 log。 會在您建立叢集的每個 AWS 區域中 AWS ParallelCluster 維護一個 Amazon S3 儲存貯體。根據預設，這些 Amazon S3 儲存貯體會命名為 `parallelcluster-hash-v1-DO-NOT-DELETE`。  
[更新政策：如果變更此設定，則不允許更新。如果您強制更新，則會忽略新值，並使用舊值。](using-pcluster-update-cluster-v3.md#update-policy-read-only-resource-bucket-v3)

`AdditionalResources` (**選用**，`String`)  
定義要與叢集一起啟動的其他 AWS CloudFormation 範本。此額外範本用於建立叢集外但屬於叢集生命週期一部分的資源。  
此值必須是公有範本的 HTTPS URL，並提供所有參數。  
沒有預設值。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

# `Imds` 區段


**（選用）** 指定全域執行個體中繼資料服務 (IMDS) 組態。

```
Imds:
  ImdsSupport: string
```

## `Imds` 屬性


`ImdsSupport` (**選用**，`String`)  
指定叢集節點支援哪些 IMDS 版本。支援的值為 `v1.0` 和 `v2.0`。預設值為 `v2.0`。  
如果 `ImdsSupport` 設定為 `v1.0`，則同時支援 IMDSv1 和 IMDSv2。  
如果 `ImdsSupport` 設定為 `v2.0`，則僅支援 IMDSv2。  
如需詳細資訊，請參閱《Amazon EC[IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)2。 *Amazon EC2 *  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
從 AWS ParallelCluster 3.7.0 開始，`ImdsSupport`預設值為 `v2.0`。我們建議您在自訂動作呼叫中`ImdsSupport`將 設定為 `v2.0`，並將 IMDSv1 取代為 IMDSv2。  
3.3.0 [`Imds`](#Imds-cluster-v3) AWS ParallelCluster 版[`ImdsSupport`](#yaml-cluster-Imds-ImdsSupport)新增了對 / 的支援。

# `Image` 區段


**注意**  
由 分發的官方 AMIs 不支援版本，在閒置 18 個月後 AWS ParallelCluster 將無法使用。這些舊映像包含過時的軟體，如果發生問題，則無法獲得支援。我們強烈建議您移至最新的支援版本。

**（必要）** 定義叢集的作業系統。

```
Image:
  Os: string
  CustomAmi: string
```

## `Image` 屬性


`Os` (**必要**，`String`)  
指定要用於叢集的作業系統。支援的值為 `alinux2`、`alinux2023`、`ubuntu2404`、`ubuntu2204`、`rhel8`、`rocky8``rhel9`、、`rocky9`。  
從 3.6.0 AWS ParallelCluster 版開始新增 RedHat Enterprise Linux 8.7 (`rhel8`)。  
如果您將叢集設定為使用 `rhel`，則任何執行個體類型的隨需成本都會高於將叢集設定為使用其他支援的操作系統時。如需定價的詳細資訊，請參閱[隨需定價](https://aws.amazon.com/ec2/pricing/on-demand)和 [Amazon EC2 上的 Red Hat Enterprise Linux 如何提供和定價？](https://aws.amazon.com/partners/redhat/faqs/#Pricing_and_Billing)。  
從 3.9.0 AWS ParallelCluster 版開始新增 RedHat Enterprise Linux 9 (rhel9)。
所有 AWS 商業區域都支援下列所有作業系統。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/parallelcluster/latest/ug/Image-v3.html)
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
 AWS ParallelCluster 3.8.0 支援 Rocky Linux 8，但預先建置的 Rocky Linux 8 AMIs （適用於 x86 和 ARM 架構） 不可用。 AWS ParallelCluster 3.8.0 支援使用自訂 AMIs 使用 Rocky Linux 8 建立叢集。如需詳細資訊，請參閱 [作業系統考量事項](operating-systems-v3.md#OS-Consideration-v3)。 AWS ParallelCluster 3.9.0 支援 Rocky Linux 9，但預先建置的 Rocky Linux 9 AMIs （適用於 x86 和 ARM 架構） 無法使用。 AWS ParallelCluster 3.9.0 支援使用自訂 AMIs 使用 Rocky Linux 9 建立叢集。如需詳細資訊，請參閱[作業系統考量事項](operating-systems-v3.md#OS-Consideration-v3)。  
 

`CustomAmi` (**選用**，`String`)  
指定要用於前端和運算節點的自訂 AMI ID，而非預設 AMI。如需詳細資訊，請參閱[AWS ParallelCluster AMI 自訂](custom-ami-v3.md)。  
如果自訂 AMI 需要其他許可才能啟動，則必須將這些許可同時新增至使用者和前端節點政策。  
例如，如果自訂 AMI 具有與其相關聯的加密快照，則使用者和前端節點政策都需要下列其他政策：    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ReEncrypt*",
                "kms:CreateGrant",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/<AWS_KMS_KEY_ID>"
            ]
        }
    ]
}
```
若要建置 RedHat Enterprise Linux 自訂 AMI，您必須設定作業系統來安裝 RHUI (AWS) 儲存庫提供的套件：`rhel-<version>-baseos-rhui-rpms`、 `rhel-<version>-appstream-rhui-rpms`和 `codeready-builder-for-rhel-<version>-rhui-rpms`。此外，自訂 AMI 上的儲存庫必須包含與執行中核心版本相同版本的`kernel-devel`套件。核心。  

**已知限制：**
+ 只有 RHEL 8.2 和更新版本支援 FSx for Lustre。
+ RHEL 8.7 核心版本 4.18.0-425.3.1.el8 不支援 FSx for Lustre。
+ 只有 RHEL 8.4 和更新版本支援 EFA。
+ AL23 不支援 NICE DCV，因為它不包含執行 NICE DCV 所需的圖形桌面環境。如需詳細資訊，請參閱官方 [NICE DCV 文件](https://docs.aws.amazon.com//dcv/)。
若要對自訂 AMI 驗證警告進行疑難排解，請參閱 [對自訂 AMI 問題進行故障診斷](troubleshooting-v3-custom-amis.md)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

# `HeadNode` 區段


**（必要）** 指定前端節點的組態。

```
HeadNode:
  InstanceType: string
  Networking:
    SubnetId: string
    ElasticIp: string/boolean
    SecurityGroups:
      - string
    AdditionalSecurityGroups:
      - string
    Proxy:
      HttpProxyAddress: string
  DisableSimultaneousMultithreading: boolean
  Ssh:
    KeyName: string
    AllowedIps: string
  LocalStorage:
    RootVolume:
      Size: integer
      Encrypted: boolean
      VolumeType: string
      Iops: integer
      Throughput: integer
      DeleteOnTermination: boolean
    EphemeralVolume:
      MountDir: string
  SharedStorageType: string
  Dcv:
    Enabled: boolean
    Port: integer
    AllowedIps: string
  CustomActions:
    OnNodeStart:
      Sequence:
        - Script: string
          Args:
            - string
      Script: string
      Args:
        - string
    OnNodeConfigured:
      Sequence:
        - Script: string
          Args:
            - string
      Script: string
      Args:
        - string
    OnNodeUpdated:
      Sequence:
        - Script: string
          Args: 
            - string
      Script: string
      Args:
        - string
  Iam:
    InstanceRole: string
    InstanceProfile: string
    S3Access:
      - BucketName: string
        EnableWriteAccess: boolean
        KeyName: string
    AdditionalIamPolicies:
      - Policy: string
  Imds:
    Secured: boolean
  Image:
    CustomAmi: string
```

## `HeadNode` 屬性


`InstanceType` (**必要**，`String`)  
指定前端節點的執行個體類型。  
指定用於前端節點的 Amazon EC2 執行個體類型。執行個體類型的架構必須與用於 [`InstanceType`](Scheduling-v3.md#yaml-Scheduling-AwsBatchQueues-ComputeResources-InstanceTypes)或 AWS Batch Slurm[`InstanceType`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-InstanceType)設定的架構相同。  
AWS ParallelCluster 不支援下列執行個體類型的`HeadNode`設定。  
+ hpc6id
如果您定義具有多個網路介面或網路介面卡的 p4d 執行個體類型或其他執行個體類型，您必須[`ElasticIp`](#yaml-HeadNode-Networking-ElasticIp)將 設定為 `true`以提供公有存取。 AWS 公有 IPs 只能指派給使用單一網路介面啟動的執行個體。在這種情況下，我們建議您使用 [ NAT 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)來提供叢集運算節點的公有存取權。如需詳細資訊，請參閱《*Amazon EC2 Linux 執行個體使用者指南*》中的在執行個體[啟動期間指派公有 IPv4 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#public-ip-addresses)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`DisableSimultaneousMultithreading` (**選用**，`Boolean`)  
如果為 `true`， 會在前端節點上停用超執行緒。預設值為 `false`。  
並非所有執行個體類型都可以停用超執行緒。如需支援停用超執行緒的執行個體類型清單，請參閱《*Amazon EC2 使用者指南*》中的[每個執行個體類型的 CPU 核心和每個 CPU 核心的執行緒](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`SharedStorageType` (**選用**，`String`)  
指定用於內部共用資料的儲存體類型。內部共用資料包括 AWS ParallelCluster 用來管理叢集的資料，以及若未在 中指定[`SharedStorage` 區段](SharedStorage-v3.md)為掛載目錄以掛載共用檔案系統磁碟區`/home`時的預設共用資料。如需內部共用資料的詳細資訊，請參閱 [AWS ParallelCluster 內部目錄](directories-v3.md)。  
如果 `Ebs`是預設儲存類型，則前端節點會將其根磁碟區的一部分匯出為運算節點和使用 NFS 登入節點的共用目錄。  
如果為 `Efs`，則 ParallelCluster 會建立 EFS 檔案系統，以用於共用的內部資料和 `/home`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
當叢集向外擴展時，EBS 儲存類型可能會遇到效能瓶頸，因為前端節點會使用 NFS 匯出與運算節點共用根磁碟區中的資料。使用 EFS，您可以避免在叢集橫向擴展時匯出 NFS，並避免與其相關聯的效能瓶頸。建議為小型檔案和安裝程序的最大讀取/寫入潛力選擇 EBS。選擇 EFS 進行擴展。

## `Networking`


**（必要）** 定義前端節點的聯網組態。

```
Networking:
  SubnetId: string
  ElasticIp: string/boolean
  SecurityGroups:
    - string
  AdditionalSecurityGroups:
    - string
  Proxy:
    HttpProxyAddress: string
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `Networking` 屬性


`SubnetId` (**必要**，`String`)  
指定要在其中佈建前端節點的現有子網路 ID。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`ElasticIp` (**選用**，`String`)  
建立或指派彈性 IP 地址給前端節點。支援的值為 `true`、 `false`或現有彈性 IP 地址的 ID。預設值為 `false`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`SecurityGroups` (**選用**，`[String]`)  
要用於前端節點的 Amazon VPC 安全群組 ID 清單。如果不包含此屬性，這些會取代 AWS ParallelCluster 建立的安全群組。  
確認您的 [SharedStorage](SharedStorage-v3.md) 系統已正確設定安全群組。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`AdditionalSecurityGroups` (**選用**，`[String]`)  
要用於前端節點的其他 Amazon VPC 安全群組 ID 清單。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`Proxy` (** 選用**)  
指定前端節點的代理設定。  

```
Proxy:
                            HttpProxyAddress: 
                            string
```  
` HttpProxyAddress` (**選用**，`String`)  
定義 HTTP 或 HTTPS 代理伺服器，通常為 `https://x.x.x.x:8080`。  
沒有預設值。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `Ssh`


**（選用）** 定義 SSH 存取前端節點的組態。

```
Ssh:
      KeyName: string
      AllowedIps: string
```

[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

### `Ssh` 屬性


`KeyName` (**選用**，`String`)  
為現有的 Amazon EC2 金鑰對命名，以啟用對前端節點的 SSH 存取。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`AllowedIps` (**選用**，`String`)  
指定 SSH 連線至前端節點的 CIDR 格式 IP 範圍或字首清單 ID。預設值為 `0.0.0.0/0`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `LocalStorage`


**（選用）** 定義前端節點的本機儲存組態。

```
LocalStorage:
  RootVolume:
    Size: integer
    Encrypted: boolean
    VolumeType: string
    Iops: integer
    Throughput: integer
    DeleteOnTermination: boolean
  EphemeralVolume:
    MountDir: string
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `LocalStorage` 屬性


`RootVolume` (**必要**)  
指定前端節點的根磁碟區儲存體。  

```
RootVolume:
  Size: integer
  Encrypted: boolean
  VolumeType: string
  Iops: integer
  Throughput: integer
  DeleteOnTermination: boolean
```
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)    
`Size` (**選用**，`Integer`)  
以 GB (GiB) 為單位指定頭部節點根磁碟區大小。預設大小來自 AMI。使用不同的大小需要 AMI 支援 `growroot`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`Encrypted` (**選用**，`Boolean`)  
指定根磁碟區是否已加密。預設值為 `true`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
` VolumeType` (**選用**，`String`)  
指定 [ Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)。支援的值為 `gp2`、`gp3`、`io1`、`io2`、`st1`、 `sc1`和 `standard`。預設值為 `gp3`。  
如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的 [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`Iops` (**選用**，`Integer`)  
定義 `io1`、 `io2`和`gp3`類型磁碟區的 IOPS 數目。  
預設值、支援的值和`volume_iops``volume_size`比率因 `VolumeType`和 而異`Size`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)    
`VolumeType` = `io1`  
預設值 `Iops` = 100  
支援的值 `Iops` = 100–64000 †  
最大`Iops``Size`比率 = 每 GiB 50 IOPS。5000 IOPS 需要至少 100 GiB `Size`的 。  
`VolumeType` = `io2`  
預設值 `Iops` = 100  
支援的值 `Iops` = 100–64000 (`io2`區塊快速磁碟區為 256000) †  
最大`Iops``Size`比率 = 每 GiB 500 IOPS。5000 IOPS 需要至少 10 GiB `Size`的 。  
`VolumeType` = `gp3`  
預設 `Iops` = 3000  
支援的值 `Iops` = 3000–16000  
最大`Iops``Size`比率 = 每 GiB 500 IOPS。5000 IOPS 需要至少 10 GiB `Size`的 。
† 只有在佈建超過 32，000 IOPS [的 Nitro 系統上建置的執行個體上](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)，才能保證 IOPS 上限。其他執行個體保證高達 32，000 IOPS。除非您修改`io1`磁碟區，否則較舊的磁碟區可能無法達到完整效能。 [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html) `io2`Block Express 磁碟區在`R5b`執行個體類型上最多支援 256000 個`Iops`值。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的 [`io2` Block Express 磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#io2-block-express)。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`Throughput` (**選用**，`Integer`)  
定義`gp3`磁碟區類型的輸送量，以 MiB/s 為單位。此設定僅在 `VolumeType`為 時有效`gp3`。預設值為 `125`。支援的值：125–1000 MiB/s  
`Throughput` 與 的比率`Iops`不可超過 0.25。1000 MiB/s 的最大輸送量要求`Iops`設定至少為 4000。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
 `DeleteOnTermination` (**選用**，`Boolean`)  
指定是否應在前端節點終止時刪除根磁碟區。預設值為 `true`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`EphemeralVolume` (**選用**)  
指定任何執行個體存放區磁碟區的詳細資訊。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[執行個體存放磁碟](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes)區。  

```
EphemeralVolume:
  MountDir: string
```
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)    
 `MountDir` (**選用**，`String`)  
指定執行個體存放區磁碟區的掛載目錄。預設值為 `/scratch`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `Dcv`


**（選用）** 定義在前端節點上執行的 Amazon DCV 伺服器的組態設定。

如需詳細資訊，請參閱[透過 Amazon DCV 連接至前端和登入節點](dcv-v3.md)。

```
Dcv:
  Enabled: boolean
  Port: integer
  AllowedIps: string
```

**重要**  
根據預設， 的 Amazon DCV 連接埠設定 AWS ParallelCluster 開放給所有 IPv4 地址。不過，只有在您擁有 Amazon DCV 工作階段的 URL 並在從 傳回 URL 的 30 秒內連線至 Amazon DCV 工作階段時，才能連線至 Amazon DCV 連接埠`pcluster dcv-connect`。使用 `AllowedIps`設定進一步限制存取具有 CIDR 格式 IP 範圍的 Amazon DCV 連接埠，並使用 `Port`設定來設定非標準連接埠。

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `Dcv` 屬性


`Enabled` (**必要**，`Boolean`)  
指定是否在前端節點上啟用 Amazon DCV。預設值為 `false`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
Amazon DCV 會自動產生自我簽署憑證，用於保護在前端節點上執行的 Amazon DCV 用戶端和 Amazon DCV 伺服器之間的流量。若要設定您自己的憑證，請參閱[Amazon DCV HTTPS 憑證](dcv-v3.md#dcv-v3-certificate)。

`Port` (**選用**，`Integer`)  
指定 Amazon DCV 的連接埠。預設值為 `8443`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`AllowedIps` (**選用、建議**、`String`)  
指定 Amazon DCV 連線的 CIDR 格式 IP 範圍。只有在 AWS ParallelCluster 建立安全群組時，才會使用此設定。預設值是 `0.0.0.0/0`，該值允許從任何網際網路位址存取。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `CustomActions`


**（選用）** 指定要在前端節點上執行的自訂指令碼。

```
CustomActions:
  OnNodeStart:
    Sequence:
      - Script: string
        Args:
          - string
    Script: string
    Args:
      - string
  OnNodeConfigured:
    Sequence:
      - Script: string
        Args:
          - string
    Script: string
    Args:
      - string
  OnNodeUpdated:
    Sequence:
      - Script: string
        Args: 
          - string
    Script: string
    Args: 
      - string
```

### `CustomActions` 屬性


`OnNodeStart` (**選用**)  
在啟動任何節點部署引導動作之前，指定要在前端節點上執行的單一指令碼或一系列指令碼。如需詳細資訊，請參閱[自訂引導操作](custom-bootstrap-actions-v3.md)。    
 `Sequence` (**選用**)  
要執行的指令碼清單。 會以與組態檔案中列出的相同順序 AWS ParallelCluster 執行指令碼，從第一個開始。    
 `Script` (**必要**，`String`)  
指定要使用的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
 `Args` (**選用**，`[String]`)  
要傳遞至指令碼的引數清單。  
 `Script` (**必要**，`String`)  
指定要用於單一指令碼的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
`Args` (**選用**，`[String]`)  
要傳遞至單一指令碼的引數清單。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`OnNodeConfigured` (**選用**)  
指定節點引導動作完成後，要在前端節點上執行的單一指令碼或一系列指令碼。如需詳細資訊，請參閱[自訂引導操作](custom-bootstrap-actions-v3.md)。    
 `Sequence` (**選用**)  
指定要執行的指令碼清單。    
 `Script` (**必要**，`String`)  
指定要使用的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
 `Args` (**選用**，`[String]`)  
要傳遞至指令碼的引數清單。  
 `Script` (**必要**，`String`)  
指定要用於單一指令碼的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
 `Args` (**選用**，`[String]`)  
要傳遞至單一指令碼的引數清單。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`OnNodeUpdated` (**選用**)  
指定節點更新動作完成後，要在前端節點上執行的單一指令碼或一系列指令碼。如需詳細資訊，請參閱[自訂引導操作](custom-bootstrap-actions-v3.md)。    
 `Sequence` (**選用**)  
指定要執行的指令碼清單。    
 `Script` (**必要**，`String`)  
指定要使用的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
 `Args` (**選用**，`[String]`)  
要傳遞至指令碼的引數清單。  
 `Script` (**必要**，`String`)  
指定要用於單一指令碼的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
 `Args` (**選用**，`[String]`)  
要傳遞至單一指令碼的引數清單。
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`OnNodeUpdated` 從 AWS ParallelCluster 3.4.0 開始新增 。  
`Sequence` 從 3.6.0 AWS ParallelCluster 版開始新增 。當您指定 時`Sequence`，您可以列出自訂動作的多個指令碼。 AWS ParallelCluster 繼續支援使用單一指令碼設定自訂動作，而不包含 `Sequence`。  
AWS ParallelCluster 不支援同時包含單一指令碼和`Sequence`相同的自訂動作。

## `Iam`


**（選用）** 指定要在前端節點上使用的執行個體角色或執行個體描述檔，以覆寫叢集的預設執行個體角色或執行個體描述檔。

```
Iam:
  InstanceRole: string
  InstanceProfile: string
  S3Access:
    - BucketName: string
      EnableWriteAccess: boolean
      KeyName: string
  AdditionalIamPolicies:
    - Policy: string
```

[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

### `Iam` 屬性


`InstanceProfile` (**選用**，`String`)  
指定執行個體描述檔以覆寫預設前端節點執行個體描述檔。您不能同時指定 `InstanceProfile` 和 `InstanceRole`。格式是 `arn:Partition:iam::Account:instance-profile/InstanceProfileName`。  
如果指定此選項，則無法指定 `S3Access`和 `AdditionalIamPolicies`設定。  
我們建議您指定一個或兩個 `S3Access`和 `AdditionalIamPolicies`設定，因為新增至 的功能 AWS ParallelCluster 通常需要新的許可。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`InstanceRole` (**選用**，`String`)  
指定執行個體角色以覆寫預設前端節點執行個體角色。您不能同時指定 `InstanceProfile` 和 `InstanceRole`。格式是 `arn:Partition:iam::Account:role/RoleName`。  
如果指定此選項，則無法指定 `S3Access`和 `AdditionalIamPolicies`設定。  
我們建議您指定一個或兩個 `S3Access`和 `AdditionalIamPolicies`設定，因為新增至 AWS ParallelCluster 的功能通常需要新的許可。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

### `S3Access`


`S3Access` (**選用**)  
指定儲存貯體。這用於產生政策，以授予儲存貯體的指定存取權。  
如果指定此選項，則無法指定 `InstanceProfile`和 `InstanceRole`設定。  
我們建議您指定一個或兩個 `S3Access`和 `AdditionalIamPolicies`設定，因為新增至 的功能 AWS ParallelCluster 通常需要新的許可。  

```
S3Access:
  - BucketName: string
    EnableWriteAccess: boolean
    KeyName: string
```
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)    
`BucketName` (**必要**，`String`)  
 儲存貯體的名稱。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`KeyName` (**選用**，`String`)  
儲存貯體的金鑰。預設值為 `*`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
` EnableWriteAccess` (**選用**，`Boolean`)  
指出是否已啟用儲存貯體的寫入存取。預設值為 `false`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

### `AdditionalIamPolicies`


`AdditionalIamPolicies` (**選用**)  
指定 Amazon EC2 IAM 政策的 Amazon Resource Name (ARNs) 清單。除了 所需的許可之外，此清單還會連接到用於前端節點的根角色 AWS ParallelCluster。  
IAM 政策名稱及其 ARN 不同。無法使用名稱。  
如果指定此選項，則無法指定 `InstanceProfile`和 `InstanceRole`設定。  
我們建議您使用 ，`AdditionalIamPolicies`因為 `AdditionalIamPolicies` 已新增至 AWS ParallelCluster 所需的許可，且 `InstanceRole` 必須包含所有必要的許可。所需的許可經常隨發行版本新增功能而變更。  
沒有預設值。  

```
AdditionalIamPolicies:
  - Policy: string
```
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)    
` Policy` (**選用**，`[String]`)  
IAM 政策清單。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `Imds`


**（選用）** 指定執行個體中繼資料服務 (IMDS) 的屬性。如需詳細資訊，請參閱《*Amazon EC2 使用者指南》中的*[執行個體中繼資料服務第 2 版的運作方式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html#instance-metadata-v2-how-it-works)。

```
Imds:
    Secured: boolean
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `Imds` 屬性


`Secured` (**選用**，`Boolean`)  
如果為 `true`， 會將對前端節點 IMDS （和執行個體描述檔登入資料） 的存取限制為超級使用者的子集。  
如果為 `false`，則前端節點中的每個使用者都可以存取前端節點的 IMDS。  

允許下列使用者存取前端節點的 IMDS：
+ 根使用者
+ 叢集管理使用者 (`pc-cluster-admin` 預設）
+ 作業系統特定的預設使用者 (`ec2-user`在 Amazon Linux 2 和 RedHat 上，以及在 Ubuntu 18.04 `ubuntu`上。
預設值為 `true`。  
`default` 使用者負責確保叢集具有與 AWS 資源互動所需的許可。如果您停用`default`使用者 IMDS 存取， AWS ParallelCluster 無法管理運算節點並停止運作。請勿停用`default`使用者 IMDS 存取。  
當授予使用者存取主機節點 IMDS 的權限時，他們可以使用[主機節點執行個體描述檔中包含的](iam-roles-in-parallelcluster-v3.md)許可。例如，他們可以使用這些許可來啟動 Amazon EC2 執行個體，或讀取叢集設定為用於身分驗證之 AD 網域的密碼。  
若要限制 IMDS 存取， AWS ParallelCluster 會管理 鏈`iptables`。  
具有`sudo`存取權的叢集使用者可以執行 命令，選擇性地啟用或停用其他個別使用者的前端節點 IMDS 存取權，包括`default`使用者：  

```
$ sudo /opt/parallelcluster/scripts/imds/imds-access.sh --allow <USERNAME>
```
您可以使用此命令的 `--deny`選項來停用使用者 IMDS 存取。  
如果您不小心停用`default`使用者 IMDS 存取，您可以使用 `--allow`選項還原許可。  
任何自訂 `iptables`或 `ip6tables`規則都會干擾用於限制前端節點上 IMDS 存取的機制。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `Image`


**（選用）** 定義前端節點的自訂映像。

```
Image:
     CustomAmi: string
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `Image` 屬性


`CustomAmi` (**選用**，`String`)  
指定要用於前端節點的自訂 AMI ID，而非預設 AMI。如需詳細資訊，請參閱[AWS ParallelCluster AMI 自訂](custom-ami-v3.md)。  
如果自訂 AMI 需要其他許可才能啟動，則必須將這些許可同時新增至使用者和前端節點政策。  
例如，如果自訂 AMI 具有與其相關聯的加密快照，則使用者和前端節點政策都需要下列其他政策：    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ReEncrypt*",
                "kms:CreateGrant",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/<AWS_KMS_KEY_ID>"
            ]
        }
    ]
}
```
若要對自訂 AMI 驗證警告進行疑難排解，請參閱 [對自訂 AMI 問題進行故障診斷](troubleshooting-v3-custom-amis.md)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

# `Scheduling` 區段


**（必要）** 定義叢集中使用的任務排程器，以及任務排程器管理的運算執行個體。您可以使用 Slurm或 AWS Batch 排程器。每個 都支援不同的設定和屬性集。

**Topics**
+ [

## `Scheduling` 屬性
](#Scheduling-v3.properties)
+ [

## `AwsBatchQueues`
](#Scheduling-v3-AwsBatchQueues)
+ [

## `SlurmQueues`
](#Scheduling-v3-SlurmQueues)
+ [

## `SlurmSettings`
](#Scheduling-v3-SlurmSettings)

```
Scheduling:
  Scheduler: slurm
  ScalingStrategy: string    
  SlurmSettings:
    MungeKeySecretArn: string        
    ScaledownIdletime: integer    
    QueueUpdateStrategy: string
    EnableMemoryBasedScheduling: boolean
    CustomSlurmSettings: [dict]
    CustomSlurmSettingsIncludeFile: string
    Database:
      Uri: string
      UserName: string
      PasswordSecretArn: string
      DatabaseName: string    
    ExternalSlurmdbd: boolean
      Host: string
      Port: integer  
    Dns:
      DisableManagedDns: boolean
      HostedZoneId: string
      UseEc2Hostnames: boolean  
  SlurmQueues:
    - Name: string  
      ComputeSettings:
        LocalStorage:
          RootVolume:
            Size: integer
            Encrypted: boolean
            VolumeType: string
            Iops: integer
            Throughput: integer
          EphemeralVolume:
            MountDir: string
      CapacityReservationTarget:
        CapacityReservationId: string
        CapacityReservationResourceGroupArn: string
      CapacityType: string
      AllocationStrategy: string
      JobExclusiveAllocation: boolean
      CustomSlurmSettings: dict
      Tags:
        - Key: string
          Value: string
      HealthChecks:
        Gpu:
          Enabled: boolean
      Networking:
        SubnetIds:
          - string
        AssignPublicIp: boolean
        SecurityGroups:
          - string
        AdditionalSecurityGroups:
          - string
        PlacementGroup:
          Enabled: boolean
          Id: string
          Name: string
        Proxy:
          HttpProxyAddress: string
      ComputeResources:
        - Name: string
          InstanceType: string
          Instances:
            - InstanceType: string
          MinCount: integer
          MaxCount: integer
          DynamicNodePriority: integer
          StaticNodePriority: integer
          SpotPrice: float
          DisableSimultaneousMultithreading: boolean
          SchedulableMemory: integer
          HealthChecks:
            Gpu:
              Enabled: boolean
          Efa:
            Enabled: boolean
            GdrSupport: boolean          
          CapacityReservationTarget:
            CapacityReservationId: string
            CapacityReservationResourceGroupArn: string
          Networking:   
            PlacementGroup:
              Enabled: boolean
              Name: string
          CustomSlurmSettings: dict
          Tags:
            - Key: string
              Value: string
          LaunchTemplateOverrides:
            LaunchTemplateId: string
            Version: string
      CustomActions:
        OnNodeStart:
          Sequence:
            - Script: string
              Args:
                - string
          Script: string
          Args:
            - string
        OnNodeConfigured:
          Sequence:
            - Script: string
              Args:
                - string
          Script: string
          Args:
            - string
      Iam:
        InstanceProfile: string
        InstanceRole: string
        S3Access:
          - BucketName: string
            EnableWriteAccess: boolean
            KeyName: string
        AdditionalIamPolicies:
          - Policy: string
      Image:
        CustomAmi: string
```

```
Scheduling:
  Scheduler: awsbatch
  AwsBatchQueues:
    - Name: string
      CapacityType: string
      Networking:
        SubnetIds:
          - string
        AssignPublicIp: boolean
        SecurityGroups:
          - string
        AdditionalSecurityGroups:
          - string
      ComputeResources:  # this maps to a Batch compute environment (initially we support only 1)
        - Name: string
          InstanceTypes:
            - string
          MinvCpus: integer
          DesiredvCpus: integer
          MaxvCpus: integer
          SpotBidPercentage: float
```

## `Scheduling` 屬性


**`Scheduler` (**必要**，`String`)**  
指定使用的排程器類型。支援的值為 `slurm` 和 `awsbatch`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`awsbatch` 僅支援`alinux2`作業系統和`x86_64`平台。

**`ScalingStrategy` (**選用**，`String`)**  
可讓您選擇動態Slurm節點擴展的方式。支援的值為 `all-or-nothing`，`greedy-all-or-nothing``best-effort`預設值為 `all-or-nothing`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
擴展策略僅適用於 Slurm 要恢復的節點，不適用於最終已執行的節點。
+ `all-or-nothing`此策略嚴格遵循all-or-nothing-approach，旨在避免擴展程序結束時的閒置執行個體。它以all-or-nothing為基礎運作，這表示它可以完全擴展或完全不擴展。請注意，當任務需要超過 500 個節點或跨越多個運算資源時，暫時啟動的執行個體可能會產生額外的成本。此策略在三種可能的擴展策略中具有最低的輸送量。擴展時間取決於每個Slurm繼續程式執行提交的任務數量。此外，您無法擴展超過每次執行的預設 RunInstances 資源帳戶限制，預設為 1000 個執行個體。如需更多詳細資訊，請參閱 [Amazon EC2 API 限流文件](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/throttling.html)
+ `greedy-all-or-nothing `與all-or-nothing策略類似，它旨在避免擴展後的閒置執行個體。此策略允許在擴展過程中暫時過度擴展，以達到高於all-or-nothing方法的輸送量，但也具有與 RunInstances 資源帳戶限制相同的 1000 個執行個體擴展限制。
+ `best-effort `此策略會優先考慮高輸送量，即使這表示某些執行個體可能在擴展程序結束時處於閒置狀態。它會嘗試依任務的要求配置任意數量的節點，但有可能不符合整個請求。與其他策略不同，盡最大努力的方法可以累積比標準 RunInstances 限制更多的執行個體，其成本是沿著多個擴展程序執行擁有閒置資源。

每個策略旨在滿足不同的擴展需求，允許您選擇符合您特定需求和限制的項目。

## `AwsBatchQueues`


**（選用）** AWS Batch 佇列設定。僅支援一個佇列。如果 [`Scheduler`](#yaml-Scheduling-Scheduler) 設定為 `awsbatch`，則需要此區段。如需`awsbatch`排程器的詳細資訊，請參閱[聯網設定](network-configuration-v3-batch.md)和[搭配 使用 AWS Batch (`awsbatch`) 排程器 AWS ParallelCluster](awsbatchcli-v3.md)。

```
AwsBatchQueues:
  - Name: string
    CapacityType: string
    Networking:
      SubnetIds:
        - string
      AssignPublicIp: boolean
      SecurityGroups:
        - string
      AdditionalSecurityGroups:
        - string
    ComputeResources:  # this maps to a Batch compute environment (initially we support only 1)
      - Name: string
        InstanceTypes:
          - string
        MinvCpus: integer
        DesiredvCpus: integer
        MaxvCpus: integer
        SpotBidPercentage: float
```

[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

### `AwsBatchQueues` 屬性


**`Name` (**必要**，`String`)**  
 AWS Batch 佇列的名稱。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**`CapacityType` (**選用**，`String`)**  
 AWS Batch 佇列使用的運算資源類型。支援的值為 `ONDEMAND` 、 `SPOT`或 `CAPACITY_BLOCK`。預設值為 `ONDEMAND`。  
如果您將 `CapacityType`設定為 `SPOT`，您的帳戶必須包含`AWSServiceRoleForEC2Spot`服務連結角色。您可以使用下列 AWS CLI 命令建立此角色。  

```
$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
```
如需詳細資訊，請參閱《*Amazon EC2 Linux *[執行個體使用者指南》中的 Spot 執行個體請求的服務連結角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#service-linked-roles-spot-instance-requests)。
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

#### `Networking`


**（必要）** 定義 AWS Batch 佇列的聯網組態。

```
Networking:
  SubnetIds:
    - string
  AssignPublicIp: boolean
  SecurityGroups:
    - string
  AdditionalSecurityGroups:
    - string
```

##### `Networking` 屬性


**`SubnetIds` (**必要**，`[String]`)**  
指定要佈建 AWS Batch 佇列的現有子網路 ID。目前僅支援一個子網路。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`AssignPublicIp` (**選用**，`String`)**  
建立或指派公有 IP 地址給 AWS Batch 佇列中的節點。支援的值為 `true` 和 `false`。預設值取決於您指定的子網路。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**`SecurityGroups` (**選用**，`[String]`)**  
 AWS Batch 佇列使用的安全群組清單。如果您未指定安全群組， 會 AWS ParallelCluster 建立新的安全群組。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**`AdditionalSecurityGroups` (**選用**，`[String]`)**  
 AWS Batch 佇列使用的安全群組清單。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

#### `ComputeResources`


**（必要）** 定義 AWS Batch 佇列的 ComputeResources 組態。

```
ComputeResources:  # this maps to a Batch compute environment (initially we support only 1)
  - Name: string
    InstanceTypes:
      - string
    MinvCpus: integer
    DesiredvCpus: integer
    MaxvCpus: integer
    SpotBidPercentage: float
```

##### `ComputeResources` 屬性


**`Name` (**必要**，`String`)**  
 AWS Batch 佇列運算環境的名稱。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`InstanceTypes` (**必要**，`[String]`)**  
執行個體類型的 AWS Batch 運算環境陣列。所有執行個體類型都必須使用 `x86_64`架構。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`MinvCpus` (**選用**，`Integer`)**  
 AWS Batch 運算環境可以使用VCPUs 數量下限。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**`DesiredVcpus` (**選用**，`Integer`)**  
 AWS Batch 運算環境中所需的 VCPUs 數量。 AWS Batch `MaxvCpus` 會根據任務佇列中的需求，在 `MinvCpus`和 之間調整此值。  
[更新政策：更新期間不會分析此設定。](using-pcluster-update-cluster-v3.md#update-policy-setting-ignored-v3)

**`MaxvCpus` (**選用**，`Integer`)**  
 AWS Batch 運算環境VCPUs 數目上限。您無法將此設定為低於 的值`DesiredVcpus`。  
[更新政策：此設定無法在更新期間減少。](using-pcluster-update-cluster-v3.md#update-policy-no-decrease-v3)

**`SpotBidPercentage` (**選用**，`Float`)**  
在執行個體啟動之前，Amazon EC2 Spot 執行個體價格可以達到的執行個體類型的隨需價格百分比上限。預設值為 `100`(100%)。支援的範圍為 `1`-`100`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `SlurmQueues`


**（選用）** Slurm佇列的設定。如果 [`Scheduler`](#yaml-Scheduling-Scheduler) 設定為 `slurm`，則需要此區段。

```
SlurmQueues:
  - Name: string
    ComputeSettings:
      LocalStorage:
        RootVolume:
          Size: integer
          Encrypted: boolean
          VolumeType: string
          Iops: integer
          Throughput: integer
        EphemeralVolume:
          MountDir: string
    CapacityReservationTarget:
      CapacityReservationId: string
      CapacityReservationResourceGroupArn: string
    CapacityType: string
    AllocationStrategy: string
    JobExclusiveAllocation: boolean
    CustomSlurmSettings: dict
    Tags:
      - Key: string
        Value: string
    HealthChecks:
      Gpu:
        Enabled: boolean
    Networking:
      SubnetIds:
        - string
      AssignPublicIp: boolean
      SecurityGroups:
        - string
      AdditionalSecurityGroups:
        - string
      PlacementGroup:
        Enabled: boolean
        Id: string
        Name: string
      Proxy:
        HttpProxyAddress: string
    ComputeResources:
      - Name: string
        InstanceType: string
        Instances:
          - InstanceType: string        
        MinCount: integer
        MaxCount: integer
        DynamicNodePriority: integer
        StaticNodePriority: integer
        SpotPrice: float
        DisableSimultaneousMultithreading: boolean
        SchedulableMemory: integer
        HealthChecks:
          Gpu:
            Enabled: boolean
        Efa:
          Enabled: boolean
          GdrSupport: boolean    
        CapacityReservationTarget:
          CapacityReservationId: string
          CapacityReservationResourceGroupArn: string     
        Networking:   
          PlacementGroup:
            Enabled: boolean
            Name: string
        CustomSlurmSettings: dict
        Tags:
          - Key: string
            Value: string
        LaunchTemplateOverrides:
          LaunchTemplateId: string
          Version: string
    CustomActions:
      OnNodeStart:
        Sequence:
          - Script: string
            Args:
              - string
        Script: string
        Args:
          - string
      OnNodeConfigured:
        Sequence:
          - Script: string
            Args:
              - string        
        Script: string
        Args:
          - string
    Iam:
      InstanceProfile: string
      InstanceRole: string
      S3Access:
        - BucketName: string
          EnableWriteAccess: boolean
          KeyName: string
      AdditionalIamPolicies:
        - Policy: string
    Image:
      CustomAmi: string
```

[更新政策：對於此清單值設定，可以在更新期間新增新值，或在移除現有值時必須停止運算機群。](using-pcluster-update-cluster-v3.md#update-policy-list-values-v3)

### `SlurmQueues` 屬性


**`Name` (**必要**，`String`)**  
Slurm 佇列的名稱。  
叢集大小可能會在更新期間變更。如需詳細資訊，請參閱[叢集容量大小和更新](slurm-workload-manager-v3.md)
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**`CapacityReservationTarget`**  
`CapacityReservationTarget` 已新增 3.3.0 AWS ParallelCluster 版。

```
CapacityReservationTarget:
   CapacityReservationId: string
   CapacityReservationResourceGroupArn: string
```
指定佇列運算資源的隨需容量保留。    
**`CapacityReservationId` (**選用**，`String`)**  
佇列運算資源目標的現有容量保留 ID。ID 可以參考 [ODCR](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) 或 [ML 的容量區塊](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html)。  
保留必須使用與執行個體相同的平台。例如，如果您的執行個體在 上執行`rhel8`，您的容量保留必須在 Red Hat Enterprise Linux 平台上執行。如需詳細資訊，請參閱《*Amazon EC2 Linux 執行個體使用者指南*》中的[支援的平台](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html#capacity-reservations-platforms)。  
如果您在叢集組態[`Instances`](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)中包含 ，則必須從組態中排除此佇列層級`CapacityReservationId`設定。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`CapacityReservationResourceGroupArn` (**選用**，`String`)**  
做為佇列運算資源之容量保留服務連結群組的資源群組 Amazon Resource Name (ARN)。 AWS ParallelCluster 會根據下列條件，從資源群組識別並使用最適當的容量保留：  
+ 如果在 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking)或 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources) / 中啟用 `PlacementGroup` [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking)，則選取以執行個體類型為目標 AWS ParallelCluster 的資源群組，如果運算資源存在，則`PlacementGroup`選取運算資源的資源群組。

  `PlacementGroup` 必須以 中定義的其中一個執行個體類型為目標[`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources)。
+ 如果 `PlacementGroup` / [`SlurmQueues`](#Scheduling-v3-SlurmQueues) [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking)或 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources) / 中未啟用 [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking)，則選擇資源 AWS ParallelCluster 群組，如果運算資源存在，則只會以運算資源的執行個體類型為目標。
資源群組在所有佇列的運算資源和可用區域中，必須在可用區域中為每個預留的執行個體類型至少有一個 ODCR。如需詳細資訊，請參閱[使用隨需容量預留 (ODCR) 啟動執行個體](launch-instances-odcr-v3.md)。  
如需多個子網路組態需求的詳細資訊，請參閱 [`Networking`](#Scheduling-v3-SlurmQueues-Networking) / [`SubnetIds`](#yaml-Scheduling-SlurmQueues-Networking-SubnetIds)。  
3.4.0 AWS ParallelCluster 版中新增了多個可用區域。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`CapacityType` (**選用**，`String`)**  
Slurm 佇列使用的運算資源類型。支援的值為 `ONDEMAND` 、 `SPOT`或 `CAPACITY_BLOCK`。預設值為 `ONDEMAND`。  
如果您將 `CapacityType`設定為 `SPOT`，您的帳戶必須具有`AWSServiceRoleForEC2Spot`服務連結角色。您可以使用下列 AWS CLI 命令來建立此角色。  

```
$ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
```
如需詳細資訊，請參閱《*Amazon EC2 Linux *[執行個體使用者指南》中的 Spot 執行個體請求的服務連結角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#service-linked-roles-spot-instance-requests)。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`AllocationStrategy` (**選用**，`String`)**  
指定 中定義之所有運算資源的配置策略[`Instances`](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)。  
有效值：`lowest-price` \$1 `capacity-optimized` \$1 `price-capacity-optimized` \$1 `prioritized` \$1 `capacity-optimized-prioritized`       
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/parallelcluster/latest/ug/Scheduling-v3.html)
預設：`lowest-price`    
**`lowest-price`**  
+ 如果您使用 `CapacityType = ONDEMAND`，Amazon EC2 機群會使用價格來判斷訂單，並先啟動最低價格的執行個體。
+ 如果您使用 `CapacityType = SPOT`，Amazon EC2 機群會從價格最低且具有可用容量的 Spot 執行個體集區啟動執行個體。如果集區在滿足您的所需容量之前用完容量，Amazon EC2 機群會透過為您啟動執行個體來滿足您的請求。特別是，Amazon EC2 機群會從價格最低且具有可用容量的 Spot 執行個體集區啟動執行個體。Amazon EC2 機群可能會從數個不同的集區啟動 Spot 執行個體。
+ 如果您設定 `CapacityType = CAPACITY_BLOCK`，則沒有配置策略，因此無法設定 `AllocationStrategy` 參數。  
**`capacity-optimized`**  
+ 如果您設定 `CapacityType = ONDEMAND`，`capacity-optimized`則無法使用 。
+ 如果您設定 `CapacityType = SPOT`，Amazon EC2 機群會從 Spot 執行個體集區啟動執行個體，並為要啟動的執行個體數量提供最佳容量。  
**`price-capacity-optimized`**  
+ 如果您設定 `CapacityType = ONDEMAND`，`capacity-optimized`則無法使用 。
+ 如果您設定 `CapacityType = SPOT`，Amazon EC2 機群會識別正在啟動的執行個體數量具有最高容量可用性的集區。這表示我們將從我們認為在短期內中斷機會最低的集區請求 Spot 執行個體。然後，Amazon EC2 機群會從這些集區的最低價格請求 Spot 執行個體。  
**`prioritized`**  
+ 如果您設定 `CapacityType = ONDEMAND`，Amazon EC2 機群會遵守在指定多個子網路時 AWS ParallelCluster 套用至 LaunchTemplate 覆寫的優先順序。 `priority` 會從 中的目標子網路位置 AWS ParallelCluster 衍生覆寫，`SlurmQueues/Networking/SubnetIds`第一個子網路的優先順序最高。優先順序由 從 以 AWS ParallelCluster 遞減順序驅動`SlurmQueues/Networking/SubnetIds`，第一個 SubnetId 具有最高優先順序，最後一個 SubnetID 具有最低優先順序。
+ 如果您設定 `CapacityType = SPOT`，`prioritized`則無法使用 。  
**`capacity-optimized-prioritized`**  
+ 如果您設定 `CapacityType = ONDEMAND`，`capacity-optimized-prioritized`則無法使用 。
+ 如果您設定 `CapacityType = SPOT`，Amazon EC2 機群會先最佳化容量，然後盡力套用 AWS ParallelCluster 指派給 LaunchTemplate 覆寫的優先順序。優先順序由 從 以 AWS ParallelCluster 遞減順序驅動`SlurmQueues/Networking/SubnetIds`，第一個 SubnetId 具有最高優先順序，最後一個 SubnetID 具有最低優先順序。以相同子網路為目標的所有覆寫都會收到相同的優先順序值。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
`AllocationStrategy` 從 AWS ParallelCluster 3.3.0 版開始支援 。  
**3.14.0 的新功能**： `prioritized`（適用於隨需） 和 `capacity-optimized-prioritized`（適用於 Spot)。

**`JobExclusiveAllocation` (**選用**，`String`)**  
如果設為 `true`，Slurm分割區`OverSubscribe`旗標會設為 `EXCLUSIVE`。當 `OverSubscribe`= 時`EXCLUSIVE`，分割區中的任務具有所有配置節點的專屬存取權。如需詳細資訊，請參閱 Slurm 文件中的 [EXCLUSIVE](https://slurm.schedmd.com/slurm.conf.html#OPT_EXCLUSIVE)。  
有效值：`true` \$1 `false`  
預設：`false`  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`JobExclusiveAllocation` 從 AWS ParallelCluster 3.7.0 版開始支援 。

**`CustomSlurmSettings` (**選用**，`Dict`)**  
定義自訂Slurm分割區 （佇列） 組態設定。  
指定套用至佇列 （分割區） 的自訂Slurm組態參數鍵值對字典。  
每個單獨的鍵值對，例如 `Param1: Value1`，都會以 格式分別新增到Slurm分割區組態列的結尾`Param1=Value1`。  
您只能指定 中未拒絕列出的Slurm組態參數`CustomSlurmSettings`。如需拒絕列出Slurm組態參數的詳細資訊，請參閱 [拒絕列出的Slurm組態參數 `CustomSlurmSettings`](slurm-configuration-settings-v3.md#slurm-configuration-denylists-v3)。  
AWS ParallelCluster 只會檢查參數是否在拒絕清單中。 AWS ParallelCluster 不會驗證您的自訂Slurm組態參數語法或語意。您有責任驗證自訂Slurm組態參數。無效的自訂Slurm組態參數可能會導致Slurm協助程式失敗，進而導致叢集建立和更新失敗。  
如需如何使用 指定自訂Slurm組態參數的詳細資訊 AWS ParallelCluster，請參閱 [Slurm 組態自訂](slurm-configuration-settings-v3.md)。  
如需Slurm組態參數的詳細資訊，請參閱 Slurm 文件中的 [slurm.conf。](https://slurm.schedmd.com/slurm.conf.html)  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`CustomSlurmSettings` 從 AWS ParallelCluster 3.6.0 版開始支援 。

**`Tags` (**選用**，【字串】)**  
標籤鍵/值對的清單。[`ComputeResource`](#yaml-Scheduling-SlurmQueues-ComputeResources-Tags)標籤會覆寫在 [`Tags` 區段](Tags-v3.md)或 / `SlurmQueues` 中指定的重複標籤`Tags`。    
**`Key` (**選用**，`String`)**  
標籤金鑰。  
**`Value` (**選用**，`String`)**  
標籤值。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`HealthChecks` (**選用**)**  
指定佇列中所有運算資源的運算節點運作狀態檢查。    
`Gpu` (**選用**)  
指定佇列中所有運算資源的 GPU 運作狀態檢查。  
AWS ParallelCluster 不支援使用 `HealthChecks` ARM 作業系統的節點`Gpu`中的 `alinux2` /。這些平台不支援 [NVIDIA 資料中心 GPU Manager (DCGM)](https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/getting-started.html#supported-linux-distributions)。  
不建議在使用總 GPU 記憶體大小大於 327680 MiB 的執行個體類型時啟用 GPU 運作狀態檢查。  
`Enabled` (**選用**，`Boolean`)  
是否在運算節點 AWS ParallelCluster 上執行 GPU 運作狀態檢查。預設值為 `false`。

**`Gpu` 運作狀態檢查行為**
+ 如果 `Gpu` / `Enabled` 設定為 `true`， 會對佇列中的運算資源 AWS ParallelCluster 執行 GPU 運作狀態檢查。
+ `Gpu` 運作狀態檢查會對運算資源執行 GPU 運作狀態檢查，以防止在 GPU 降級的節點上提交任務。
+ 如果運算節點未通過`Gpu`運作狀態檢查，則運算節點狀態會變更為 `DRAIN`。新任務不會在此節點上啟動。現有任務會執行至完成。在所有執行中的任務完成後，如果運算節點是動態節點，則運算節點會終止，如果是靜態節點，則會將其取代。
+ `Gpu` 運作狀態檢查的持續時間取決於選取的執行個體類型、執行個體中的 GPUs 數量、GPU 記憶體總數和`Gpu`運作狀態檢查目標數量 （相當於任務 GPU 目標的數量）。例如，在 p4d.24xlarge 上，一般持續時間為 3 分鐘。
+ 如果`Gpu`運作狀態檢查在不支援的執行個體上執行，它會結束，並在運算節點上執行任務。例如，如果執行個體沒有 GPU，或者如果執行個體有 GPU，但不是 NVIDIA GPU，則運作狀態檢查會結束，且任務會在運算節點上執行。僅支援 NVIDIA GPUs。
+ `Gpu` 運作狀態檢查使用 `dcgmi`工具對節點執行運作狀態檢查，並採取下列步驟：

  在節點中開始`Gpu`運作狀態檢查時：

  1. 它會偵測 `nvidia-dcgm`和 `nvidia-fabricmanager`服務是否正在執行。

  1. 如果這些服務未執行，`Gpu`運作狀態檢查會啟動這些服務。

  1. 它會偵測持久性模式是否已啟用。

  1. 如果未啟用持久性模式，則`Gpu`運作狀態檢查會啟用該模式。

  在運作狀態檢查結束時，`Gpu`運作狀態檢查會將這些服務和資源還原至其初始狀態。
+ 如果任務指派給特定節點 GPUs 集，運作`Gpu`狀態檢查只會在該特定集上執行。否則，`Gpu`運作狀態檢查會在節點中的所有 GPUs 上執行。
+ 如果運算節點同時收到 2 個以上的`Gpu`運作狀態檢查請求，則只會略過第一個運作狀態檢查和其他項目。這也適用於目標節點 GPUs 的運作狀態檢查。您可以檢查日誌檔案，以取得有關此情況的其他資訊。
+ `/var/log/parallelcluster/slurm_health_check.log` 檔案中提供了特定運算節點的運作狀態檢查日誌。檔案可在 Amazon CloudWatch 的叢集 CloudWatch 日誌群組中使用，您可以在其中找到：
  + `Gpu` 運作狀態檢查所執行動作的詳細資訊，包括啟用和停用服務和持續性模式。
  + GPU 識別符、序列 ID 和 UUID。
  + 運作狀態檢查輸出。
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`HealthChecks` 從 3.6.0 AWS ParallelCluster 版開始支援 。

#### `Networking`


**（必要）** 定義Slurm佇列的聯網組態。

```
Networking:
  SubnetIds:
    - string
  AssignPublicIp: boolean
  SecurityGroups:
    - string
  AdditionalSecurityGroups:
    - string
  PlacementGroup:
    Enabled: boolean
    Id: string
    Name: string
  Proxy:
    HttpProxyAddress: string
```

[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

##### `Networking` 屬性


**`SubnetIds` (**必要**，`[String]`)**  
您佈建Slurm佇列的現有子網路 IDs。  
如果您在 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources) / 中設定執行個體類型[`InstanceType`](#yaml-Scheduling-SlurmQueues-ComputeResources-InstanceType)，您只能定義一個子網路。  
如果您在 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources) / 中設定執行個體類型[`Instances`](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)，您可以定義單一子網路或多個子網路。  
如果您使用多個子網路，為佇列定義的所有子網路都必須位於相同的 VPC 中，且每個子網路都必須位於個別的可用區域 (AZ) 中。  
例如，假設您為佇列定義子網路 1 和子網路 2。  
`subnet-1` 和 `subnet-2` 不能同時位於 AZ-1 中。  
`subnet-1` 可以在 AZ-1 中，`subnet-2`也可以在 AZ-2 中。  
如果您只設定一個執行個體類型，並想要使用多個子網路，請在 中定義執行個體類型，`Instances`而不是 `InstanceType`。  
例如，定義 `ComputeResources` / `Instances` / `InstanceType`=`instance.type` 而非 `ComputeResources` / `InstanceType`=`instance.type`。  
不同可用區域不支援 Elastic Fabric Adapter (EFA)。
使用多個可用區域可能會導致儲存聯網延遲增加，並增加可用區域間資料傳輸成本。例如，當執行個體存取位於不同 AZ 的檔案儲存時，可能會發生這種情況。如需詳細資訊，請參閱[相同 內的資料傳輸 AWS 區域](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer_within_the_same_AWS_Region)。  

**從使用單一子網路變更為多個子網路的叢集更新：**
+ 假設叢集的子網路定義是以單一子網路和 AWS ParallelCluster 受管 FSx for Lustre 檔案系統定義。然後，您無法直接使用更新的子網路 ID 定義更新此叢集。若要進行叢集更新，您必須先將受管檔案系統變更為外部檔案系統。如需詳細資訊，請參閱[將 AWS ParallelCluster 受管儲存體轉換為外部儲存體](shared-storage-conversion-v3.md)。
+ 假設叢集的子網路定義是以單一子網路和外部 Amazon EFS 檔案系統定義，如果 EFS 掛載目標不存在於要新增之多個子網路的所有 AZs。然後，您無法直接使用更新的子網路 ID 定義更新此叢集。若要讓叢集更新或建立叢集，您必須先為已定義多個子網路的所有 AZs 建立所有掛載目標。

**[CapacityReservationResourceGroupArn](#yaml-Scheduling-SlurmQueues-CapacityReservationResourceGroupArn) 中定義的可用區域和叢集容量保留：**
+ 如果已定義容量保留資源群組涵蓋的一組執行個體類型和可用區域，以及為佇列定義的一組執行個體類型和可用區域之間沒有重疊，則您無法建立叢集。
+ 如果已定義容量保留資源群組涵蓋的一組執行個體類型和可用區域，以及為佇列定義的一組執行個體類型和可用區域之間有部分重疊，您可以建立叢集。 會針對此案例 AWS ParallelCluster 傳送有關部分重疊的警告訊息。
+ 如需詳細資訊，請參閱[使用隨需容量預留 (ODCR) 啟動執行個體](launch-instances-odcr-v3.md)。
3.4.0 AWS ParallelCluster 版中新增了多個可用區域。
如果變更此參數，則此警告不會影響 3.3 AWS ParallelCluster .1.版本 3.3.1 之前的所有 3.x.y AWS ParallelCluster 版本。  
3. AWS ParallelCluster 3.1 版之前的 For3 版本：  
如果您變更此參數並更新叢集，這會建立新的受管 FSx for Lustre 檔案系統，並刪除現有的受管 FSx for Lustre 檔案系統，而不會保留現有的資料。這會導致資料遺失。在繼續之前，如果您想要保留資料，請務必從現有的 FSx for Lustre 檔案系統備份資料。如需詳細資訊，請參閱《*FSx for Lustre 使用者指南*》中的[使用備份](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html)。
如果新增了新的子網路值， [更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
如果子網路值已移除， [更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`AssignPublicIp` (**選用**，`String`)**  
建立或指派公有 IP 地址給Slurm佇列中的節點。支援的值為 `true` 和 `false`。您指定的子網路會決定預設值。具有公有 IPs子網路預設為指派公有 IP 地址。  
如果您定義 p4d或 hpc6id 執行個體類型，或具有多個網路介面或網路介面卡的其他執行個體類型，則必須將 [`HeadNode`](HeadNode-v3.md) / [`Networking`](HeadNode-v3.md#HeadNode-v3-Networking) / [`ElasticIp`](HeadNode-v3.md#yaml-HeadNode-Networking-ElasticIp) 設定為 `true`，以提供公有存取。 AWS 公有 IPs 只能指派給使用單一網路介面啟動的執行個體。在此情況下，我們建議您使用 [NAT 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)來提供叢集運算節點的公有存取權。在此情況下，將 `AssignPublicIp`設定為 `false`。如需 IP 地址的詳細資訊，請參閱《Amazon EC2 Linux 執行個體使用者指南》中的在執行個體[啟動期間指派公有 IPv4 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#public-ip-addresses) 地址。 *Amazon EC2 *  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**`SecurityGroups` (**選用**，`[String]`)**  
用於Slurm佇列的安全群組清單。如果未指定安全群組， 會為您 AWS ParallelCluster 建立安全群組。  
確認您的 [SharedStorage](SharedStorage-v3.md) 系統已正確設定安全群組。  
如果變更此參數，則此警告不會影響 3** AWS ParallelCluster .3.0.3.0 版之前的所有 3.*x*.y AWS ParallelCluster 版本。  
3. AWS ParallelCluster 3.0 版之前的 For3 版本：  
如果您變更此參數並更新叢集，這會建立新的受管 FSx for Lustre 檔案系統，並刪除現有的受管 FSx for Lustre 檔案系統，而不會保留現有的資料。這會導致資料遺失。如果您想要保留資料，請務必從現有的 FSx for Lustre 檔案系統備份資料。如需詳細資訊，請參閱《*FSx for Lustre 使用者指南*》中的[使用備份](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html)。
如果您為運算執行個體啟用 [Efa](#yaml-Scheduling-SlurmQueues-ComputeResources-Efa)，請確定已啟用 EFA 的執行個體是允許所有傳入和傳出流量本身的安全群組成員。
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**`AdditionalSecurityGroups` (**選用**，`[String]`)**  
用於Slurm佇列的其他安全群組清單。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**`PlacementGroup` (**選用**)**  
指定Slurm佇列的置放群組設定。  

```
PlacementGroup:
  Enabled: boolean
  Id: string
  Name: string
```
[更新政策：所有運算節點都必須停止，才能刪除受管置放群組。必須停止或QueueUpdateStrategy設定運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-remove-placement-group-v3)    
**`Enabled` (**選用**，`Boolean`)**  
指出置放群組是否用於Slurm佇列。預設值為 `false`。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Id` (**選用**，`String`)**  
Slurm 佇列使用的現有叢集置放群組的置放群組 ID。請務必提供置放群組 *ID*，*而非名稱*。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Name` (**選用**，`String`)**  
Slurm 佇列使用的現有叢集置放群組的置放群組名稱。請務必提供置放群組*名稱*，*而不是 ID*。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)
+ 如果 `PlacementGroup` / `Enabled`設定為 `true`，但未`Id`定義 `Name`或 ，則每個運算資源都會指派自己的受管置放群組，除非 / [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking) / [`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources) [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking-PlacementGroup)已定義覆寫此設定。
+ 從 3.3.0 AWS ParallelCluster 版開始，/ [`Networking`](#Scheduling-v3-SlurmQueues-Networking) / [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup) / [`SlurmQueues`](#Scheduling-v3-SlurmQueues) [`Name`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup-Name)已新增為 [`SlurmQueues`](#Scheduling-v3-SlurmQueues)/ [`Networking`](#Scheduling-v3-SlurmQueues-Networking) / [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup) / 的偏好替代方案[`Id`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup-Id)。

  [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup) / [`Id`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup-Id)和 [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup) / [`Name`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup-Name)相等。您可以使用其中一個。

   如果您同時包含 [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup) / [`Id`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup-Id)和 [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup) / [`Name`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup-Name)，則 AWS ParallelCluster 失敗。您只能選擇其中一個。

  您不需要更新叢集即可使用 [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup) / [`Name`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup-Name)。
+ 使用容量區塊保留時，不應設定置放群組限制，因為即使容量保留有剩餘容量，仍可能因保留之外的置放限制而發生容量不足錯誤。

**`Proxy` (**選用**)**  
指定Slurm佇列的代理設定。  

```
Proxy:
  HttpProxyAddress: string
```
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)    
**`HttpProxyAddress` (**選用**，`String`)**  
定義Slurm佇列的 HTTP 或 HTTPS 代理伺服器。一般而言，它是 `https://x.x.x.x:8080`。  
沒有預設值。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

#### `Image`


**（選用）** 指定要用於Slurm佇列的映像。若要對所有節點使用相同的 AMI，請使用 [`Image`區段](Image-v3.md)中的 [CustomAmi](Image-v3.md#yaml-Image-CustomAmi) 設定。

```
Image:
  CustomAmi: string
```

[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

##### `Image` 屬性


**`CustomAmi` (**選用**，`String`)**  
用於Slurm佇列的 AMI，而非預設 AMIs。您可以使用 pcluster CLI 命令來檢視預設 AMIs的清單。  
AMI 必須基於前端節點所使用的相同作業系統。

```
pcluster list-official-images
```
如果自訂 AMI 需要其他許可才能啟動，您必須將這些許可新增至前端節點政策。  
例如，如果自訂 AMI 具有與其相關聯的加密快照，則在前端節點政策中需要以下其他政策。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ReEncrypt*",
                "kms:CreateGrant",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/<AWS_KMS_KEY_ID>"
            ]
        }
    ]
}
```
若要對自訂 AMI 驗證警告進行疑難排解，請參閱 [對自訂 AMI 問題進行故障診斷](troubleshooting-v3-custom-amis.md)。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

#### `ComputeResources`


**（必要）** 定義Slurm佇列的`ComputeResources`組態。

**注意**  
叢集大小可能會在更新期間變更。如需詳細資訊，請參閱[叢集容量大小和更新](slurm-workload-manager-v3.md)。
只有在叢集部署在屬於叢集建立時存在之 CIDR 區塊的子網路中時，才能將新的運算資源新增至叢集。

```
ComputeResources:
  - Name: string
    InstanceType: string
    Instances:
      - InstanceType: string    
    MinCount: integer
    MaxCount: integer
    DynamicNodePriority: integer
    StaticNodePriority: integer
    SpotPrice: float
    DisableSimultaneousMultithreading: boolean
    SchedulableMemory: integer
    HealthChecks:
      Gpu:    
        Enabled: boolean
    Efa:
      Enabled: boolean
      GdrSupport: boolean
    CapacityReservationTarget:
      CapacityReservationId: string
      CapacityReservationResourceGroupArn: string
    Networking:   
      PlacementGroup:
        Enabled: boolean
        Name: string
    CustomSlurmSettings: dict   
    Tags:
      - Key: string
        Value: string
    LaunchTemplateOverrides:
      LaunchTemplateId: string
      Version: string
```

[更新政策：對於此清單值設定，可以在更新期間新增新值，或在移除現有值時必須停止運算機群。](using-pcluster-update-cluster-v3.md#update-policy-list-values-v3)

##### `ComputeResources` 屬性


**`Name` (**必要**，`String`)**  
Slurm 佇列運算環境的名稱。名稱最多可有 25 個字元。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**`InstanceType` (**必要**，`String`)**  
此Slurm運算資源中使用的執行個體類型。叢集中的所有執行個體類型都必須使用相同的處理器架構。執行個體可以使用 `x86_64`或 `arm64`架構。  
叢集組態必須定義 [InstanceType](#yaml-Scheduling-SlurmQueues-ComputeResources-InstanceType) 或 [Instances](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)。如果兩者都已定義，則 AWS ParallelCluster 失敗。  
定義 時`InstanceType`，您無法定義多個子網路。如果您只設定一個執行個體類型，並想要使用多個子網路，請在 中定義執行個體類型，`Instances`而不是在 中`InstanceType`定義。如需詳細資訊，請參閱 [`Networking`](#Scheduling-v3-SlurmQueues-Networking) / [`SubnetIds`](#yaml-Scheduling-SlurmQueues-Networking-SubnetIds)。  
如果您定義 p4d或 hpc6id 執行個體類型，或具有多個網路介面或網路介面卡的其他執行個體類型，您必須在私有子網路中啟動運算執行個體，如 中所述[AWS ParallelCluster 使用兩個子網路](network-configuration-v3-two-subnets.md)。 AWS 公有 IPs 只能指派給使用單一網路介面啟動的執行個體。如需詳細資訊，請參閱《*Amazon EC2 Linux 執行個體使用者指南*》中的在執行個體[啟動期間指派公有 IPv4 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#public-ip-addresses)。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`Instances` (**必要**)**  
指定運算資源的執行個體類型清單。若要指定執行個體類型清單的配置策略，請參閱 [`AllocationStrategy`](#yaml-Scheduling-SlurmQueues-AllocationStrategy)。  
叢集組態必須定義 [`InstanceType`](#yaml-Scheduling-SlurmQueues-ComputeResources-InstanceType)或 [`Instances`](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)。如果兩者都已定義， AWS ParallelCluster 則 會失敗。  
如需詳細資訊，請參閱[使用 Slurm 進行多個執行個體類型配置](slurm-multiple-instance-allocation-v3.md)。  

```
`Instances`:
   - `InstanceType`: string
```
從 3.7.0 AWS ParallelCluster 版開始，如果您在[執行個體](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)中設定多個執行個體類型，`EnableMemoryBasedScheduling`則可以啟用 。  
對於 3.2.0 到 3.6.*x* AWS ParallelCluster 版，如果您在[執行個體](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)中設定多個執行個體類型，則`EnableMemoryBasedScheduling`無法啟用 。
[更新政策：對於此清單值設定，可以在更新期間新增新值，或在移除現有值時必須停止運算機群。](using-pcluster-update-cluster-v3.md#update-policy-list-values-v3)    
**`InstanceType` (**必要**，`String`)**  
要在此Slurm運算資源中使用的執行個體類型。叢集中的所有執行個體類型都必須使用相同的處理器架構，可以是 `x86_64`或 `arm64`。  
中列出的執行個體類型[`Instances`](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)必須具有：  
+ 相同數量vCPUs，或者，如果 [`DisableSimultaneousMultithreading`](#yaml-Scheduling-SlurmQueues-ComputeResources-DisableSimultaneousMultithreading) 設定為 `true`，則為相同數量的核心。
+ 相同製造商的相同加速器數量。
+ 如果 / [`Efa`](#yaml-Scheduling-SlurmQueues-ComputeResources-Efa) [`Enabled`](#yaml-Scheduling-SlurmQueues-ComputeResources-Efa-Enabled)設定為 ，則支援 EFA`true`。
中列出的執行個體類型[`Instances`](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)可以有：  
+ 不同的記憶體數量。

  在此情況下，會將最小記憶體設定為消耗性Slurm資源。
**注意**  
從 3.7.0 AWS ParallelCluster 版開始，如果您在[執行個體](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)中設定多個執行個體類型，`EnableMemoryBasedScheduling`則可以啟用 。  
對於 3.2.0 到 3.6.*x* AWS ParallelCluster 版，如果您在[執行個體](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)中設定多個執行個體類型，則`EnableMemoryBasedScheduling`無法啟用 。
+ 不同的網路卡。

  在此情況下，為運算資源設定的網路介面數量是由具有最小網路卡數量的執行個體類型所定義。
+ 不同的網路頻寬。
+ 不同的執行個體存放區大小。
如果您定義 p4d或 hpc6id 執行個體類型，或具有多個網路介面或網路介面卡的另一個執行個體類型，您必須在私有子網路中啟動運算執行個體，如 中所述[AWS ParallelCluster 使用兩個子網路](network-configuration-v3-two-subnets.md)。 AWS 公有 IPs 只能指派給使用單一網路介面啟動的執行個體。如需詳細資訊，請參閱《*Amazon EC2 Linux 執行個體使用者指南*》中的在執行個體[啟動期間指派公有 IPv4 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#public-ip-addresses)。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)
`Instances` 從 3.3.0 AWS ParallelCluster 版開始支援 。

**`MinCount` (**選用**，`Integer`)**  
Slurm 運算資源使用的執行個體數量下限。預設值為 0。  
叢集大小可能會在更新期間變更。如需詳細資訊，請參閱[叢集容量大小和更新](slurm-workload-manager-v3.md)
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`MaxCount` (**選用**，`Integer`)**  
Slurm 運算資源使用的執行個體數目上限。預設為 10。  
當您使用 時`CapacityType = CAPACITY_BLOCK`， `MaxCount` 必須等於`MinCount`且大於 0，因為容量區塊保留的所有執行個體都是以靜態節點管理。  
在叢集建立時間，前端節點會等待所有靜態節點就緒，再發出叢集建立成功的訊號。不過，當您使用 時`CapacityType = CAPACITY_BLOCK`，與此檢查不會考慮與容量區塊相關聯的運算資源節點部分。即使並非所有設定的容量區塊都作用中，也會建立叢集。  
叢集大小可能會在更新期間變更。如需詳細資訊，請參閱[叢集容量大小和更新](slurm-workload-manager-v3.md)
 

**`DynamicNodePriority` (**選用**，`Integer`)**  
佇列運算資源中動態節點的優先順序。優先順序會映射至運算資源動態Slurm節點的節點[https://slurm.schedmd.com/slurm.conf.html#OPT_Weight](https://slurm.schedmd.com/slurm.conf.html#OPT_Weight)組態參數。預設值為 `1000`。  
Slurm 會先排定具有最低`Weight`值的節點的優先順序。  
在Slurm分割區 （佇列） 中使用許多不同的`Weight`值可能會降低佇列中任務排程的速率。  
在 3.7.0 版之前的 AWS ParallelCluster 版本中，靜態和動態節點都獲指派與 相同的預設權重。 `1`在此情況下， Slurm可能會因為靜態和動態節點的命名結構描述，而將閒置動態節點優先於閒置靜態節點。當所有其他項目相等時， 會依名稱字母順序Slurm排程節點。
`DynamicNodePriority` 已新增至 3.7.0 AWS ParallelCluster 版。
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**`StaticNodePriority` (**選用**，`Integer`)**  
佇列運算資源中靜態節點的優先順序。優先順序會映射至運算資源靜態Slurm節點的節點[https://slurm.schedmd.com/slurm.conf.html#OPT_Weight](https://slurm.schedmd.com/slurm.conf.html#OPT_Weight)組態參數。預設值為 `1`。  
Slurm 會先排定具有最低`Weight`值的節點優先順序。  
在Slurm分割區 （佇列） 中使用許多不同的`Weight`值可能會降低佇列中任務排程的速率。
`StaticNodePriority` 已新增至 3.7.0 AWS ParallelCluster 版。
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**`SpotPrice` (**選用**，`Float`)**  
啟動任何執行個體之前為 Amazon EC2 Spot 執行個體支付的最高價格。預設值為隨需價格。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`DisableSimultaneousMultithreading` (**選用**，`Boolean`)**  
如果為 `true`，則會停用Slurm佇列中節點的多執行緒。預設值為 `false`。  
並非所有執行個體類型都可以停用多執行緒。如需支援停用多執行緒的執行個體類型清單，請參閱《*Amazon EC2 使用者指南*》中的[每個執行個體類型的 CPU 核心和每個 CPU 核心的執行緒](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values)。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`SchedulableMemory` (**選用**，`Integer`)**  
在運算資源之運算節點`RealMemory`的 Slurm 參數中設定的 MiB 記憶體量。此值是[`EnableMemoryBasedScheduling`](#yaml-Scheduling-SlurmSettings-EnableMemoryBasedScheduling)啟用 / [`SlurmSettings`](#Scheduling-v3-SlurmSettings) 時可供任務使用的節點記憶體上限。預設值為 [Amazon EC2 執行個體類型](https://aws.amazon.com/ec2/instance-types)中列出的記憶體的 95%，並由 Amazon EC2 API [DescribeInstanceTypes](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypes.html) 傳回。請務必將 GiB 中提供的值轉換為 MiB。  
支援的值： `1-EC2Memory`  
`EC2Memory` 是 [Amazon EC2 執行個體類型](https://aws.amazon.com/ec2/instance-types)中列出的記憶體 (MiB)，並由 Amazon EC2 API [DescribeInstanceTypes](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypes.html) 傳回。請務必將 GiB 中提供的值轉換為 MiB。  
[`EnableMemoryBasedScheduling`](#yaml-Scheduling-SlurmSettings-EnableMemoryBasedScheduling) 啟用 / [`SlurmSettings`](#Scheduling-v3-SlurmSettings) 時，此選項最為相關。如需詳細資訊，請參閱[Slurm 記憶體型排程](slurm-mem-based-scheduling-v3.md)。  
`SchedulableMemory` 從 AWS ParallelCluster 3.2.0 版開始支援 。  
根據預設，從 3.2.0 版開始， `RealMemory` 會將Slurm運算節點 AWS ParallelCluster 設定為 Amazon EC2 API 所傳回記憶體的 95%`DescribeInstanceTypes`。此組態與 的值無關`EnableMemoryBasedScheduling`。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`HealthChecks` (**選用**)**  
指定運算資源的運作狀態檢查。    
`Gpu` (**選用**)  
在運算資源上指定 GPU 運作狀態檢查。    
`Enabled` (**選用**，`Boolean`)  
是否在計算佇列中的資源時 AWS ParallelCluster 執行 GPU 運作狀態檢查。預設值為 `false`。  
AWS ParallelCluster 在使用 `HealthChecks` ARM 作業系統的節點`Gpu`中不支援 `alinux2` /。這些平台不支援 [NVIDIA 資料中心 GPU Manager (DCGM)](https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/getting-started.html#supported-linux-distributions)。

**`Gpu` 運作狀態檢查行為**
+ 如果 `Gpu` / `Enabled` 設定為 `true`，則對運算資源 AWS ParallelCluster 執行運作狀態 GPU 運作狀態檢查。
+ `Gpu` 運作狀態檢查會對運算資源執行運作狀態檢查，以防止在 GPU 降級的節點上提交任務。
+ 如果運算節點未通過`Gpu`運作狀態檢查，則運算節點狀態會變更為 `DRAIN`。新任務不會在此節點上啟動。現有任務會執行至完成。在所有執行中的任務完成後，如果運算節點是動態節點，則運算節點會終止，如果是靜態節點，則會將其取代。
+ `Gpu` 運作狀態檢查的持續時間取決於選取的執行個體類型、執行個體中的 GPUs 數量，以及`Gpu`運作狀態檢查目標的數量 （相當於任務 GPU 目標的數量）。對於具有 8 GPUs 的執行個體，一般持續時間少於 3 分鐘。
+ 如果`Gpu`運作狀態檢查在不支援的執行個體上執行，它會結束，並在運算節點上執行任務。例如，如果執行個體沒有 GPU，或者如果執行個體有 GPU，但不是 NVIDIA GPU，則運作狀態檢查會結束，並在運算節點上執行任務。僅支援 NVIDIA GPUs。
+ `Gpu` 運作狀態檢查使用 `dcgmi`工具在節點上執行運作狀態檢查，並採取下列步驟：

  在節點中開始`Gpu`運作狀態檢查時：

  1. 它會偵測 `nvidia-dcgm`和 `nvidia-fabricmanager`服務是否正在執行。

  1. 如果這些服務未執行，`Gpu`運作狀態檢查會啟動這些服務。

  1. 它會偵測持續性模式是否已啟用。

  1. 如果未啟用持久性模式，則`Gpu`運作狀態檢查會啟用該模式。

  在運作狀態檢查結束時，`Gpu`運作狀態檢查會將這些服務和資源還原為其初始狀態。
+ 如果任務指派給一組特定的節點 GPUs，則`Gpu`運作狀態檢查只會在該特定集合上執行。否則，`Gpu`運作狀態檢查會在節點中的所有 GPUs 上執行。
+ 如果運算節點同時收到 2 個或多個`Gpu`運作狀態檢查請求，則只會略過第一個運作狀態檢查和其他項目。這也適用於以節點 GPUs 為目標的運作狀態檢查。您可以檢查日誌檔案，以取得有關此情況的其他資訊。
+ `/var/log/parallelcluster/slurm_health_check.log` 檔案中提供了特定運算節點的運作狀態檢查日誌。此檔案可在叢集 Amazon CloudWatch CloudWatch 中取得，您可以在其中找到：
  + `Gpu` 運作狀態檢查所執行動作的詳細資訊，包括啟用和停用服務和持久性模式。
  + GPU 識別符、序列 ID 和 UUID。
  + 運作狀態檢查輸出。
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`HealthChecks` 從 3.6.0 AWS ParallelCluster 版開始支援 。

**`Efa` (**選用**)**  
指定Slurm佇列中節點的 Elastic Fabric Adapter (EFA) 設定。  

```
Efa:
  Enabled: boolean
  GdrSupport: boolean
```
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)    
**`Enabled` (**選用**，`Boolean`)**  
指定已啟用 Elastic Fabric Adapter (EFA)。若要檢視支援 EFA 的 Amazon EC2 執行個體清單，請參閱《*Amazon EC2 Linux 執行個體使用者指南》中的*[支援的執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html#efa-instance-types)。如需詳細資訊，請參閱[Elastic Fabric Adapter](efa-v3.md)。我們建議您使用叢集 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`Networking`](#Scheduling-v3-SlurmQueues-Networking) / [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup)將執行個體之間的延遲降至最低。  
預設值為 `false`。  
不同可用區域不支援 Elastic Fabric Adapter (EFA)。如需詳細資訊，請參閱 [SubnetIds](#yaml-Scheduling-SlurmQueues-Networking-SubnetIds)。
如果您要在 [SecurityGroups](#yaml-Scheduling-SlurmQueues-Networking-SecurityGroups) 中定義自訂安全群組，請確定已啟用 EFA 的執行個體是允許所有傳入和傳出流量本身的安全群組成員。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`GdrSupport` (**選用**，`Boolean`)**  
**（選用）** 從 3.0.2 AWS ParallelCluster 版開始，此設定沒有效果。如果Slurm運算資源和作業系統的執行個體類型支援 GPUDirect RDMA （遠端直接記憶體存取），則一律會啟用 Elastic Fabric Adapter (EFA) 支援。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`CapacityReservationTarget`**  

```
CapacityReservationTarget:
   CapacityReservationId: string
   CapacityReservationResourceGroupArn: string
```
指定要用於運算資源的隨需容量保留。    
**`CapacityReservationId` (**選用**，`String`)**  
佇列運算資源目標的現有容量保留 ID。ID 可以參考 ML 的 [ODCR](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) 或容量區塊。 [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html)  
在運算資源層級指定此參數時，InstanceType 是選用的，它會自動從保留中擷取。  
**`CapacityReservationResourceGroupArn` (**選用**，`String`)**  
指出做為運算資源容量保留之服務連結群組的資源群組的 Amazon Resource Name (ARN)。 會從群組 AWS ParallelCluster 識別並使用最適當的容量保留。資源群組必須為運算資源列出的每個執行個體類型至少有一個 ODCR。如需詳細資訊，請參閱[使用隨需容量預留 (ODCR) 啟動執行個體](launch-instances-odcr-v3.md)。  
+ 如果在 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking)或 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources) / 中啟用 `PlacementGroup` [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking)，則選取以執行個體類型為目標的資源群組，並在存在時`PlacementGroup`為運算資源 AWS ParallelCluster 選取資源群組。

  `PlacementGroup` 必須以 中定義的其中一個執行個體類型為目標[`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources)。
+ 如果`PlacementGroup`未在 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking)或 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources) / 中啟用 [`Networking`](#yaml-Scheduling-SlurmQueues-ComputeResources-Networking)，如果存在， AWS ParallelCluster 則選取僅以運算資源的執行個體類型為目標的資源群組。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
`CapacityReservationTarget` 已新增 AWS ParallelCluster 3.3.0 版。

**`Networking`**  

```
Networking:   
  PlacementGroup:
    Enabled: boolean
    Name: string
```
[更新政策：所有運算節點都必須停止，才能刪除受管置放群組。必須停止或QueueUpdateStrategy設定運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-remove-placement-group-v3)    
**`PlacementGroup` (**選用**)**  
指定運算資源的置放群組設定。    
**`Enabled` (**選用**，`Boolean`)**  
指出是否將置放群組用於運算資源。  
+ 如果設定為 `true`，但未`Name`定義 ，則無論 / [`Networking`](#Scheduling-v3-SlurmQueues-Networking)/ [`SlurmQueues`](#Scheduling-v3-SlurmQueues) [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup)設定為何，都會指派該運算資源自己的受管置放群組。
+ 如果設為 `true`且已`Name`定義 ，則該運算資源會被指派具名置放群組，無論 `SlurmQueues` / / `Networking` `PlacementGroup`設定為何。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Name` (**選用**，`String`)**  
用於運算資源之現有叢集置放群組的置放群組名稱。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)
+ 如果未`Name`同時設定 `PlacementGroup` / `Enabled`和 ，其各自的值會預設為 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`Networking`](#Scheduling-v3-SlurmQueues-Networking) / [`PlacementGroup`](#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup)設定。
+ 使用容量區塊保留時，不應設定置放群組限制，因為即使容量保留有剩餘容量，仍可能因保留之外的置放限制而發生容量不足錯誤。
+ `ComputeResources` / `Networking` / 已新增 `PlacementGroup` 3.3.0 AWS ParallelCluster 版。

**`CustomSlurmSettings` (**選用**，`Dict`)**  
**（選用）** 定義自訂Slurm節點 （運算資源） 組態設定。  
指定套用至Slurm節點 （運算資源） 的自訂Slurm組態參數鍵值對字典。  
每個單獨的鍵/值對，例如 `Param1: Value1`，都會以 格式分別新增至Slurm節點組態列的結尾`Param1=Value1`。  
您只能指定 中未拒絕列出的Slurm組態參數`CustomSlurmSettings`。如需拒絕清單Slurm組態參數的詳細資訊，請參閱 [拒絕列出的Slurm組態參數 `CustomSlurmSettings`](slurm-configuration-settings-v3.md#slurm-configuration-denylists-v3)。  
AWS ParallelCluster 只會檢查參數是否在拒絕清單中。 AWS ParallelCluster 不會驗證您的自訂Slurm組態參數語法或語意。您有責任驗證自訂Slurm組態參數。無效的自訂Slurm組態參數可能會導致Slurm協助程式失敗，進而導致叢集建立和更新失敗。  
如需如何使用 指定自訂Slurm組態參數的詳細資訊 AWS ParallelCluster，請參閱 [Slurm 組態自訂](slurm-configuration-settings-v3.md)。  
如需Slurm組態參數的詳細資訊，請參閱 Slurm 文件中的 [slurm.conf。](https://slurm.schedmd.com/slurm.conf.html)  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`CustomSlurmSettings` 從 3.6.0 AWS ParallelCluster 版開始支援 。

**`Tags` (**選用**，【字串】)**  
標籤鍵值對的清單。`ComputeResource`標籤會覆寫 [`Tags` 區段](Tags-v3.md)或 [`SlurmQueues`](#yaml-Scheduling-SlurmQueues-Tags) / 中指定的重複標籤`Tags`。    
**`Key` (**選用**，`String`)**  
標籤金鑰。  
**`Value` (**選用**，`String`)**  
標籤值。
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`LaunchTemplateOverrides` (**選用**)**  
`LaunchTemplateOverrides` 已新增 AWS ParallelCluster 3.15.0 版。
指定啟動範本以覆寫為運算資源 AWS ParallelCluster 建立的預設啟動範本。啟動範本應該只包含網路介面 overrides. AWS ParallelCluster validation the launch template，並防止覆寫其他參數。如需如何使用此覆寫的詳細資訊，請參閱 [使用啟動範本覆寫自訂運算節點網路介面](tutorial-network-customization-v3.md)。  

```
LaunchTemplateOverrides:
  LaunchTemplateId: string
  Version: string
```  
**`LaunchTemplateId` (**必要**，`String`)**  
啟動範本的 ID。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Version` (**必要**，`String`)**  
啟動範本的版本編號。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

#### `ComputeSettings`


**（必要）** 定義Slurm佇列的`ComputeSettings`組態。

##### `ComputeSettings` 屬性


指定Slurm佇列中節點`ComputeSettings`的屬性。

```
ComputeSettings:
  LocalStorage:
    RootVolume:
      Size: integer
      Encrypted: boolean
      VolumeType: string
      Iops: integer
      Throughput: integer
     EphemeralVolume:
      MountDir: string
```

[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`LocalStorage` (**選用**)**  
指定Slurm佇列中節點`LocalStorage`的屬性。  

```
LocalStorage:
  RootVolume:
    Size: integer
    Encrypted: boolean
    VolumeType: string
    Iops: integer
    Throughput: integer
  EphemeralVolume:
    MountDir: string
```
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)    
**`RootVolume` (**選用**)**  
指定Slurm佇列中節點根磁碟區的詳細資訊。  

```
RootVolume:
  Size: integer
  Encrypted: boolean
  VolumeType: string
  Iops: integer
  Throughput: integer
```
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)    
**`Size` (**選用**，`Integer`)**  
指定Slurm佇列中節點的根磁碟區大小，以 GB (GiB) 為單位。預設大小來自 AMI。使用不同的大小需要 AMI 支援 `growroot`。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Encrypted` (**選用**，`Boolean`)**  
如果為 `true`，Slurm佇列中節點的根磁碟區會加密。預設值為 `true`。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`VolumeType` (**選用**，`String`)**  
指定Slurm佇列中節點的 [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)。支援的值為 `gp2`、`gp3`、`io1`、`io2`、`st1`、 `sc1`和 `standard`。預設值為 `gp3`。  
如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的 [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Iops` (**選用**，`Boolean`)**  
定義 `io1`、 `io2`和`gp3`類型磁碟區的 IOPS 數目。  
預設值、支援的值和`volume_iops``volume_size`比率因 `VolumeType`和 而異`Size`。    
**`VolumeType` = `io1`**  
預設值 `Iops` = 100  
支援的值 `Iops` = 100–64000 †  
最大`volume_iops``volume_size`比率 = 每 GiB 50 IOPS。5000 IOPS 需要至少 100 GiB `volume_size`的 。  
**`VolumeType` = `io2`**  
預設值 `Iops` = 100  
支援的值 `Iops` = 100–64000 (`io2`區塊快速磁碟區為 256000) †  
最大`Iops``Size`比率 = 每 GiB 500 IOPS。5000 IOPS 需要至少 10 GiB `Size`的 。  
**`VolumeType` = `gp3`**  
預設 `Iops` = 3000  
支援的值 `Iops` = 3000–16000 †  
對於 IOPS 大於 3000 的磁碟區，最大`Iops``Size`比率 = 每 GiB 500 IOPS。
† 只有[建置在 Nitro 系統上且佈建超過 32，000 IOPS 的執行個體，](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)才能保證 IOPS 上限。其他執行個體最多可有 32，000 IOPS。舊版磁碟`io1`區可能無法達到完整效能，除非您[修改磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html)。 `io2`Block Express 磁碟區在`R5b`執行個體類型上最多支援 256000 個`volume_iops`值。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的 [`io2` Block Express 磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#io2-block-express)。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Throughput` (**選用**，`Integer`)**  
定義`gp3`磁碟區類型的輸送量，以 MiB/s 為單位。此設定僅在 `VolumeType`為 時有效`gp3`。預設值為 `125`。支援的值：125–1000 MiB/s  
`Throughput` 與 的比率`Iops`不可超過 0.25。1000 MiB/s 的最大輸送量要求`Iops`設定至少為 4000。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`EphemeralVolume` (**選用**，`Boolean`)**  
指定暫時性磁碟區的設定。暫時性磁碟區是透過將所有執行個體存放區磁碟區合併為與`ext4`檔案系統格式化的單一邏輯磁碟區來建立。預設值為 `/scratch`。如果執行個體類型沒有任何執行個體存放磁碟區，則不會建立暫時性磁碟區。如需詳細資訊，請參閱《Amazon EC2 使用者指南》**中的《[執行個體儲存體磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes)》。  

```
EphemeralVolume:
  MountDir: string
```
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)    
**`MountDir` (**選用**，`String`)**  
Slurm 佇列中每個節點的暫時性磁碟區的掛載目錄。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

#### `CustomActions`


**（選用）** 指定要在Slurm佇列中的節點上執行的自訂指令碼。

```
CustomActions:
  OnNodeStart:
    Sequence:
      - Script: string
        Args:
          - string
    Script: string
    Args:
      - string
  OnNodeConfigured:
    Sequence:
      - Script: string
        Args:
          - string
    Script: string
    Args:
      - string
```

[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

##### `CustomActions` 屬性


**`OnNodeStart` (**選用**，`String`)**  
在啟動任何節點部署引導動作之前，指定要在Slurm佇列中節點上執行的一系列指令碼或單一指令碼。 AWS ParallelCluster 不支援同時包含單一指令碼和`Sequence`相同的自訂動作。如需詳細資訊，請參閱[自訂引導操作](custom-bootstrap-actions-v3.md)。    
**`Sequence` (**選用**)**  
要執行的指令碼清單。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)    
**`Script` (**必要**，`String`)**  
要使用的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Args` (**選用**，`[String]`)**  
要傳遞至指令碼的引數清單。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Script` (**必要**，`String`)**  
用於單一指令碼的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Args` (**選用**，`[String]`)**  
要傳遞至單一指令碼的引數清單。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)

**`OnNodeConfigured` (**選用**，`String`)**  
指定在所有節點引導動作完成後，要在Slurm佇列中節點上執行的一系列指令碼或單一指令碼。 AWS ParallelCluster 不支援同時包含單一指令碼和`Sequence`相同的自訂動作。如需詳細資訊，請參閱[自訂引導操作](custom-bootstrap-actions-v3.md)。    
**`Sequence` (**選用**)**  
要執行的指令碼清單。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)    
**`Script` (**必要**，`String`)**  
要使用的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Args` (**選用**，`[String]`)**  
要傳遞至指令碼的引數清單。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Script` (**必要**，`String`)**  
用於單一指令碼的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
**`Args` (**選用**，`[String]`)**  
要傳遞至單一指令碼的引數清單。  
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)
[更新政策：必須停止運算機群，或QueueUpdateStrategy必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
`Sequence` 從 3.6.0 AWS ParallelCluster 版開始新增 。當您指定 時`Sequence`，您可以列出自訂動作的多個指令碼。 AWS ParallelCluster 繼續支援使用單一指令碼設定自訂動作，而不包含 `Sequence`。  
AWS ParallelCluster 不支援同時包含單一指令碼和`Sequence`相同的自訂動作。

#### `Iam`


**（選用）** 定義Slurm佇列的選用 IAM 設定。

```
Iam:
  S3Access:
    - BucketName: string
      EnableWriteAccess: boolean
      KeyName: string
  AdditionalIamPolicies:
    - Policy: string
  InstanceProfile: string
  InstanceRole: string
```

[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

##### `Iam` 屬性


**`InstanceProfile` (**選用**，`String`)**  
指定執行個體描述檔，以覆寫Slurm佇列的預設執行個體角色或執行個體描述檔。您無法同時指定 `InstanceProfile`和 `InstanceRole`。格式是 `arn:${Partition}:iam::${Account}:instance-profile/${InstanceProfileName}`。  
如果指定此選項，則無法指定 `S3Access`和 `AdditionalIamPolicies`設定。  
我們建議您指定一個或兩個 `S3Access`和 `AdditionalIamPolicies`設定，因為新增至 的功能 AWS ParallelCluster 通常需要新的許可。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`InstanceRole` (**選用**，`String`)**  
指定執行個體角色以覆寫Slurm佇列的預設執行個體角色或執行個體描述檔。您無法同時指定 `InstanceProfile`和 `InstanceRole`。格式是 `arn:${Partition}:iam::${Account}:role/${RoleName}`。  
如果指定此選項，則無法指定 `S3Access`和 `AdditionalIamPolicies`設定。  
我們建議您指定一個或兩個 `S3Access`和 `AdditionalIamPolicies`設定，因為新增至 的功能 AWS ParallelCluster 通常需要新的許可。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**`S3Access` (**選用**)**  
指定Slurm佇列的儲存貯體。這用於產生政策，以授予Slurm佇列中儲存貯體的指定存取權。  
如果指定此選項，則無法指定 `InstanceProfile`和 `InstanceRole`設定。  
我們建議您指定一個或兩個 `S3Access`和 `AdditionalIamPolicies`設定，因為新增至 的功能 AWS ParallelCluster 通常需要新的許可。  

```
S3Access:
  - BucketName: string
    EnableWriteAccess: boolean
    KeyName: string
```
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)    
**`BucketName` (**必要**，`String`)**  
 儲存貯體的名稱。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
**`KeyName` (**選用**，`String`)**  
儲存貯體的金鑰。預設值為 `*`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
**`EnableWriteAccess` (**選用**，`Boolean`)**  
指出是否已啟用儲存貯體的寫入存取。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**`AdditionalIamPolicies` (**選用**)**  
指定 Amazon EC2 的 IAM 政策的 Amazon Resource Name (ARNs) 清單。除了 所需的許可之外，此清單還會連接到用於Slurm佇列的根角色 AWS ParallelCluster。  
IAM 政策名稱及其 ARN 不同。無法使用名稱。  
如果指定此選項，則無法指定 `InstanceProfile`和 `InstanceRole`設定。  
我們建議您使用 ，`AdditionalIamPolicies`因為 `AdditionalIamPolicies` 已新增至 AWS ParallelCluster 所需的許可，且 `InstanceRole` 必須包含所有必要的許可。所需的許可經常隨發行版本新增功能而變更。  
沒有預設值。  

```
AdditionalIamPolicies:
  - Policy: string
```
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)    
**`Policy` (**必要**，`[String]`)**  
IAM 政策清單。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `SlurmSettings`


**（選用）** 定義適用於整個叢集Slurm的 設定。

```
SlurmSettings:
  ScaledownIdletime: integer
  QueueUpdateStrategy: string
  EnableMemoryBasedScheduling: boolean
  CustomSlurmSettings: [dict] 
  CustomSlurmSettingsIncludeFile: string
  Database:
    Uri: string
    UserName: string
    PasswordSecretArn: string
  ExternalSlurmdbd:
    Host: string
    Port: integer
  Dns:
    DisableManagedDns: boolean
    HostedZoneId: string
    UseEc2Hostnames: boolean
```

### `SlurmSettings` 屬性


**`ScaledownIdletime` (**選用**，`Integer`)**  
定義沒有任務且Slurm節點終止的時間量 （以分鐘為單位）。  
預設值為 `10`。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`MungeKeySecretArn` (**選用**，`String`)**  
 純文字 AWS Secrets Manager 秘密的 Amazon Resource Name (ARN)，其中包含要在Slurm叢集中使用的 base64 編碼 Munge 金鑰。此 Munge 金鑰將用於驗證Slurm用戶端命令與做為遠端伺服器的協助程式之間的 RPC Slurm 呼叫。如果未提供 MungeKeySecretArn， AWS ParallelCluster 將為叢集產生隨機 Munge 金鑰。  
`MungeKeySecretArn` 從 AWS ParallelCluster 3.8.0 版開始支援 。
如果 MungeKeySecretArn 是新新增至現有叢集，則在復原或稍後移除 MungeKeySecretArn 時，ParallelCluster 不會還原先前的 munge 金鑰。 MungeKeySecretArn 反之，將產生新的隨機 munge 金鑰。
如果 AWS ParallelCluster 使用者具有該特定秘密資源的 [ DescribeSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html) 許可，則會驗證 MungeKeySecretArn。MungeKeySecretArn 在下列情況下有效：  
+ 指定的秘密存在，且
+ 秘密為純文字，並包含有效的 base64 編碼字串，以及
+ 解碼的二進位 munge 金鑰的大小介於 256 到 8192 位元之間。
如果叢集使用者 IAM 政策不包含 DescribeSecret，則不會驗證 MungeKeySecretArn，並顯示警告訊息。如需詳細資訊，請參閱[基本 AWS ParallelCluster `pcluster`使用者政策](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-base-user-policy)。  
當您更新 MungeKeySecretArn 時，必須停止運算機群和所有登入節點。  
如果在 ARN 保持不變時修改秘密 ARN 中的秘密值，則叢集不會自動使用新的 munge 金鑰更新。若要使用秘密 ARN 的新 Munge 金鑰，您必須停止運算機群和登入節點，然後從前端節點執行下列命令。  
`sudo /opt/parallelcluster/scripts/slurm/update_munge_key.sh`  
執行 命令後，您可以繼續運算機群和登入節點：新佈建的運算和登入節點會自動開始使用新的 munge 金鑰。  
若要產生 base64 編碼的自訂 munge 金鑰，您可以使用隨 [munge 軟體分佈的 mungekey 公用程式](https://github.com/dun/munge/wiki/Man-8-mungekey)，然後使用作業系統中一般提供的 base64 公用程式進行編碼。或者，您可以使用 bash （請將 bs 參數設定為 32 到 1024)  
`dd if=/dev/random bs=128 count=1 2>/dev/null | base64 -w 0`  
或 Python，如下所示：  

```
import random
import os
import base64

# key length in bytes
key_length=128

base64.b64encode(os.urandom(key_length)).decode("utf-8")
```
[更新政策：必須停止運算機群和登入節點，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md)

**`QueueUpdateStrategy` (**選用**，`String`)**  
指定具有下列更新政策之[`SlurmQueues`](#Scheduling-v3-SlurmQueues)區段參數的取代策略：  
[更新政策：必須停止運算機群，或`QueueUpdateStrategy`必須設定此設定才能變更更新。](using-pcluster-update-cluster-v3.md#update-policy-queue-update-strategy-v3)  
只有在叢集更新程序啟動時，才會使用此`QueueUpdateStrategy`值。  
有效值：`COMPUTE_FLEET_STOP` \$1 `DRAIN` \$1 `TERMINATE`  
預設值：`COMPUTE_FLEET_STOP`    
**`DRAIN`**  
具有變更參數值的佇列中的節點會設定為 `DRAINING`。處於此狀態的節點不接受新任務，且執行中的任務會繼續完成。  
在節點變成 `idle`(`DRAINED`) 之後，如果節點是靜態節點，則會取代節點，如果節點是動態節點，則會終止節點。其他佇列中沒有變更參數值的其他節點不會受到影響。  
此策略需要以變更的參數值取代所有佇列節點的時間，取決於執行中的工作負載。  
**`COMPUTE_FLEET_STOP`**  
`QueueUpdateStrategy` 參數的預設值。使用此設定，更新 [`SlurmQueues`](#Scheduling-v3-SlurmQueues)區段下的參數需要您在執行叢集更新之前[停止運算機群](pcluster.update-compute-fleet-v3.md)：  

```
$ pcluster update-compute-fleet --status STOP_REQUESTED
```  
**`TERMINATE`**  
在參數值變更的佇列中，執行中的任務會終止，且節點會立即關閉電源。  
取代靜態節點，並終止動態節點。  
其他佇列中沒有變更參數值的其他節點不會受到影響。
[更新政策：更新期間不會分析此設定。](using-pcluster-update-cluster-v3.md#update-policy-setting-ignored-v3)  
`QueueUpdateStrategy` 從 AWS ParallelCluster 3.2.0 版開始支援 。

**`EnableMemoryBasedScheduling` (**選用**，`Boolean`)**  
如果為 `true`，則會在 中啟用記憶體型排程Slurm。如需詳細資訊，請參閱 [`SlurmQueues`](#Scheduling-v3-SlurmQueues) / [`ComputeResources`](#Scheduling-v3-SlurmQueues-ComputeResources) / [`SchedulableMemory`](#yaml-Scheduling-SlurmQueues-ComputeResources-SchedulableMemory)。  
預設值為 `false`。  
啟用記憶體型排程會影響Slurm排程器處理任務和節點配置的方式。  
如需詳細資訊，請參閱[Slurm 記憶體型排程](slurm-mem-based-scheduling-v3.md)。
`EnableMemoryBasedScheduling` 從 3.2.0 AWS ParallelCluster 版開始支援 。
從 3.7.0 AWS ParallelCluster 版開始，如果您在[執行個體](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)中設定多個執行個體類型，`EnableMemoryBasedScheduling`則可以啟用 。  
對於 3.2.0 到 3.6.*x* AWS ParallelCluster 版，如果您在[執行個體](#yaml-Scheduling-SlurmQueues-ComputeResources-Instances)中設定多個執行個體類型，則`EnableMemoryBasedScheduling`無法啟用 。
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`CustomSlurmSettings` (**選用**，`[Dict]`)**  
定義套用至整個叢集的自訂Slurm設定。  
指定要附加至 AWS ParallelCluster 產生之`slurm.conf`檔案結尾的鍵值對Slurm組態字典清單。  
清單中的每個字典都會顯示為新增至Slurm組態檔案的個別行。您可以指定簡單或複雜的參數。  
簡單參數由單一金鑰對組成，如下列範例所示：  

```
 - Param1: 100
 - Param2: "SubParam1,SubParam2=SubValue2"
```
Slurm 組態中呈現的範例：  

```
Param1=100
Param2=SubParam1,SubParam2=SubValue2
```
複雜的Slurm組態參數由多個空格分隔的索引鍵值組成，配對如下列範例所示：  

```
 - NodeName: test-nodes[1-10]
   CPUs: 4
   RealMemory: 4196
   ... # other node settings
 - NodeSet: test-nodeset
   Nodes: test-nodes[1-10]
   ... # other nodeset settings
 - PartitionName: test-partition
   Nodes: test-nodeset
   ... # other partition settings
```
範例，以Slurm組態轉譯：  

```
NodeName=test-nodes[1-10] CPUs=4 RealMemory=4196 ... # other node settings
NodeSet=test-nodeset Nodes=test-nodes[1-10] ... # other nodeset settings
PartitionName=test-partition Nodes=test-nodeset ... # other partition settings
```
自訂Slurm節點的名稱中不得包含 `-st-`或 `-dy-` 模式。這些模式會保留給由 管理的節點 AWS ParallelCluster。
如果您在 中指定自訂Slurm組態參數`CustomSlurmSettings`，則不得為 指定自訂Slurm組態參數`CustomSlurmSettingsIncludeFile`。  
您只能指定 中未拒絕列出的Slurm組態參數`CustomSlurmSettings`。如需拒絕列出Slurm組態參數的詳細資訊，請參閱 [拒絕列出的Slurm組態參數 `CustomSlurmSettings`](slurm-configuration-settings-v3.md#slurm-configuration-denylists-v3)。  
AWS ParallelCluster 只會檢查參數是否在拒絕清單中。 AWS ParallelCluster 不會驗證您的自訂Slurm組態參數語法或語意。您有責任驗證自訂Slurm組態參數。無效的自訂Slurm組態參數可能會導致Slurm協助程式失敗，進而導致叢集建立和更新失敗。  
如需如何使用 指定自訂Slurm組態參數的詳細資訊 AWS ParallelCluster，請參閱 [Slurm 組態自訂](slurm-configuration-settings-v3.md)。  
如需Slurm組態參數的詳細資訊，請參閱 Slurm 文件中的 [slurm.conf。](https://slurm.schedmd.com/slurm.conf.html)  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`CustomSlurmSettings` 從 AWS ParallelCluster 3.6.0 版開始支援 。

**`CustomSlurmSettingsIncludeFile` (**選用**，`String`)**  
定義套用至整個叢集的自訂Slurm設定。  
指定要在 AWS ParallelCluster 產生的Slurm檔案結尾附加的自訂Slurm組態參數組成的自訂`slurm.conf`檔案。  
您必須包含 檔案的路徑。路徑的開頭可以是 `https://`或 `s3://`。  
如果您為 指定自訂Slurm組態參數`CustomSlurmSettingsIncludeFile`，則不得為 指定自訂Slurm組態參數`CustomSlurmSettings`。  
自訂Slurm節點的名稱中不得包含 `-st-`或 `-dy-` 模式。這些模式會保留給由 管理的節點 AWS ParallelCluster。
您只能指定 中未拒絕列出的Slurm組態參數`CustomSlurmSettingsIncludeFile`。如需拒絕清單Slurm組態參數的詳細資訊，請參閱 [拒絕列出的Slurm組態參數 `CustomSlurmSettings`](slurm-configuration-settings-v3.md#slurm-configuration-denylists-v3)。  
AWS ParallelCluster 只會檢查參數是否在拒絕清單中。 AWS ParallelCluster 不會驗證您的自訂Slurm組態參數語法或語意。您有責任驗證自訂Slurm組態參數。無效的自訂Slurm組態參數可能會導致Slurm協助程式失敗，進而導致叢集建立和更新失敗。  
如需如何使用 指定自訂Slurm組態參數的詳細資訊 AWS ParallelCluster，請參閱 [Slurm 組態自訂](slurm-configuration-settings-v3.md)。  
如需Slurm組態參數的詳細資訊，請參閱 Slurm 文件中的 [slurm.conf。](https://slurm.schedmd.com/slurm.conf.html)  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`CustomSlurmSettings` 從 AWS ParallelCluster 3.6.0 版開始支援 。

### `Database`


**（選用）** 定義在叢集上啟用Slurm會計的設定。如需詳細資訊，請參閱[Slurm 使用 會計 AWS ParallelCluster](slurm-accounting-v3.md)。

```
Database:
   Uri: string
   UserName: string
   PasswordSecretArn: string
```

[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

#### `Database` 屬性


**`Uri` (**必要**，`String`)**  
做為Slurm會計後端的資料庫伺服器地址。此 URI 必須格式化為 ，`host:port`且不得包含結構描述，例如 `mysql://`。主機可以是 IP 地址或可由前端節點解析的 DNS 名稱。如果未提供連接埠， AWS ParallelCluster 會使用MySQL預設連接埠 3306。  
AWS ParallelCluster 會將Slurm會計資料庫引導至叢集，且必須存取資料庫。  
發生下列情況之前，資料庫必須能夠連線：  
+ 叢集已建立。
+ Slurm 已透過叢集更新啟用 會計。
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`UserName` (**必要**，`String`)**  
Slurm 用來連線至資料庫、撰寫會計日誌和執行查詢的身分。使用者必須同時擁有資料庫的讀取和寫入許可。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`PasswordSecretArn` (**必要**，`String`)**  
包含`UserName`純文字密碼之 AWS Secrets Manager 秘密的 Amazon Resource Name (ARN)。此密碼會與 `UserName`和 Slurm 會計一起使用，以在資料庫伺服器上進行身分驗證。  
+ 當您使用 AWS Secrets Manager 主控台建立秘密時，請務必選取「其他秘密類型」、選取純文字，並只在秘密中包含密碼文字。
+ 您無法在資料庫密碼中使用 '\$1' 字元，因為 Slurm 在 slurmdbd.conf 中不支援它。
+ 如需如何使用 AWS Secrets Manager 建立秘密的詳細資訊，請參閱[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret)。
如果使用者具有 [DescribeSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html) 的許可，`PasswordSecretArn`則會驗證 。如果指定的秘密存在，`PasswordSecretArn`則 有效。如果使用者 IAM 政策不包含 `DescribeSecret`，`PasswordSecretArn`則不會驗證 ，並顯示警告訊息。如需詳細資訊，請參閱[基本 AWS ParallelCluster `pcluster`使用者政策](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-base-user-policy)。  
當您更新 時`PasswordSecretArn`，必須停止運算機群。如果秘密值變更，且秘密 ARN 未變更，則叢集不會自動更新為新的資料庫密碼。若要更新叢集的新秘密值，您必須在運算機群停止後，從前端節點內執行下列命令。  

```
$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
```
我們建議您只在運算機群停止時變更資料庫密碼，以避免遺失會計資料。
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**`DatabaseName` (**選用**，`String`)**  
要用於Slurm會計之資料庫伺服器上的資料庫名稱 （由 Uri 參數定義）。  
資料庫的名稱可能包含小寫字母、數字和底線。名稱長度不可超過 64 個字元。  
此參數映射至 [slurmdbd.conf](https://slurm.schedmd.com/slurmdbd.conf.html#OPT_StorageLoc) 的 `StorageLoc` 參數。  
如果`DatabaseName`未提供 ，則 ParallelCluster 將使用叢集的名稱來定義 的值`StorageLoc`。  
`DatabaseName` 允許更新 ，但有下列考量：  
+ 如果資料庫伺服器上尚不存在名稱為 DatabaseName 的資料庫，則 slurmdbd 會建立該資料庫。您有責任視需要重新設定新資料庫 （例如新增會計實體 - 叢集、帳戶、使用者、關聯、QOSs等）。
+ 如果資料庫伺服器上已存在名稱為 DatabaseName 的資料庫，slurmdbd 會將其用於Slurm會計功能。
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

**注意**  
`Database` 從 3.3.0 版開始新增 。

### ExternalSlurmdbd


**（選用）** 定義使用外部 slurmdbd 伺服器啟用Slurm會計的設定。如需詳細資訊，請參閱[Slurm使用 進行會計 AWS ParallelCluster](slurm-accounting-v3.md)。

```
ExternalSlurmdbd:
  Host: string
  Port: integer
```

#### `ExternalSlurmdbd` 屬性


** `Host` (**必要**，`String`)**  
外部 slurmdbd 伺服器用於Slurm會計的地址。主機可以是 IP 地址或可由前端節點解析的 DNS 名稱。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

** `Port` (**選用**，`Integer`)**  
slurmdbd 服務接聽的連接埠。預設值為 `6819`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

### `Dns`


**（選用）** 定義適用於整個叢集Slurm的 設定。

```
Dns:
  DisableManagedDns: boolean
  HostedZoneId: string
  UseEc2Hostnames: boolean
```

#### `Dns` 屬性


**`DisableManagedDns` (**選用**，`Boolean`)**  
如果 `true`，則不會建立叢集的 DNS 項目，也無法解析Slurm節點名稱。  
根據預設， AWS ParallelCluster 會建立 Route 53 託管區域，其中節點會在啟動時註冊。預設值為 `false`。如果 `DisableManagedDns` 設定為 `true`，則 不會建立託管區域 AWS ParallelCluster。  
若要了解如何使用此設定在無法存取網際網路的子網路中部署叢集，請參閱 [AWS ParallelCluster 在沒有網際網路存取的單一子網路中](aws-parallelcluster-in-a-single-public-subnet-no-internet-v3.md)。  
叢集需要名稱解析系統才能正常運作。如果 `DisableManagedDns` 設定為 `true`，您必須提供名稱解析系統。若要使用 Amazon EC2 預設 DNS，請將 `UseEc2Hostnames`設定為 `true`。或者，設定您自己的 DNS 解析程式，並確保在執行個體啟動時註冊節點名稱。例如，您可以透過設定 [`CustomActions`](#Scheduling-v3-SlurmQueues-CustomActions) / 來執行此操作[`OnNodeStart`](#yaml-Scheduling-SlurmQueues-CustomActions-OnNodeStart)。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**`HostedZoneId` (**選用**，`String`)**  
定義要用於叢集 DNS 名稱解析的自訂 Route 53 託管區域 ID。提供時， 會在指定的託管區域中 AWS ParallelCluster 註冊叢集節點，而不會建立受管託管區域。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**`UseEc2Hostnames` (**選用**，`Boolean`)**  
如果為 `true`，叢集運算節點會使用預設的 EC2 主機名稱設定。Slurm `NodeHostName` 也會更新此資訊。預設值為 `false`。  
若要了解如何使用此設定在無法存取網際網路的子網路中部署叢集，請參閱 [AWS ParallelCluster 在沒有網際網路存取的單一子網路中](aws-parallelcluster-in-a-single-public-subnet-no-internet-v3.md)。  
**此備註從 AWS ParallelCluster 3.3.0 版開始並不相關。**  
對於 3.3.0 之前的 AWS ParallelCluster 支援版本：  
當 `UseEc2Hostnames` 設定為 時`true`，Slurm 組態檔案會使用 AWS ParallelCluster `prolog`和 `epilog`指令碼設定：  
+ `prolog` 會執行 以在每個任務配置時，將節點資訊新增至運算節點`/etc/hosts`上的 。
+ `epilog` 會執行 以清除 撰寫的內容`prolog`。
若要新增自訂`prolog`或`epilog`指令碼，請分別將它們新增至 `/opt/slurm/etc/pcluster/prolog.d/`或 `/opt/slurm/etc/pcluster/epilog.d/` 資料夾。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

# `SharedStorage` 區段


**（選用）** 叢集的共用儲存設定。

AWS ParallelCluster 支援使用 [Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)、[FSx for ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html) 和 [FSx for OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) 共用儲存磁碟區、[Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) 和 [FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) 共用儲存檔案系統，或[檔案快取](https://docs.aws.amazon.com/fsx/latest/FileCacheGuide/what-is.html)。

在 `SharedStorage`區段中，您可以定義外部或受管儲存：
+ **外部儲存**是指您管理的現有磁碟區或檔案系統。 AWS ParallelCluster 不會建立或刪除它。
+ **AWS ParallelCluster 受管儲存**是指 AWS ParallelCluster 已建立且可刪除的磁碟區或檔案系統。

如需[共用儲存配額](shared-storage-quotas-v3.md)和如何設定共用儲存的詳細資訊，請參閱*使用 AWS ParallelCluster*[共用儲存](shared-storage-quotas-integration-v3.md)中的 。

**注意**  
如果 AWS Batch 用作排程器，則 FSx for Lustre 僅適用於叢集前端節點。

```
SharedStorage:
  - MountDir: string
    Name: string
    StorageType: Ebs
    EbsSettings:
      VolumeType: string
      Iops: integer
      Size: integer
      Encrypted: boolean
      KmsKeyId: string
      SnapshotId: string
      Throughput: integer
      VolumeId: string
      DeletionPolicy: string
      Raid:
        Type: string
        NumberOfVolumes: integer
  - MountDir: string
    Name: string
    StorageType: Efs
    EfsSettings:
      Encrypted: boolean
      KmsKeyId: string
      EncryptionInTransit: boolean
      IamAuthorization: boolean
      PerformanceMode: string
      ThroughputMode: string
      ProvisionedThroughput: integer
      FileSystemId: string
      DeletionPolicy: string
      AccessPointId: string
  - MountDir: string
    Name: string
    StorageType: FsxLustre
    FsxLustreSettings:
      StorageCapacity: integer
      DeploymentType: string
      ImportedFileChunkSize: integer
      DataCompressionType: string
      ExportPath: string
      ImportPath: string
      WeeklyMaintenanceStartTime: string
      AutomaticBackupRetentionDays: integer
      CopyTagsToBackups: boolean
      DailyAutomaticBackupStartTime: string
      PerUnitStorageThroughput: integer
      BackupId: string
      KmsKeyId: string
      FileSystemId: string
      AutoImportPolicy: string
      DriveCacheType: string
      StorageType: string
      DeletionPolicy: string
      DataRepositoryAssociations:
      - Name: string
        BatchImportMetaDataOnCreate: boolean
        DataRepositoryPath: string
        FileSystemPath: string
        ImportedFileChunkSize: integer
        AutoExportPolicy: string
        AutoImportPolicy: string
  - MountDir: string
    Name: string
    StorageType: FsxOntap
    FsxOntapSettings:
      VolumeId: string
  - MountDir: string
    Name: string
    StorageType: FsxOpenZfs
    FsxOpenZfsSettings:
      VolumeId: string
  - MountDir: string
    Name: string
    StorageType: FileCache
    FileCacheSettings:
      FileCacheId: string
```

## `SharedStorage` 更新政策

+ 對於受管/外部 EBS、受管 EFS 和受管 FSx Lustre，更新政策為 [更新政策：對於此清單值設定，運算機群必須停止或QueueUpdateStrategy必須設定為新增值；在移除現有值時，運算機群必須停止。](using-pcluster-update-cluster-v3.md#update-policy-update-cluster-v3)
+ 對於外部 EFS、FSx Lustre、FSx ONTAP、FSx OpenZfs 和檔案快取，更新政策為： [更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `SharedStorage` 屬性


`MountDir` (**必要**，`String`)  
掛載共用儲存體的路徑。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`Name` (**必要**，`String`)  
共用儲存體的名稱。您在更新設定時使用此名稱。  
如果您指定 AWS ParallelCluster 受管共用儲存體，並變更 的值`Name`，則會刪除現有的受管共用儲存體和資料，並建立新的受管共用儲存體。`Name` 使用叢集更新變更 的值等同於將現有的受管共用儲存取代為新的儲存。`Name` 如果您需要保留現有共用儲存中的資料，請務必在變更之前備份資料。
[更新政策：對於此清單值設定，運算機群必須停止或QueueUpdateStrategy必須設定為新增值；在移除現有值時，運算機群必須停止。](using-pcluster-update-cluster-v3.md#update-policy-update-cluster-v3)

`StorageType` (**必要**，`String`)  
共用儲存體的類型。支援的值為 `Ebs`、`Efs`、`FsxOntap`、 `FsxLustre`和 `FsxOpenZfs`。  
如需詳細資訊，請參閱[`FsxLustreSettings`](#SharedStorage-v3-FsxLustreSettings)、[`FsxOntapSettings`](#SharedStorage-v3-FsxOntapSettings)及[`FsxOpenZfsSettings`](#SharedStorage-v3-FsxOpenZfsSettings)。  
如果您使用 AWS Batch 做為排程器，FSx for Lustre 只能在叢集前端節點上使用。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `EbsSettings`


**（選用）** Amazon EBS 磁碟區的設定。

```
EbsSettings:
  VolumeType: string
  Iops: integer
  Size: integer
  Encrypted: boolean
  KmsKeyId: string
  SnapshotId: string
  VolumeId: string
  Throughput: integer
  DeletionPolicy: string
  Raid:
    Type: string
    NumberOfVolumes: integer
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `EbsSettings` 屬性


當 [DeletionPolicy](#yaml-SharedStorage-EbsSettings-DeletionPolicy) 設定為 時`Delete`，如果刪除叢集或使用叢集更新移除磁碟區，則會刪除具有其資料的受管磁碟區。

如需詳細資訊，請參閱《使用》[共用儲存](shared-storage-quotas-integration-v3.md)中的 。 * AWS ParallelCluster*

`VolumeType` (**選用**，`String`)  
指定 [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)。支援的值為 `gp2`、`gp3`、`io1`、`io2`、`st1`、 `sc1`和 `standard`。預設值為 `gp3`。  
如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的 [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`Iops` (**選用**，`Integer`)  
定義 `io1`、 `io2`和`gp3`類型磁碟區的 IOPS 數目。  
預設值、支援的值和`volume_iops``volume_size`比率因 `VolumeType`和 而異`Size`。    
`VolumeType` = `io1`  
預設值 `Iops` = 100  
支援的值 `Iops` = 100–64000 †  
最大`volume_iops``volume_size`比率 = 每個 GiB 50 IOPS。5000 IOPS 需要至少 100 GiB `volume_size`的 。  
`VolumeType` = `io2`  
預設值 `Iops` = 100  
支援的值 `Iops` = 100–64000 (`io2`區塊快速磁碟區為 256000) †  
最大`Iops``Size`比率 = 每個 GiB 500 IOPS。5000 IOPS 需要至少 10 GiB `Size`的 。  
`VolumeType` = `gp3`  
預設 `Iops` = 3000  
支援的值 `Iops` = 3000–16000  
最大`Iops``Size`比率 = 每個 GiB 500 IOPS。5000 IOPS 需要至少 10 GiB `Size`的 。
† 只有在佈建超過 32，000 IOPS [的 Nitro 系統上建置的執行個體上](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)，才能保證 IOPS 上限。其他執行個體保證高達 32，000 IOPS。除非您[修改磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html)，否則舊版磁碟`io1`區可能無法達到完整效能。 `io2`Block Express 磁碟區在`R5b`執行個體類型上最多支援 256000 個`volume_iops`值。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的 [`io2` Block Express 磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#io2-block-express)。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`Size` (**選用**，`Integer`)  
以 GB (GiB) 為單位指定磁碟區大小。預設值為 35。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`Encrypted` (**選用**，`Boolean`)  
指定磁碟區是否已加密。預設值為 `true`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`KmsKeyId` (**選用**，`String`)  
指定用於加密的自訂 AWS KMS 金鑰。此設定需要將 `Encrypted`設定設為 `true`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`SnapshotId` (**選用**，`String`)  
如果您使用快照做為磁碟區的來源，請指定 Amazon EBS 快照 ID。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`VolumeId` (**選用**，`String`)  
指定 Amazon EBS 磁碟區 ID。為`EbsSettings`執行個體指定此值時，也只能指定 `MountDir` 參數。  
磁碟區必須在與 相同的可用區域中建立`HeadNode`。  
3.4.0 AWS ParallelCluster 版中新增了多個可用區域。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`Throughput` (**選用**，`Integer`)  
為磁碟區佈建的輸送量，以 MiB/s 為單位，上限為 1，000 MiB/s。  
此設定僅在 `VolumeType`為 時有效`gp3`。支援的範圍為 125 到 1000，預設值為 125。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`DeletionPolicy` (**選用**，`String`)  
指定在刪除叢集或移除磁碟區時，是否應保留、刪除或快照磁碟區。支援的值為 `Delete`、 `Retain`和 `Snapshot`。預設值為 `Delete`。  
將 [DeletionPolicy](#yaml-SharedStorage-EbsSettings-DeletionPolicy) 設定為 時`Delete`，如果刪除叢集，或使用叢集更新移除磁碟區，則會刪除具有其資料的受管磁碟區。  
如需詳細資訊，請參閱[共用儲存](shared-storage-quotas-integration-v3.md)。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`DeletionPolicy` 從 3.2.0 AWS ParallelCluster 版開始支援 。

### `Raid`


**（選用）** 定義 RAID 磁碟區的組態。

```
Raid:
  Type: string
  NumberOfVolumes: integer
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

#### `Raid` 屬性


`Type` (**必要**，`String`)  
定義 RAID 陣列的類型。支援的值為 "0" （條紋） 和 "1" （鏡像）。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`NumberOfVolumes` (**選用**，`Integer`)  
定義用於建立 RAID 陣列的 Amazon EBS 磁碟區數量。支援的值範圍為 2-5。預設值 （定義`Raid`設定時） 為 2。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `EfsSettings`


**（選用）** Amazon EFS 檔案系統的設定。

```
EfsSettings:
  Encrypted: boolean
  KmsKeyId: string
  EncryptionInTransit: boolean
  IamAuthorization: boolean
  PerformanceMode: string
  ThroughputMode: string
  ProvisionedThroughput: integer
  FileSystemId: string
  DeletionPolicy: string
  AccessPointId: string
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `EfsSettings` 屬性


當 [DeletionPolicy](#yaml-SharedStorage-EfsSettings-DeletionPolicy) 設定為 時`Delete`，如果刪除叢集，或使用叢集更新移除檔案系統，則會刪除包含其資料的受管檔案系統。

如需詳細資訊，請參閱《使用》[共用儲存](shared-storage-quotas-integration-v3.md)中的 。 * AWS ParallelCluster*

`Encrypted` (**選用**，`Boolean`)  
指定 Amazon EFS 檔案系統是否已加密。預設值為 `false`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`KmsKeyId` (**選用**，`String`)  
指定用於加密的自訂 AWS KMS 金鑰。此設定需要將 `Encrypted`設定設為 `true`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`EncryptionInTransit` (**選用**，`Boolean`)  
如果設定為 `true`，則會使用 Transport Layer Security (TLS) 掛載 Amazon EFS 檔案系統。根據預設，這會設定為 `false`。  
如果 AWS Batch 用作排程器，`EncryptionInTransit`則不支援 。
`EncryptionInTransit` 從 3.4.0 版開始 AWS ParallelCluster 新增 。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`IamAuthorization` (**選用**，`Boolean`)  
`IamAuthorization` 從 3.4.0 AWS ParallelCluster 版開始新增 。  
如果設定為 `true`，Amazon EFS 會使用系統的 IAM 身分進行身分驗證。根據預設，這會設定為 `false`。  
如果將 `IamAuthorization` 設定為 `true`，則 `EncryptionInTransit` 也必須設定為 `true`。
如果 AWS Batch 用作排程器，`IamAuthorization`則不支援 。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`PerformanceMode` (**選用**，`String`)  
指定 Amazon EFS 檔案系統的效能模式。支援的值為 `generalPurpose` 和 `maxIO`。預設值為 `generalPurpose`。如需詳細資訊，請參閱《Amazon Elastic File System 使用者指南》中的[效能模式](https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes)。  
我們建議對大部分檔案系統使用 `generalPurpose` 效能模式。  
使用 `maxIO` 效能模式的檔案系統可擴展到更高階的彙總輸出量和每秒操作數。不過，大多數檔案操作的延遲會略高。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`ThroughputMode` (**選用**，`String`)  
指定 Amazon EFS 檔案系統的輸送量模式。支援的值為 `bursting` 和 `provisioned`。預設值為 `bursting`。`provisioned` 使用 時，`ProvisionedThroughput`必須指定 。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`ProvisionedThroughput` （當 `ThroughputMode`為 `provisioned`、 時**必填**`Integer`)  
定義 Amazon EFS 檔案系統的佈建輸送量 （以 MiB/秒為單位），以 MiB/秒為單位。這對應至 *Amazon EFS API 參考*中的 [ProvisionedThroughputInMibps](https://docs.aws.amazon.com/efs/latest/ug/API_CreateFileSystem.html#efs-CreateFileSystem-response-ProvisionedThroughputInMibps) 參數。  
如果使用此參數，則必須將 `ThroughputMode` 設為 `provisioned`。  
支援的範圍為 `1`-`1024`。聯絡 支援以請求增加限制。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`FileSystemId` (**選用**，`String`)  
定義現有檔案系統的 Amazon EFS 檔案系統 ID。  
如果叢集設定為跨越多個可用區域，您必須在叢集使用的每個可用區域中定義檔案系統掛載目標。  
指定此選項時，`MountDir`只能指定 。`EfsSettings` 無法指定其他 。  

**如果您設定此選項，則您定義的檔案系統必須符合下列條件：**
+ 檔案系統在每個叢集的可用區域中都有現有的掛載目標，允許來自 和 `HeadNode`的傳入和傳出 NFS 流量`ComputeNodes`。在[排程](Scheduling-v3.md)/[SlurmQueues](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[聯網/SubnetIds](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking) [SubnetIds](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-SubnetIds)中設定多個可用區域。

  

**若要確保叢集和檔案系統之間允許流量，您可以執行下列其中一項操作：**
  + 設定掛載目標的安全群組，以允許進出叢集子網路 CIDR 或字首清單的流量。
**注意**  
AWS ParallelCluster 會驗證連接埠是否開啟，以及 CIDR 或字首清單是否已設定。 AWS ParallelCluster 不會驗證 CIDR 區塊或字首清單的內容。
  + 使用 / / [`Networking`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking) [`SecurityGroups`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-SecurityGroups)和 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) / [`HeadNode`](HeadNode-v3.md) / [`Networking`](HeadNode-v3.md#HeadNode-v3-Networking) 為叢集節點設定自訂安全群組[`SecurityGroups`](HeadNode-v3.md#yaml-HeadNode-Networking-SecurityGroups)。自訂安全群組必須設定為允許叢集和檔案系統之間的流量。
**注意**  
如果所有叢集節點都使用自訂安全群組，則 AWS ParallelCluster 只會驗證連接埠是否開啟。 AWS ParallelCluster 不會驗證來源和目的地是否已正確設定。
只有在所有運算節點和前端節點都位於相同的可用區域時，才支援 EFS OneZone。EFS OneZone 只能有一個掛載目標。
3.4.0 AWS ParallelCluster 版中新增了多個可用區域。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`DeletionPolicy` (**選用**，`String`)  
指定從叢集移除檔案系統或刪除叢集時，是否應保留或刪除檔案系統。支援的值為 `Delete` 和 `Retain`。預設值為 `Delete`。  
當 [DeletionPolicy](#yaml-SharedStorage-EfsSettings-DeletionPolicy) 設定為 時`Delete`，如果刪除叢集，或使用叢集更新移除檔案系統，則會刪除包含其資料的受管檔案系統。  
如需詳細資訊，請參閱[共用儲存](shared-storage-quotas-integration-v3.md)。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`DeletionPolicy` 從 3.3.0 AWS ParallelCluster 版開始支援 。

`AccessPointId` (**選用**，`String`)  
如果指定此選項，`access point ID`則會掛載 定義的檔案系統進入點，而不是檔案系統根目錄。  
如需詳細資訊，請參閱[共用儲存](shared-storage-quotas-integration-v3.md)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `FsxLustreSettings`


**注意**  
您必須定義 `FsxLustreSettings` `FsxLustre` 是否為 指定 [`StorageType`](#yaml-SharedStorage-StorageType)。

**（選用）** FSx for Lustre 檔案系統的設定。

```
FsxLustreSettings:
  StorageCapacity: integer
  DeploymentType: string
  ImportedFileChunkSize: integer
  DataCompressionType: string
  ExportPath: string
  ImportPath: string
  WeeklyMaintenanceStartTime: string
  AutomaticBackupRetentionDays: integer
  CopyTagsToBackups: boolean
  DailyAutomaticBackupStartTime: string
  PerUnitStorageThroughput: integer
  BackupId: string # BackupId cannot coexist with some of the fields
  KmsKeyId: string
  FileSystemId: string # FileSystemId cannot coexist with other fields
  AutoImportPolicy: string
  DriveCacheType: string
  StorageType: string
  DeletionPolicy: string
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**注意**  
如果 AWS Batch 用作排程器，則 FSx for Lustre 僅適用於叢集前端節點。

### `FsxLustreSettings` 屬性


當 [DeletionPolicy](#yaml-SharedStorage-FsxLustreSettings-DeletionPolicy) 設定為 時`Delete`，如果刪除叢集，或使用叢集更新移除檔案系統，則會刪除包含其資料的受管檔案系統。

如需詳細資訊，請參閱[共用儲存](shared-storage-quotas-integration-v3.md)。

`StorageCapacity` (**必要**，`Integer`)  
設定 FSx for Lustre 檔案系統的儲存容量，以 GiB 為單位。如果您要建立新的檔案系統，`StorageCapacity`則需要 。`StorageCapacity` 如果指定 `FileSystemId` `BackupId`或 ，請勿包含 。  
+ 對於 `SCRATCH_2`、 `PERSISTENT_1`和 `PERSISTENT_2` 部署類型，有效值為 1200 GiB、2400 GiB，增量為 2400 GiB。
+ 對於 `SCRATCH_1` 部署類型，有效值為 1200 GiB、2400 GiB，以及以 3600 GiB 遞增的倍數。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`DeploymentType` (**選用**，`String`)  
指定 FSx for Lustre 檔案系統的部署類型。支援的值為 `SCRATCH_1`、`SCRATCH_2`、`PERSISTENT_1` 和 `PERSISTENT_2`。預設值為 `SCRATCH_2`。  
當您需要暫時儲存`SCRATCH_1`和較短時間處理資料時，請選擇 和 `SCRATCH_2` 部署類型。`SCRATCH_2` 部署類型提供資料傳輸中加密，以及高於 的爆量輸送量容量`SCRATCH_1`。  
選擇長期儲存的`PERSISTENT_1`部署類型，以及非延遲敏感的輸送量導向工作負載。 `PERSISTENT_1`支援傳輸中資料的加密。它可用於 FSx for Lustre 提供的所有 AWS 區域 。  
針對需要最高 IOPS 和輸送量層級的延遲敏感工作負載，選擇`PERSISTENT_2`部署類型。 `PERSISTENT_2`支援 SSD 儲存並提供更高的 `PerUnitStorageThroughput`（最高 1000 MB/s/TiB)。 `PERSISTENT_2` 提供有限數量的 AWS 區域。如需部署類型和`PERSISTENT_2`可用 AWS 區域 清單的詳細資訊，請參閱《Amazon [FSx for Lustre 使用者指南》中的 FSx for Lustre 的檔案系統部署選項](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#lustre-deployment-types)。 * FSx *  
當您從支援[此功能](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html)的 Amazon EC2 執行個體存取 `SCRATCH_2`、 或 `PERSISTENT_2` 部署類型檔案系統時`PERSISTENT_1`，會自動啟用傳輸中的資料加密。  
從支援的 中支援的執行個體類型存取時`PERSISTENT_1`，支援加密 `SCRATCH_2`、 和 `PERSISTENT_2` 部署類型的傳輸中資料 AWS 區域。如需詳細資訊，請參閱《*Amazon FSx for Lustre 使用者指南*》中的[加密傳輸中的資料](https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html)。  
3.2.0 AWS ParallelCluster 版已新增對`PERSISTENT_2`部署類型的支援。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`ImportedFileChunkSize` (**選用**，`Integer`)  
對於從資料儲存庫匯入的檔案，此值會決定存放在單一實體磁碟上每個檔案 （以 MiB 為單位） 的條紋計數和最大資料量。單一檔案可分割範圍的磁碟數上限會受組成檔案系統的磁碟總數所限。  
預設區塊大小是 1,024 MiB (1 GiB)，最大為 512,000 MiB (500 GiB)。Amazon S3 物件大小的上限為 5 TB。  
使用 `PERSISTENT_2` 部署類型的檔案系統不支援此參數。如需如何設定資料儲存庫關聯的指示，請參閱《*Amazon FSx for Lustre 使用者指南*》中的[將檔案系統連結至 S3 儲存貯](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html)體。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`DataCompressionType` (**選用**，`String`)  
設定 FSx for Lustre 檔案系統的資料壓縮組態。支援的值為 `LZ4`。 `LZ4` 表示使用 LZ4 演算法開啟資料壓縮。`DataCompressionType` 未指定 時，資料壓縮會在建立檔案系統時關閉。  
如需詳細資訊，請參閱 [Lustre 資料壓縮](https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html)。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`ExportPath` (**選用**，`String`)  
Amazon S3 中匯出 FSx for Lustre 檔案系統根目錄的路徑。只有在指定 `ImportPath` 參數時，才支援此設定。路徑必須使用與 中指定的相同 Amazon S3 儲存貯體`ImportPath`。您可以提供選用的字首，從 FSx for Lustre 檔案系統匯出新的和變更的資料。如果未提供 `ExportPath`值，FSx for Lustre 會設定預設匯出路徑 `s3://amzn-s3-demo-bucket/FSxLustre[creation-timestamp]`。時間戳記使用 UTC 格式，例如 `s3://amzn-s3-demo-bucket/FSxLustre20181105T222312Z`。  
Amazon S3 匯出儲存貯體和 `ImportPath` 指定的匯入儲存貯體必須相同。如果您只指定儲存貯體名稱，例如 `s3://amzn-s3-demo-bucket`，您會取得檔案系統物件到 Amazon S3 儲存貯體物件的 1：1 映射。此映射表示匯出時會覆寫 Amazon S3 中的輸入資料。如果您在匯出路徑中提供自訂字首，例如 `s3://amzn-s3-demo-bucket/[custom-optional-prefix]`，FSx for Lustre 會將檔案系統的內容匯出到 Amazon S3 儲存貯體中的匯出字首。  
使用 `PERSISTENT_2` 部署類型的檔案系統不支援此參數。如《*Amazon FSx for Lustre 使用者指南*》中的[將檔案系統連結至 S3 儲存貯](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html)體中所述，設定資料儲存庫關聯。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`ImportPath` (**選用**，`String`)  
您用作 FSx for Lustre 檔案系統資料儲存庫的 Amazon S3 儲存貯體路徑 （包括選用字首）。FSx for Lustre 檔案系統的根目錄會映射到您選取的 Amazon S3 儲存貯體根目錄。例如，`s3://amzn-s3-demo-bucket/optional-prefix`。如果您在 Amazon S3 儲存貯體名稱後面指定前綴，檔案系統只會載入具有該前綴的物件索引鍵。  
使用 `PERSISTENT_2` 部署類型的檔案系統不支援此參數。如《*Amazon FSx for Lustre 使用者指南*》中的[將檔案系統連結至 S3 儲存貯](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html)體中所述，設定資料儲存庫關聯。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`WeeklyMaintenanceStartTime` (**選用**，`String`)  
執行每週維護的偏好開始時間。其`"d:HH:MM"`格式為 UTC\$10 時區。對於此格式， `d`是從 1 到 7 的工作日編號，從星期一開始，以星期日結束。此欄位需要引號。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`AutomaticBackupRetentionDays` (**選用**，`Integer`)  
自動備份的保留天數。將此設定為 0 會停用自動備份。支援的範圍為 0-90。預設值為 0。此設定僅適用於 `PERSISTENT_1`和 `PERSISTENT_2` 部署類型。如需詳細資訊，請參閱《*Amazon FSx for Lustre 使用者指南*》中的[使用備份](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html)。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`CopyTagsToBackups` (**選用**，`Boolean`)  
如果為 `true`，請將 FSx for Lustre 檔案系統的標籤複製到備份。此值預設為 `false`。如設為 `true`，則所有檔案系統標籤都會複製到使用者不指定標籤的所有自動和使用者啟動的備份。如果此值為 `true`，而您指定一或多個標籤，只有指定的標籤會複製到備份。如果您在建立使用者起始的備份時指定一或多個標籤，則無論此值為何，都不會從檔案系統複製任何標籤。此設定僅適用於 `PERSISTENT_1`和 `PERSISTENT_2` 部署類型。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`DailyAutomaticBackupStartTime` (**選用**，`String`)  
週期性每日時間，`HH:MM`格式為 。 `HH`是一天中的零填充小時 (00-23)。 `MM`是一小時的零填充分鐘 (00-59)。例如， `05:00`每天指定 5 A.M.。此設定僅適用於 `PERSISTENT_1`和 `PERSISTENT_2` 部署類型。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`PerUnitStorageThroughput` ( **`PERSISTENT_1`和 `PERSISTENT_2` 部署類型為必要**項目，`Integer`)  
以 MB/s/TiB 為單位，說明每 1 TB 儲存的讀取和寫入輸送量。檔案系統輸送量的計算方式是將網路系統儲存容量 (TiB) 乘以 `PerUnitStorageThroughput` (MB/s/TiB)。對於 2.4 TiB 的檔案系統，佈建 50 MB/s/TiB 的 `PerUnitStorageThroughput` 可產生 120 MB/s 的檔案系統輸送量。您需要支付佈建輸送量的費用。這對應到 [PerUnitStorageThroughput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-perunitstoragethroughput) 屬性。  
有效值：  
+ PERSISTENT\$11 SSD 儲存體：50、100、200 MB/s/TiB。
+ PERSISTENT\$11 HDD 儲存：12、40 MB/s/TiB。
+ PERSISTENT\$12 SSD 儲存：125、250、500、1000 MB/s/TiB。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`BackupId` (**選用**，`String`)  
指定要用來從現有備份還原 FSx for Lustre 檔案系統的備份 ID。指定`BackupId`設定時，不得指定 `AutoImportPolicy`、`DeploymentType`、`ExportPath`、`KmsKeyId``ImportPath`、`StorageCapacity`、 和 `ImportedFileChunkSize``PerUnitStorageThroughput`設定。這些設定是從備份讀取。此外，不得指定 `AutoImportPolicy`、`ImportPath`、 `ExportPath`和 `ImportedFileChunkSize`設定。這對應至 [BackupId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-backupid) 屬性。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`KmsKeyId` (**選用**，`String`)  
用於加密 FSx for Lustre 檔案系統資料以用於持久性 FSx for Lustre 檔案系統靜態的 AWS Key Management Service (AWS KMS) 金鑰 ID ID。如果未指定，則會使用 FSx for Lustre 受管金鑰。`SCRATCH_1` 和 `SCRATCH_2` FSx for Lustre 檔案系統一律使用 FSx for Lustre 受管金鑰進行靜態加密。如需詳細資訊，請參閱 *AWS Key Management Service API 參考*中的[加密](https://docs.aws.amazon.com//kms/latest/APIReference/API_Encrypt.html)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`FileSystemId` (**選用**，`String`)  
指定現有 FSx for Lustre 檔案系統的 ID。  
如果指定此選項，`FsxLustreSettings`則只會使用 中的 `MountDir`和 `FileSystemId`設定。`FsxLustreSettings` 會忽略 中的所有其他設定。  
如果使用 AWS Batch 排程器，FSx for Lustre 僅適用於前端節點。
檔案系統必須與允許透過連接埠 988、1021、1022 和 1023 傳入和傳出 TCP 流量的安全群組相關聯。
執行下列其中一項動作，確保叢集和檔案系統之間允許流量：  
+ 設定檔案系統的安全群組，以允許進出叢集子網路 CIDR 或字首清單的流量。
**注意**  
AWS ParallelCluster 會驗證連接埠是否開啟，以及 CIDR 或字首清單是否已設定。 AWS ParallelCluster 不會驗證 CIDR 區塊或字首清單的內容。
+ 使用 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) / / [`Networking`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking) [`SecurityGroups`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-SecurityGroups)和 [`HeadNode`](HeadNode-v3.md) / / [`Networking`](HeadNode-v3.md#HeadNode-v3-Networking) 設定叢集節點的自訂安全群組[`SecurityGroups`](HeadNode-v3.md#yaml-HeadNode-Networking-SecurityGroups)。自訂安全群組必須設定為允許叢集與檔案系統之間的流量。
**注意**  
如果所有叢集節點都使用自訂安全群組，則 AWS ParallelCluster 只會驗證連接埠是否開啟。 AWS ParallelCluster 不會驗證來源和目的地是否已正確設定。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`AutoImportPolicy` (**選用**，`String`)  
當您建立 FSx for Lustre 檔案系統時，您現有的 Amazon S3 物件會顯示為檔案和目錄清單。使用此屬性來選擇當您在連結的 Amazon S3 儲存貯體中新增或修改物件時，FSx for Lustre 如何讓您的檔案和目錄清單保持最新狀態。 `AutoImportPolicy` 可以具有下列值：  
+  `NEW` - 自動匯入已開啟。FSx for Lustre 會自動匯入任何新增至連結 Amazon S3 儲存貯體且目前不存在於 FSx for Lustre 檔案系統中的新物件的目錄清單。
+  `NEW_CHANGED` - 自動匯入已開啟。FSx for Lustre 會自動匯入新增至 Amazon S3 儲存貯體的任何新物件的檔案和目錄清單，以及在您選擇此選項後在 Amazon S3 儲存貯體中變更的任何現有物件。
+  `NEW_CHANGED_DELETED` - 自動匯入已開啟。FSx for Lustre 會自動匯入新增至 Amazon S3 儲存貯體的任何新物件的檔案和目錄清單、Amazon S3 儲存貯體中變更的任何現有物件，以及選擇此選項後在 Amazon S3 儲存貯體中刪除的任何物件。
**注意**  
3.1.1 版中`NEW_CHANGED_DELETED` AWS ParallelCluster 已新增 的支援。
如果`AutoImportPolicy`未指定 ，則自動匯入會關閉。FSx for Lustre 只會在建立檔案系統時，從連結的 Amazon S3 儲存貯體更新檔案和目錄清單。選擇此選項後，FSx for Lustre 不會更新任何新物件或變更物件的檔案和目錄清單。  
如需詳細資訊，請參閱《*Amazon FSx for Lustre 使用者指南*》中的[從 S3 儲存貯體自動匯入更新](https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html)。  
使用 `PERSISTENT_2` 部署類型的檔案系統不支援此參數。如需如何設定資料儲存庫關聯的指示，請參閱《*Amazon FSx for Lustre 使用者指南*》中的[將檔案系統連結至 S3 儲存貯](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html)體。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`DriveCacheType` (**選用**，`String`)  
指定檔案系統具有 SSD 磁碟機快取。只有在`StorageType`設定設為 `HDD`且`DeploymentType`設定設為 時，才能設定此選項`PERSISTENT_1`。這對應到 [DriveCacheType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-drivecachetype) 屬性。如需詳細資訊，請參閱《Amazon [FSx for Lustre 使用者指南》中的 FSx for Lustre 部署選項](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html)。 * FSx *  
唯一有效的值為 `READ`。若要停用 SSD 磁碟機快取，請勿指定 `DriveCacheType`設定。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`StorageType` (**選用**，`String`)  
設定您要建立之 FSx for Lustre 檔案系統的儲存類型。有效值為 `SSD` 和 `HDD`。  
+ 設為 `SSD` 以使用固態硬碟儲存體。
+ 設定為 `HDD` 以使用硬碟儲存。 `PERSISTENT` 部署類型支援 `HDD` 。
預設值為 `SSD`。如需詳細資訊，請參閱《*Amazon FSx for Windows 使用者指南*》中的[儲存類型選項](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options)和《*Amazon FSx for Lustre 使用者指南*》中的[多個儲存選項](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`DeletionPolicy` (**選用**，`String`)  
指定從叢集移除檔案系統或刪除叢集時，是否應保留或刪除檔案系統。支援的值為 `Delete` 和 `Retain`。預設值為 `Delete`。  
當 [DeletionPolicy](#yaml-SharedStorage-FsxLustreSettings-DeletionPolicy) 設定為 時`Delete`，如果刪除叢集，或使用叢集更新移除檔案系統，則會刪除包含其資料的受管檔案系統。  
如需詳細資訊，請參閱[共用儲存](shared-storage-quotas-integration-v3.md)。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`DeletionPolicy` 從 3.3.0 AWS ParallelCluster 版開始支援 。

`DataRepositoryAssociations` (**選用**，`String`)  
DRAs清單 （每個檔案系統最多 8 個）  
每個資料儲存庫關聯必須具有唯一的 Amazon FSx 檔案系統目錄，以及與其相關聯的唯一 S3 儲存貯體或字首。  
您無法同時使用 FsxLustreSettings 中的 [ExportPath](#yaml-SharedStorage-FsxLustreSettings-ExportPath) 和 [ImportPath](#yaml-SharedStorage-FsxLustreSettings-ImportPath) 與使用 DRAs  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`Name` (**必要**，`String`)  
DRA 的名稱。您在更新設定時使用此名稱。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`BatchImportMetaDataOnCreate` (**選用**，`Boolean`)  
布林值標記，指出要匯入中繼資料的匯入資料儲存庫任務是否應在建立資料儲存庫關聯之後執行。如果此標記設定為 `true`，任務便會執行。  
預設值：`false`  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`DataRepositoryPath` (**必要**，`String`)  
將連結至檔案系統之 Amazon S3 資料儲存庫的路徑。路徑可以是 S3 儲存貯體或字首，格式為 `s3://amzn-s3-demo-bucket/myPrefix/`。此路徑指定 S3 資料儲存庫檔案匯出或匯入的位置。  
無法與其他 DRAs重疊  
模式：`^[^\u0000\u0085\u2028\u2029\r\n]{3,4357}$`  
下限：`3`  
上限：`4357`  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`FileSystemPath` (**必要**，`String`)  
Amazon FSx for Lustre 檔案系統上指向高階目錄 (如 `/ns1/`) 或子目錄 (如 `/ns1/subdir/`) 的路徑，此路徑會透過 `DataRepositoryPath` 完整映射。名稱需要以正斜線開頭。兩個資料儲存庫關聯的檔案系統路徑不可重疊。例如，如果某個資料儲存庫已經與檔案系統路徑 `/ns1/` 建立關聯，則您無法將其他資料儲存庫連結到檔案系統路徑 `/ns1/ns2`。  
此路徑指定檔案系統匯出或匯入檔案的位置。此檔案系統目錄只能連結到一個 Amazon S3 儲存貯體，其他 S3 儲存貯體無法連結至該目錄。  
無法與其他 DRAs重疊  
 如果您僅指定一個正斜線 (`/`) 作為檔案系統路徑，則只能將一個資料儲存庫連結至檔案系統。您只能將 "`/`" 指定為與檔案系統關聯之第一個資料儲存庫的檔案系統路徑。
模式：`^[^\u0000\u0085\u2028\u2029\r\n]{1,4096}$`  
下限：`1`  
上限：`4096`  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`ImportedFileChunkSize` (**選用**，`Integer`)  
如果是從資料儲存庫匯入資料，此值會規定單一實體磁碟上存放的每個檔案的分割計數和資料量上限 (MiB)。單一檔案分割分佈所在的磁碟數上限會受組成檔案系統或快取的磁碟總數所限。  
預設區塊大小是 1,024 MiB (1 GiB)，最大為 512,000 MiB (500 GiB)。Amazon S3 物件大小的上限為 5 TB。  
下限：`1`  
上限：`4096`  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`AutoExportPolicy` (**選用**，`Array of strings`)  
清單可以包含下列一或多個值：  
+ `NEW`：將新檔案和目錄新增至檔案系統時，會將新檔案和目錄自動匯出至資料儲存庫。
+ `CHANGED`：對檔案系統上檔案和目錄所做的變更會自動匯出至資料儲存庫。
+ `DELETED`：在檔案系統上刪除檔案和目錄時，會自動刪除資料儲存庫中的檔案和目錄。
您可以為 `AutoExportPolicy` 定義任何事件類型組合。  
上限：`3`  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`AutoImportPolicy` (**選用**，`Array of strings`)  
清單可以包含下列一或多個值：  
+ `NEW`：Amazon FSx 會自動匯入任何新增至連結 S3 儲存貯體且目前不存在於 FSx 檔案系統中的檔案中繼資料。
+ `CHANGED`：Amazon FSx 會在資料儲存庫中的檔案變更時，自動更新檔案中繼資料，並使檔案系統上的現有檔案內容失效。
+ `DELETED`：Amazon FSx 會在檔案從資料儲存庫中刪除時自動刪除檔案系統上的對應檔案。
您可以為 `AutoImportPolicy` 定義任何事件類型組合。  
上限：`3`  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `FsxOntapSettings`


**注意**  
您必須定義 `FsxOntapSettings` `FsxOntap` 是否為 指定 [`StorageType`](#yaml-SharedStorage-StorageType)。

**（選用）** FSx for ONTAP 檔案系統的設定。

```
FsxOntapSettings:
  VolumeId: string
```

### `FsxOntapSettings` 屬性


`VolumeId` (**必要**，`String`)  
指定現有 FSx for ONTAP 系統的磁碟區 ID。

**注意**  
如果使用 AWS Batch 排程器，FSx for ONTAP 僅適用於前端節點。
如果 FSx for ONTAP 部署類型為 `Multi-AZ`，請確定前端節點子網路的路由表已正確設定。
3.2.0 AWS ParallelCluster 版中已新增 FSx for ONTAP 的支援。
檔案系統必須與允許透過連接埠 111、635、2049 和 4046 傳入和傳出 TCP 和 UDP 流量的安全群組相關聯。

執行下列其中一個動作，確保叢集和檔案系統之間允許流量：
+ 設定檔案系統的安全群組，以允許進出叢集子網路 CIDR 或字首清單的流量。
**注意**  
AWS ParallelCluster 會驗證連接埠是否開啟，以及 CIDR 或字首清單是否已設定。 AWS ParallelCluster 不會驗證 CIDR 區塊或字首清單的內容。
+ 使用 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) / / [`Networking`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking) [`SecurityGroups`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-SecurityGroups)和 [`HeadNode`](HeadNode-v3.md) / / [`Networking`](HeadNode-v3.md#HeadNode-v3-Networking) 為叢集節點設定自訂安全群組[`SecurityGroups`](HeadNode-v3.md#yaml-HeadNode-Networking-SecurityGroups)。自訂安全群組必須設定為允許叢集與檔案系統之間的流量。
**注意**  
如果所有叢集節點都使用自訂安全群組，則 AWS ParallelCluster 只會驗證連接埠是否開啟。 AWS ParallelCluster 不會驗證來源和目的地是否已正確設定。

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `FsxOpenZfsSettings`


**注意**  
您必須定義 `FsxOpenZfsSettings` `FsxOpenZfs` 是否為 指定 [`StorageType`](#yaml-SharedStorage-StorageType)。

**（選用）** FSx for OpenZFS 檔案系統的設定。

```
FsxOpenZfsSettings:
  VolumeId: string
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `FsxOpenZfsSettings` 屬性


`VolumeId` (**必要**，`String`)  
指定現有 FSx for OpenZFS 系統的磁碟區 ID。

**注意**  
如果使用 AWS Batch 排程器，FSx for OpenZFS 只能在前端節點上使用。
3.2.0 AWS ParallelCluster 版中已新增對 FSx for OpenZFS 的支援。
檔案系統必須與允許透過連接埠 111、2049、20001、20002 和 20003 傳入和傳出 TCP 和 UDP 流量的安全群組相關聯。

執行下列其中一項動作，確保叢集和檔案系統之間允許流量：
+ 設定檔案系統的安全群組，以允許進出叢集子網路 CIDR 或字首清單的流量。
**注意**  
AWS ParallelCluster 會驗證連接埠是否開啟，以及 CIDR 或字首清單是否已設定。 AWS ParallelCluster 不會驗證 CIDR 區塊或字首清單的內容。
+ 使用 / / [`Networking`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking) [`SecurityGroups`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-SecurityGroups)和 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) / [`HeadNode`](HeadNode-v3.md) / [`Networking`](HeadNode-v3.md#HeadNode-v3-Networking) 設定叢集節點的自訂安全群組[`SecurityGroups`](HeadNode-v3.md#yaml-HeadNode-Networking-SecurityGroups)。自訂安全群組必須設定為允許叢集與檔案系統之間的流量。
**注意**  
如果所有叢集節點都使用自訂安全群組，則 AWS ParallelCluster 只會驗證連接埠是否開啟。 AWS ParallelCluster 不會驗證來源和目的地是否已正確設定。

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `FileCacheSettings`


**注意**  
您必須定義 `FileCacheSettings` `FileCache` 是否為 指定 [`StorageType`](#yaml-SharedStorage-StorageType)。

**（選用）** 檔案快取的設定。

```
FileCacheSettings:
  FileCacheId: string
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `FileCacheSettings` 屬性


`FileCacheId` (**必要**，`String`)  
指定現有檔案快取的檔案快取 ID。

**注意**  
檔案快取不支援 AWS Batch 排程器。
檔案快取的支援已新增至 3.7.0 AWS ParallelCluster 版。
檔案系統必須與允許透過連接埠 988 傳入和傳出 TCP 流量的安全群組相關聯。

執行下列其中一項動作，確保叢集和檔案系統之間允許流量：
+ 設定檔案快取的安全群組，以允許進出叢集子網路 CIDR 或字首清單的流量。
**注意**  
AWS ParallelCluster 會驗證連接埠是否開啟，以及 CIDR 或字首清單是否已設定。 AWS ParallelCluster 不會驗證 CIDR 區塊或字首清單的內容。
+ 使用 / / [`Networking`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking) [`SecurityGroups`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-SecurityGroups)和 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) / [`HeadNode`](HeadNode-v3.md) / [`Networking`](HeadNode-v3.md#HeadNode-v3-Networking) 為叢集節點設定自訂安全群組[`SecurityGroups`](HeadNode-v3.md#yaml-HeadNode-Networking-SecurityGroups)。自訂安全群組必須設定為允許叢集與檔案系統之間的流量。
**注意**  
如果所有叢集節點都使用自訂安全群組，則 AWS ParallelCluster 只會驗證連接埠是否開啟。 AWS ParallelCluster 不會驗證來源和目的地是否已正確設定。

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

# `Iam` 區段


**（選用）** 指定叢集的 IAM 屬性。

```
Iam:
  Roles:
    LambdaFunctionsRole: string
  PermissionsBoundary: string
  ResourcePrefix: string
```

[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `Iam` 屬性


`PermissionsBoundary` (**選用**，`String`)  
用於建立之所有角色的許可界限的 IAM 政策 ARN AWS ParallelCluster。如需詳細資訊，請參閱《 IAM 使用者指南》**中的 [IAM 實體許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。格式是 `arn:${Partition}:iam::${Account}:policy/${PolicyName}`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`Roles` (**選用**)  
指定叢集使用的 IAM 角色設定。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)    
`LambdaFunctionsRole` (**選用**，`String`)  
要使用的 IAM 角色 ARN AWS Lambda。這會覆寫連接至所有 Lambda 函數的預設角色，以支援 AWS CloudFormation 自訂資源。Lambda 需要設定為允許擔任角色的委託人。這不會覆寫用於 的 Lambda 函數角色 AWS Batch。格式是 `arn:${Partition}:iam::${Account}:role/${RoleName}`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`ResourcePrefix` (**選用**)  
指定由 建立之 IAM 資源的路徑或名稱字首 AWS ParallelCluster。  
資源字首必須遵循 [IAM 指定的命名規則](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)：  
+ 名稱最多可包含 30 個字元。
+ 名稱只能是沒有斜線 (`/`) 字元的字串。
+ 路徑最多可達 512 個字元。
+ 路徑必須以斜線 () 開頭和結尾`/`。它可以在開始和結束斜線 (`/`) 之間包含多個斜線 (`/`)。
+ 您可以結合路徑和名稱 `/path/name`。
指定名稱。  

```
Iam:
  ResourcePrefix: my-prefix
```
指定路徑。  

```
Iam:
  ResourcePrefix: /org/dept/team/project/user/
```
指定路徑和名稱。  

```
Iam:
  ResourcePrefix: /org/dept/team/project/user/my-prefix
```
如果您指定 `/my-prefix`，則會傳回錯誤。  

```
Iam:
  ResourcePrefix: /my-prefix
```
傳回組態錯誤。路徑必須有兩個 `/`。字首本身不能有 `/`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

# `LoginNodes` 區段


**注意**  
3.7.0 AWS ParallelCluster 版中`LoginNodes`新增了 的支援。

**（選用）** 指定登入節點集區的組態。

```
LoginNodes:
  Pools:
    - Name: string
      Count: integer
      InstanceType: string
      GracetimePeriod: integer
      Image:
        CustomAmi: string
      Ssh:
        KeyName: string
        AllowedIps: string
      Networking:
        SubnetIds:
          - string
        SecurityGroups:
          - string
        AdditionalSecurityGroups:
          - string
      Dcv:
        Enabled: boolean
        Port: integer
        AllowedIps: string
      CustomActions:
        OnNodeStart:
          Sequence:
            - Script: string
              Args:
                - string
          Script: string
          Args:
            - string
        OnNodeConfigured:
          Sequence:
            - Script: string
              Args:
                - string
          Script: string
          Args:
            - string
        OnNodeUpdated:
          Sequence:
            - Script: string
              Args:
                - string
          Script: string
          Args:
            - string
      Iam:
        InstanceRole: string
        InstanceProfile: string
        AdditionalIamPolicies:
          - Policy: string
```

[更新政策：必須停止叢集中的登入節點，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-update-login-node-cluster)

## `LoginNodes` 屬性


### `Pools` 屬性


定義具有相同資源組態的登入節點群組。從 AWS ParallelCluster 3.11.0 開始，最多可以指定 10 個集區。

```
Pools:
  - Name: string
    Count: integer
    InstanceType: string
    GracetimePeriod: integer
    Image:
      CustomAmi: string
    Ssh:
      KeyName: string
      AllowedIps: string
    Networking:
      SubnetIds:
        - string
      SecurityGroups:
        - string
      AdditionalSecurityGroups:
        - string
    Dcv:
      Enabled: boolean
      Port: integer
      AllowedIps: string
    CustomActions:
      OnNodeStart:
        Sequence:
          - Script: string
            Args:
              - string
        Script: string
        Args:
          - string
      OnNodeConfigured:
        Sequence:
          - Script: string
            Args:
              - string
        Script: string
        Args:
          - string
      OnNodeUpdated:
        Sequence:
          - Script: string
            Args:
              - string
        Script: string
        Args:
          - string
    Iam:
      InstanceRole: string
      InstanceProfile: string
      AdditionalIamPolicies:
        - Policy: string
```

[更新政策：可以新增登入節點集區，但移除集區需要停止叢集中的所有登入節點。](using-pcluster-update-cluster-v3.md#update-policy-add-login-node-pools)

`Name` (**必要** `String`)  
指定`LoginNodes`集區的名稱。這用於標記`LoginNodes`資源。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)   
從 3.11.0 AWS ParallelCluster 版開始，更新政策為：必須停止集區中的登入節點，才能變更此設定以進行更新。

`Count` (**必要** `Integer`)  
指定要保持作用中的登入節點數目。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`InstanceType` (**必要** `String`)  
指定用於登入節點的 Amazon EC2 執行個體類型。執行個體類型的架構必須與用於Slurm`InstanceType`設定的架構相同。  
[更新政策](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)：如果登入節點集區停止，可以變更此設定。  
從 3.11.0 AWS ParallelCluster 版開始，更新政策為：必須停止集區中的登入節點，才能變更此設定以進行更新。

`GracetimePeriod` (**選用** `Integer`)  
指定要停用登入節點的通知與實際停止事件之間的最短時間，以分鐘為單位。的有效值`GracetimePeriod`從 3 到 120 分鐘。預設值為 10 分鐘。  
觸發事件涉及多個 AWS 服務之間的互動。有時，由於 AWS 服務的內部延遲，網路延遲和資訊傳播可能需要一些時間，因此寬限期可能需要比預期更長的時間。
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`Image` (**選用**)  
定義登入節點的映像組態。  

```
Image:
  CustomAmi: String
```  
`CustomAmi` (**選用** `String`)  
指定用來佈建登入節點的自訂 AMI。如果未指定，則值預設為 中指定的值[`HeadNode` 區段](HeadNode-v3.md)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`Ssh` (**選用**)  
定義登入節點的`ssh`組態。  

```
Ssh:
  KeyName: string
  AllowedIps: string
```
從 3.11.0 AWS ParallelCluster 版開始，更新政策為：必須停止集區中的登入節點，才能變更此設定以進行更新。  
`KeyName` (**選用** `String`)  
指定用於登入節點的`ssh`金鑰。如果未指定，則值預設為 中指定的值[`HeadNode` 區段](HeadNode-v3.md)。  
[更新政策：必須停止集區中的登入節點，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-update-login-node-pools)  
已棄用 – 組態參數`LoginNodes/Pools/Ssh/KeyName`已棄用，且將在未來的版本中移除。CLI 現在會在叢集組態中使用時傳回警告訊息。如需詳細資訊，請參閱 [ https://github.com/aws/aws-parallelcluster/issues/6811](https://github.com/aws/aws-parallelcluster/issues/6811)：//。  
`AllowedIps` (**選用** `String`)  
指定 SSH 連線登入集區中節點的 CIDR 格式 IP 範圍或字首清單 ID。預設值是在前端節點組態中定義的 [AllowedIps](HeadNode-v3.md#yaml-HeadNode-Ssh-AllowedIps)，或未指定`0.0.0.0/0`。[`HeadNode` 區段](HeadNode-v3.md)  
[更新政策：必須停止集區中的登入節點，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-update-login-node-pools)  
3.11.0 AWS ParallelCluster 版中新增了對登入節點的 AllowedIps 支援。

`Networking` (**必要**)  
  

```
Networking:
  SubnetIds:
    - string
  SecurityGroups:
    - string
  AdditionalSecurityGroups:
    - string
```
從 3.11.0 AWS ParallelCluster 版開始，更新政策為：必須停止集區中的登入節點，才能變更此設定以進行更新。  
`SubnetIds` (**必要** `[String]`)  
您佈建登入節點集區的現有子網路 ID。您只能定義一個子網路。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`SecurityGroups` (**選用** `[String]`)  
用於登入節點集區的安全群組清單。如果未指定安全群組， 會為您 AWS ParallelCluster 建立安全群組。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`AdditionalSecurityGroups` (**選用** `[String]`)  
用於登入節點集區的其他安全群組清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`Dcv` (**選用**)  
定義在[登入節點](#LoginNodes-v3)上執行的 NICE DCV 伺服器的組態設定。如需詳細資訊，請參閱[透過 Amazon DCV 連接至前端和登入節點](dcv-v3.md)  

```
Dcv:
  Enabled: boolean
  Port: integer
  AllowedIps: string
```
根據預設， 設定的 NICE DCV 連接埠 AWS ParallelCluster 開放給所有 IPv4 地址。只有在您擁有 NICE DCV 工作階段的 URL，並在從 pcluster dcv-connect 傳回 URL 的 30 秒內連線至 NICE DCV 工作階段時，才能連線至 NICE DCV 連接埠。使用 `AllowedIps`設定進一步限制存取具有 CIDR 格式 IP 範圍的 NICE DCV 連接埠，並使用連接埠設定來設定非標準連接埠。
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
3.11.0 AWS ParallelCluster 版中新增了對登入節點上 DCV 的支援。  
`Enabled` (**必要** `Boolean`)  
指定是否在集區中的登入節點上啟用 NICE DCV。預設值為 `false`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
NICE DCV 會自動產生自我簽署憑證，用於保護在登入節點上執行的 NICE DCV 用戶端和 NICE DCV 伺服器之間的流量。若要設定您自己的憑證，請參閱[Amazon DCV HTTPS 憑證](dcv-v3.md#dcv-v3-certificate)。  
`Port` (**選用** `Integer`)  
指定 NICE DCV 的連接埠。預設值為 `8443`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`AllowedIps` (**選用** `String`)  
指定連線至 NICE DCV 的 CIDR 格式 IP 範圍。只有在 AWS ParallelCluster 建立安全群組時，才會使用此設定。預設值為 `0.0.0.0/0`，允許從任何網際網路地址存取。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`CustomActions` (**選用**)  
指定要在登入節點上執行的自訂指令碼。  

```
CustomActions:
  OnNodeStart:
    Sequence:
      - Script: string
        Args: 
          - string
    Script: string
    Args:
      - string
  OnNodeConfigured:
    Sequence:
      - Script: string
        Args:
          - string
    Script: string
    Args:
      - string
  OnNodeUpdated:
    Sequence:
      - Script: string
        Args:
          - string
    Script: string
    Args:
      - string
```
3.11.0 AWS ParallelCluster 版中新增了對登入節點上自訂動作的支援。  
`OnNodeStart` (**選用**)  
在啟動任何節點部署引導動作之前，指定要在[登入節點](#LoginNodes-v3)上執行的單一指令碼或一系列指令碼。如需詳細資訊，請參閱[自訂引導操作](custom-bootstrap-actions-v3.md)。    
`Sequence` (**選用**)  
要執行的指令碼清單。 會以與組態檔案中列出的相同順序 AWS ParallelCluster 執行指令碼，從第一個開始。    
`Script` (**必要** `String`)  
指定要使用的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
`Args` (**選用** `[String]`)  
要傳遞至指令碼的引數清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`Script` (**必要** `String`)  
指定要用於單一指令碼的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
`Args` (**選用** `[String]`)  
要傳遞至單一指令碼的引數清單。  
`OnNodeConfigured` (**選用**)  
指定節點引導程序完成後，要在[登入節點](#LoginNodes-v3)上執行的單一指令碼或一系列指令碼。如需詳細資訊，請參閱[自訂引導操作](custom-bootstrap-actions-v3.md)。    
`Sequence` (**選用**)  
要執行的指令碼清單。 會以與組態檔案中列出的相同順序 AWS ParallelCluster 執行指令碼，從第一個開始。    
`Script` (**必要** `String`)  
指定要使用的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
`Args` (**選用** `[String]`)  
要傳遞至指令碼的引數清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`Script` (**必要** `String`)  
指定要用於單一指令碼的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
`Args` (**選用** `[String]`)  
要傳遞至單一指令碼的引數清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`OnNodeUpdated` (**選用**)  
指定在前端節點更新完成後執行的單一指令碼或一系列指令碼，並將排程器和共用儲存與最新的叢集組態變更保持一致。如需詳細資訊，請參閱[自訂引導操作](custom-bootstrap-actions-v3.md)。    
`Sequence` (**選用**)  
要執行的指令碼清單。 會以與組態檔案中列出的相同順序 AWS ParallelCluster 執行指令碼，從第一個開始。    
`Script` (**必要** `String`)  
指定要使用的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
`Args` (**選用** `[String]`)  
要傳遞至指令碼的引數清單。  
`Script` (**必要** `String`)  
指定要用於單一指令碼的檔案。檔案路徑的開頭可以是 `https://`或 `s3://`。  
`Args` (**選用** `[String]`)  
要傳遞至單一指令碼的引數清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
AWS ParallelCluster 不支援同時包含單一指令碼和`Sequence`相同的自訂動作。

`Iam` (**選用**)  
指定要在登入節點上使用的執行個體角色或執行個體描述檔，以覆寫叢集的預設執行個體角色或執行個體描述檔。  

```
Iam:
  InstanceRole: string
  InstanceProfile: string
  AdditionalIamPolicies:
    - Policy: string
```
從 3.11.0 AWS ParallelCluster 版開始，更新政策為：必須停止集區中的登入節點，才能變更此設定以進行更新。  
`InstanceProfile` (**選用** `String`)  
指定執行個體描述檔以覆寫預設的登入節點執行個體描述檔。您不能同時指定 `InstanceProfile` 和 `InstanceRole`。格式是 `arn:Partition:iam::Account:instance-profile/InstanceProfileName`。如果指定此選項，則無法指定 `InstanceRole`和 `AdditionalIamPolicies`設定。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`InstanceRole` (**選用** `String`)  
指定執行個體角色以覆寫預設的登入節點執行個體角色。您不能同時指定 `InstanceProfile` 和 `InstanceRole`。格式是 `arn:Partition:iam::Account:role/RoleName`。如果指定此選項，則無法指定 `InstanceProfile`和 `AdditionalIamPolicies`設定。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`AdditionalIamPolicies` (**選用**)  

```
AdditionalIamPolicies:
  - Policy: string
```
IAM 政策 Amazon Resource Name (ARN)。  
指定 Amazon EC2 IAM 政策的 Amazon Resource Name (ARNs) 清單。除了 所需的許可之外，此清單還會連接到用於登入節點的根角色 AWS ParallelCluster。  
IAM 政策名稱及其 ARN 不同。無法使用名稱。  
如果指定此選項，則無法指定 `InstanceProfile`和 `InstanceRole`設定。我們建議您使用 ，`AdditionalIamPolicies`因為 `AdditionalIamPolicies` 已新增至 AWS ParallelCluster 所需的許可，而且 `InstanceRole` 必須包含所有必要的許可。隨著新增功能，所需的許可通常會從發行版本變更為發行版本。  
沒有預設值。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)    
`Policy` (**必要** `[String]`)  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

# `Monitoring` 區段


**（選用）** 指定叢集的監控設定。

```
Monitoring:
  Logs:
    CloudWatch:
      Enabled: boolean
      RetentionInDays: integer
      DeletionPolicy: string
    Rotation:
      Enabled: boolean
  Dashboards:
    CloudWatch:
      Enabled: boolean
  DetailedMonitoring: boolean
  Alarms:
   Enabled: boolean
```

[更新政策：更新期間不會分析此設定。](using-pcluster-update-cluster-v3.md#update-policy-setting-ignored-v3)

## `Monitoring` 屬性


`Logs` (**選用**)  
叢集的日誌設定。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)    
`CloudWatch` (**選用**)  
叢集的 CloudWatch Logs 設定。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)    
`Enabled` (**必要**，`Boolean`)  
如果為 `true`，叢集日誌會串流到 CloudWatch Logs。預設值為 `true`。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`RetentionInDays` (**選用**，`Integer`)  
在 CloudWatch Logs 中保留日誌事件的天數。預設值為 180。支援的值為 0、1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827 和 3653。值 0 將使用預設 CloudWatch 日誌保留設定，即永不過期。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`DeletionPolicy` (**選用**，`String`)  
指出是否在刪除叢集時刪除 CloudWatch Logs 上的日誌事件。可能的值為 `Delete` 和 `Retain`。預設值為 `Retain`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
`Rotation` (**選用**)  
叢集的日誌輪換設定。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)    
`Enabled` (**必要**，`Boolean`)  
如果為 `true`，則會啟用日誌輪換。預設值為 `true`。當 AWS ParallelCluster 設定的日誌檔案達到特定大小時，它會輪換並維護單一備份。如需詳細資訊，請參閱[AWS ParallelCluster 設定的日誌輪換](log-rotation-v3.md)。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`Dashboards` (**選用**)  
叢集的儀表板設定。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)    
`CloudWatch` (**選用**)  
叢集的 CloudWatch 儀表板設定。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)    
`Enabled` (**必要**，`Boolean`)  
如果為 `true`，則會啟用 CloudWatch 儀表板。預設值為 `true`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`DetailedMonitoring` (**選用**，`Boolean`)  
如果設定為 `true`，則會為運算機群 Amazon EC2 執行個體啟用詳細監控。啟用時，Amazon EC2 主控台會顯示圖形，以每隔 1 分鐘監控執行個體。啟用此功能時會產生額外的成本。預設值為 `false`。  
如需詳細資訊，請參閱《Amazon EC2 Linux 執行個體使用者指南》**中的[啟用或關閉執行個體的詳細監控](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html)。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)  
`DetailedMonitoring` 從 3.6.0 AWS ParallelCluster 版開始新增 。

`Alarms` (**選用**)  
叢集的 CloudWatch 警示。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)    
`Enabled` (**選用**)  
如果為 `true`，則會建立叢集的 CloudWatch 警示。預設值為 `true`。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)  
從 3.8.0 AWS ParallelCluster 版開始，會針對 Head Node 建立下列警示：Amazon EC2 運作狀態檢查、CPU/Memory/Disk使用率，以及包含所有其他警示的複合警示。

# `Tags` 區段


**（選用），Array **定義由 使用 CloudFormation 並傳播至所有叢集資源的標籤。如需詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[CloudFormation 資源標籤](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)。

```
Tags:
  - Key: string
    Value: string
```

[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `Tags` 屬性


`Key` (**必要**，`String`)  
定義標籤的名稱。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

`Value` (**必要**，`String`)  
定義標籤的值。  
[更新政策：此設定可以在更新期間變更。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

**注意**  
從 AWS ParallelCluster 3.15.0 開始，支援標籤更新，但有下列限制：  
HeadNode 上的 EBS 磁碟區 - 只會保留叢集建立時來自 的標籤；不支援更新此 EBS 磁碟區的標籤。
執行中的節點 - 標籤更新不會套用至執行中的運算或登入節點。

# `AdditionalPackages` 區段


**（選用）** 用來識別要安裝的其他套件。

```
AdditionalPackages:
  IntelSoftware:
    IntelHpcPlatform: boolean
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

## `IntelSoftware`


**（選用）** 定義 Intel Select 解決方案的組態。

```
IntelSoftware:
  IntelHpcPlatform: boolean
```

[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `IntelSoftware` 屬性


` IntelHpcPlatform` (**選用**，`Boolean`)  
如果為 `true`，表示接受 Intel Parallel Studio [的最終使用者授權合約](https://software.intel.com/en-us/articles/end-user-license-agreement)。這會導致 Intel Parallel Studio 安裝在前端節點上並與運算節點共用。這會為前端節點引導所需的時間新增幾分鐘。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
從 3.10.0 AWS ParallelCluster 版開始，不再支援 `IntelHpcPlatform` 參數。

# `DirectoryService` 區段


**注意**  
3.1.1 AWS ParallelCluster 版中`DirectoryService`已新增 的支援。

**（選用）** 支援多個使用者存取之叢集的目錄服務設定。

AWS ParallelCluster 會透過 [System Security Services 協助程式 (SSSD](https://sssd.io/docs/introduction.html)) 支援的輕量型目錄存取通訊協定 (LDAP)，管理支援多個使用者存取叢集的許可。如需詳細資訊，請參閱《 *AWS Directory Service 管理指南*》中的[什麼是 AWS Directory Service？](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html)。

我們建議您透過 TLS/SSL 使用 LDAP （簡短的縮寫 LDAPS)，以確保透過加密管道傳輸任何潛在的敏感資訊。

```
DirectoryService:
  DomainName: string
  DomainAddr: string
  PasswordSecretArn: string
  DomainReadOnlyUser: string
  LdapTlsCaCert: string
  LdapTlsReqCert: string
  LdapAccessFilter: string
  GenerateSshKeysForUsers: boolean
  AdditionalSssdConfigs: dict
```

[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

## `DirectoryService` 屬性


**注意**  
如果您打算在沒有網際網路存取的單一子網路 AWS ParallelCluster 中使用 ，請參閱 [AWS ParallelCluster 在沒有網際網路存取的單一子網路中](aws-parallelcluster-in-a-single-public-subnet-no-internet-v3.md) 以取得其他需求。

`DomainName` (**必要**，`String`)  
您用於身分資訊的 Active Directory (AD) 網域。  
`DomainName` 同時接受完整網域名稱 (FQDN) 和 LDAP 辨別名稱 (DN) 格式。  
+ FQDN 範例： `corp.example.com`
+ LDAP DN 範例： `DC=corp,DC=example,DC=com`
此屬性對應於稱為 的 sssd-ldap 參數`ldap_search_base`。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`DomainAddr` (**必要**，`String`)  
指向做為 LDAP 伺服器的 AD 網域控制器的 URI 或 URIs。URI 對應至稱為 的 SSSD-LDAP 參數`ldap_uri`。此值可以是以逗號分隔的 URIs字串。若要使用 LDAP，您必須將 `ldap://` 新增至每個 URI 的開頭。  
範例值：  

```
ldap://192.0.2.0,ldap://203.0.113.0          # LDAP
ldaps://192.0.2.0,ldaps://203.0.113.0        # LDAPS without support for certificate verification
ldaps://abcdef01234567890.corp.example.com  # LDAPS with support for certificate verification
192.0.2.0,203.0.113.0                        # AWS ParallelCluster uses LDAPS by default
```
如果您使用 LDAPS 進行憑證驗證，URIs必須是主機名稱。  
如果您在沒有憑證驗證或 LDAP 的情況下使用 LDAPS，URIs可以是主機名稱或 IP 地址。  
使用 LDAP over TLS/SSL (LDAPS) 來避免透過未加密的頻道傳輸密碼和其他敏感資訊。如果 AWS ParallelCluster 找不到通訊協定，它會`ldaps://`新增到每個 URI 或主機名稱的開頭。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`PasswordSecretArn` (**必要**，`String`)  
包含`DomainReadOnlyUser`純文字密碼之 AWS Secrets Manager 秘密的 Amazon Resource Name (ARN)。秘密的內容對應至稱為 的 SSSD-LDAP 參數`ldap_default_authtok`。  
當您使用 AWS Secrets Manager 主控台建立秘密時，請務必選取「其他秘密類型」、選取純文字，並只在秘密中包含密碼文字。  
如需如何使用 AWS Secrets Manager 建立秘密的詳細資訊，請參閱[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret)
當 LDAP 用戶端請求身分資訊`DomainReadOnlyUser`時，會使用密碼向 AD 網域進行身分驗證。  
如果使用者具有 的許可[https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html)，`PasswordSecretArn`則會驗證 。如果指定的秘密存在，`PasswordSecretArn`則 有效。如果使用者 IAM 政策不包含 `DescribeSecret`，`PasswordSecretArn`則不會驗證 ，並顯示警告訊息。如需詳細資訊，請參閱[基本 AWS ParallelCluster `pcluster`使用者政策](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-base-user-policy)。  
當秘密的值變更時，*叢集不會*自動更新。若要更新叢集的新秘密值，您必須使用 [`pcluster update-compute-fleet`](pcluster.update-compute-fleet-v3.md)命令停止運算機群，然後從前端節點內執行下列命令。  

```
$ sudo /opt/parallelcluster/scripts/directory_service/update_directory_service_password.sh
```
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`DomainReadOnlyUser` (**必要**，`String`)  
驗證叢集使用者登入時，用於查詢 AD 網域身分資訊的身分。它對應於稱為 的 SSSD-LDAP 參數`ldap_default_bind_dn`。將您的 AD 身分資訊用於此值。  
以節點上特定 LDAP 用戶端所需的格式指定身分：  
+ MicrosoftAD：

  ```
  cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com
  ```
+ SimpleAD：

  ```
  cn=ReadOnlyUser,cn=Users,dc=corp,dc=example,dc=com
  ```
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`LdapTlsCaCert` (**選用**，`String`)  
憑證套件的絕對路徑，其中包含憑證鏈中為網域控制站發出憑證的每個憑證授權單位的憑證。它對應於稱為 的 SSSD-LDAP 參數`ldap_tls_cacert`。  
憑證套件是由以 PEM 格式串連不同憑證的檔案，也稱為 Windows 中的 DER Base64 格式。它用於驗證充當 LDAP 伺服器的 AD 網域控制器身分。  
AWS ParallelCluster 不負責在節點上初始放置憑證。身為叢集管理員，您可以在建立叢集後手動設定前端節點中的憑證，也可以使用[引導指令碼](custom-bootstrap-actions-v3.md)。或者，您可以使用 Amazon Machine Image (AMI)，其中包含在前端節點上設定的憑證。  
[Simple AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_simple_ad.html) 不提供 LDAPS 支援。若要了解如何將 Simple AD 目錄與 整合 AWS ParallelCluster，請參閱 *AWS 安全部落格*中的[如何設定 Simple AD 的 LDAPS 端點](https://aws.amazon.com/blogs/security/how-to-configure-ldaps-endpoint-for-simple-ad/)。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`LdapTlsReqCert` (**選用**，`String`)  
指定要在 TLS 工作階段中對伺服器憑證執行哪些檢查。它對應於稱為 的 SSSD-LDAP 參數`ldap_tls_reqcert`。  
有效值：`never`、`allow`、`try`、`demand` 和 `hard`。  
`never`即使發現憑證有問題， `allow`、 和 也會`try`啟用連線以繼續。  
`demand` 如果找不到憑證問題， 和 會`hard`啟用通訊以繼續。  
如果叢集管理員使用不需要憑證驗證才能成功的值，則會將警告訊息傳回給管理員。基於安全考量，建議您不要停用憑證驗證。  
預設值為 `hard`。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`LdapAccessFilter` (**選用**，`String`)  
指定篩選條件，以限制對使用者子集的目錄存取。此屬性對應至稱為 的 SSSD-LDAP 參數`ldap_access_filter`。您可以使用它來將查詢限制為支援大量使用者的 AD。  
此篩選條件可封鎖使用者存取叢集。不過，這不會影響封鎖使用者的可探索性。  
如果設定此屬性，則 SSSD 參數`access_provider`會由 AWS ParallelCluster `ldap`內部設定為 ，且不得由 / [`DirectoryService`](#DirectoryService-v3) [`AdditionalSssdConfigs`](#yaml-DirectoryService-AdditionalSssdConfigs)設定修改。  
如果省略此屬性，且未在 [`DirectoryService`](#DirectoryService-v3) / 中指定自訂使用者存取權[`AdditionalSssdConfigs`](#yaml-DirectoryService-AdditionalSssdConfigs)，則目錄中的所有使用者都可以存取叢集。  
範例：  

```
"!(cn=SomeUser*)"  # denies access to every user with an alias that starts with "SomeUser"
"(cn=SomeUser*)"   # allows access to every user with alias that starts with "SomeUser"
"memberOf=cn=TeamOne,ou=Users,ou=CORP,dc=corp,dc=example,dc=com" # allows access only to users in group "TeamOne".
```
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`GenerateSshKeysForUsers` (**選用**，`Boolean`)  
定義 是否在前端節點的初始身分驗證之後，立即為叢集使用者 AWS ParallelCluster 產生 SSH 金鑰。  
如果設為 `true`，如果 SSH 金鑰不存在`USER_HOME_DIRECTORY/.ssh/id_rsa`，則在前端節點上進行第一次身分驗證後，每個使用者都會產生 SSH 金鑰並儲存到 。  

對於尚未在前端節點上進行身分驗證的使用者，在下列情況下可能會發生第一次身分驗證：
+ 使用者第一次使用自己的密碼登入前端節點。
+ 在前端節點中，sudoer 第一次切換到使用者： `su USERNAME`
+ 在前端節點中，sudoer 第一次以使用者身分執行命令： `su -u USERNAME COMMAND`
使用者可以使用 SSH 金鑰來後續登入叢集前端節點和運算節點。使用 時 AWS ParallelCluster，設計會停用叢集運算節點的密碼登入。如果使用者尚未登入前端節點，則不會產生 SSH 金鑰，而且使用者將無法登入運算節點。  
預設值為 `true`。  
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`AdditionalSssdConfigs` (**選用**，`Dict`)  
索引鍵/值對的字典，其中包含要寫入叢集執行個體上 SSSD 組態檔案的 SSSD 參數和值。如需 SSSD 組態檔案的完整說明，請參閱 `SSSD`和相關組態檔案的執行個體手冊頁面。  
SSSD 參數和值必須與 SSSD AWS ParallelCluster組態相容，如下列清單所述。  
+ `id_provider` 由 `ldap`內部設定為 AWS ParallelCluster ，且不得修改。
+ `access_provider` 當指定 / AWS ParallelCluster 時， [`LdapAccessFilter`](#yaml-DirectoryService-LdapAccessFilter) 會在`ldap`內部設定為 [`DirectoryService`](#DirectoryService-v3) ，且不得修改此設定。

  如果[`LdapAccessFilter`](#yaml-DirectoryService-LdapAccessFilter)省略 [`DirectoryService`](#DirectoryService-v3) /，也會省略其`access_provider`規格。例如，如果您在 `simple`中`access_provider`將 設定為 [`AdditionalSssdConfigs`](#yaml-DirectoryService-AdditionalSssdConfigs)，則[`LdapAccessFilter`](#yaml-DirectoryService-LdapAccessFilter)不得指定 [`DirectoryService`](#DirectoryService-v3) /。
下列組態程式碼片段是 有效組態的範例`AdditionalSssdConfigs`。  
此範例會啟用 SSSD 日誌的偵錯層級、將搜尋基礎限制為特定組織單位，以及停用登入資料快取。  

```
DirectoryService:
  ...
  AdditionalSssdConfigs:
    debug_level: "0xFFF0"
    ldap_search_base: OU=Users,OU=CORP,DC=corp,DC=example,DC=com
    cache_credentials: False
```
此範例指定 SSSD [https://www.mankier.com/5/sssd-simple](https://www.mankier.com/5/sssd-simple) 的組態`access_provider`。來自 的使用者`EngineeringTeam`可以存取 目錄。在此情況下[`LdapAccessFilter`](#yaml-DirectoryService-LdapAccessFilter)，不得設定 [`DirectoryService`](#DirectoryService-v3) /。  

```
DirectoryService:
  ...
  AdditionalSssdConfigs:
    access_provider: simple
    simple_allow_groups: EngineeringTeam
```
[更新政策：必須停止運算機群，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

# `DeploymentSettings` 區段


**注意**  
`DeploymentSettings` 從 3.4.0 AWS ParallelCluster 版開始新增 。

**（選用）** 指定部署設定組態。

```
DeploymentSettings:
  LambdaFunctionsVpcConfig:
    SecurityGroupIds:
      - string
    SubnetIds:
      - string
  DisableSudoAccessForDefaultUser: Boolean
  DefaultUserHome: string # 'Shared' or 'Local'
```

## `DeploymentSettings` 屬性


### `LambdaFunctionsVpcConfig`


**（選用）** 指定 AWS Lambda 函數 VPC 組態。如需詳細資訊，請參閱[AWS Lambda 中的 VPC 組態 AWS ParallelCluster](lambda-vpc-v3.md)。

```
LambdaFunctionsVpcConfig:
  SecurityGroupIds:
    - string
  SubnetIds:
    - string
```

#### `LambdaFunctionsVpcConfig properties`


 `SecurityGroupIds` (**必要**，`[String]`)  
連接至 Lambda 函數的 Amazon VPC 安全群組 IDs 清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

 `SubnetIds` (**必要**，`[String]`)  
連接至 Lambda 函數的子網路 IDs 清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**注意**  
子網路和安全群組必須位於相同的 VPC 中。

### DisableSudoAccessForDefaultUser 屬性


**注意**  
只有Slurm叢集才支援此組態選項。

（選用） 如果`True`為 ，預設使用者的 sudo 權限將會停用。這適用於叢集中的所有節點。

```
# Main DeploymentSettings section in config yaml(applies to HN, CF and LN)
DeploymentSettings:
  DisableSudoAccessForDefaultUser: True
```

若要更新 的值`DisableSudoAccessForDefaultUser`，您必須停止運算機群和所有登入節點。

[更新政策：必須停止運算機群和登入節點，才能變更此設定以進行更新。](using-pcluster-update-cluster-v3.md#update-policy-compute-login-v3)

### DefaultUserHome 屬性


設為 時`Shared`，叢集將使用預設設定，並透過 在整個叢集中共用預設使用者的目錄`/home/<default user>`。

當設定為 時`Local`，前端節點、登入節點和運算節點將各自具有儲存在 中的個別本機預設使用者目錄`local/home/<default user>`。

# 建置映像組態檔案


AWS ParallelCluster 第 3 版使用 YAML 1.1 檔案來建置映像組態參數。請確認縮排正確，以減少組態錯誤。如需詳細資訊，請參閱位於 的 YAML 1[https://yaml.org/spec/1.1/](https://yaml.org/spec/1.1/).1 規格。

這些組態檔案用於定義如何使用 EC2 Image Builder 建置您的 AWS ParallelCluster AMIs。使用 [`pcluster build-image`](pcluster.build-image-v3.md)命令觸發自訂 AMI 建置程序。如需範例組態檔案，請參閱 https：//[https://github.com/aws/aws-parallelcluster/tree/release-3.0/cli/tests/pcluster/schemas/test\$1imagebuilder\$1schema/test\$1imagebuilder\$1schema](https://github.com/aws/aws-parallelcluster/tree/release-3.0/cli/tests/pcluster/schemas/test_imagebuilder_schema/test_imagebuilder_schema)。

**Topics**
+ [

## 建置映像組態檔案屬性
](#build-image-v3.properties)
+ [

# `Build` 區段
](Build-v3.md)
+ [

# `Image` 區段
](build-Image-v3.md)
+ [

# `DeploymentSettings` 區段
](DeploymentSettings-build-image-v3.md)

## 建置映像組態檔案屬性


`Region` (**選用**，`String`)  
指定 `build-image` 操作 AWS 區域 的 。例如 `us-east-2`。

`CustomS3Bucket` (**選用**，`String`)  
指定在您的 AWS 帳戶中建立的 Amazon S3 儲存貯體名稱，以存放自訂 AMI 建置程序所使用的資源，以及匯出日誌。映像使用的資訊位於映像 config 的自訂儲存貯體中。 會在您建立叢集的每個 AWS 區域中 AWS ParallelCluster 維護一個 Amazon S3 儲存貯體。根據預設，這些 Amazon S3 儲存貯體會命名為 `parallelcluster-hash-v1-DO-NOT-DELETE`。

# `Build` 區段


**（必要）** 指定要在其中建置映像的組態。

```
Build:
  Imds:
    ImdsSupport: string
  InstanceType: string
  SubnetId: string
  ParentImage: string
  Iam:
    InstanceRole: string
    InstanceProfile: string
    CleanupLambdaRole: string
    AdditionalIamPolicies:
      - Policy: string
    PermissionsBoundary: string
  Components:
    - Type: string
      Value: string
  Tags:
    - Key: string
      Value: string
  SecurityGroupIds:
    - string
  UpdateOsPackages:
    Enabled: boolean
  Installation:
    NvidiaSoftware: 
      Enabled: boolean
    LustreClient:
      Enabled: boolean
```

## `Build` 屬性


`InstanceType` (**必要**，`String`)  
指定用於建置映像之執行個體的執行個體類型。

`SubnetId` (**選用**，`String`)  
指定要佈建執行個體以建置映像的現有子網路 ID。提供的子網路需要網際網路存取。請注意，如果建置失敗[，您可能需要修改子網路的 IP 定址屬性](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html)。  
`pcluster build-image` 使用預設 VPC。如果已刪除預設 VPC，可能是使用 AWS Control Tower 或 AWS 登陸區域，則必須指定子網路 ID。
當您指定 SubnetId 時，建議您也指定 SecurityGroupIds 屬性。如果您離開 SecurityGroupIds， AWS ParallelCluster 將使用預設安全群組或依賴指定子網路中的預設行為。當您同時使用兩者時，您會獲得這些優勢：  
+ 精細控制：當您明確定義兩者時，可確保在映像建置程序期間啟動的執行個體放置在正確的子網路中，並擁有建置元件和任何必要服務的精確網路存取 （例如針對建置指令碼存取 S3)。
+ 安全最佳實務：當您定義適當的安全群組時，這有助於限制網路只能存取必要的連接埠和服務，進而增強建置環境的安全性。
+ 避免潛在問題：如果您只依賴預設值，這可能會導致安全群組太開放或太嚴格，這可能會在建置過程中導致問題。

`ParentImage` (**必要**，`String`)  
指定基礎映像。父系映像可以是非 AWS ParallelCluster AMI 或相同版本的官方 AWS ParallelCluster AMI。您無法從不同版本的 使用 AWS ParallelCluster 官方或自訂 AMI AWS ParallelCluster。格式必須是映像的 ARN `arn:Partition:imagebuilder:Region:Account:image/ImageName/ImageVersion`或 AMI ID `ami-12345678`。

`SecurityGroupIds` (**選用**，`[String]`)  
指定映像的安全群組 IDs清單。

### `Imds`


#### `Imds` 屬性


**（選用）** 指定 Amazon EC2 ImageBuilder 建置和測試執行個體中繼資料服務 (IMDS) 設定。

```
Imds:
  ImdsSupport: string
```

`ImdsSupport` (**選用**，`String`)  
指定在 Amazon EC2 ImageBuilder 建置和測試執行個體中支援哪些 IMDS 版本。支援的值為 `v2.0` 和 `v1.0`。預設值為 `v2.0`。  
如果 `ImdsSupport` 設定為 `v1.0`，則同時支援 IMDSv1 和 IMDSv2。  
如果 `ImdsSupport` 設定為 `v2.0`，則僅支援 IMDSv2。  
如需詳細資訊，請參閱《Amazon EC[IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)2。 *Amazon EC2 *  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
從 3.7.0 AWS ParallelCluster 版開始，`ImdsSupport`預設值為 `v2.0`。我們建議您在自訂動作呼叫中`ImdsSupport`將 設定為 `v2.0`，並將 IMDSv1 取代為 IMDSv2。  
3.3.0 AWS ParallelCluster 版[`ImdsSupport`](#yaml-build-image-Build-Imds-ImdsSupport)新增了對 [`Imds`](#Build-v3-Imds) / 的支援。

### `Iam`


#### `Iam` 屬性


(**選用**) 指定映像建置的 IAM 資源。

```
Iam:
  InstanceRole: string
  InstanceProfile: string
  CleanupLambdaRole: string
  AdditionalIamPolicies:
    - Policy: string
  PermissionsBoundary: string
```

`InstanceProfile` (**選用**，`String`)  
指定執行個體描述檔以覆寫 EC2 Image Builder 執行個體的預設執行個體描述檔。 `InstanceProfile` `InstanceRole`和 `AdditionalIamPolicies`無法一起指定。格式是 `arn:Partition:iam::Account:instance-profile/InstanceProfileName`。

`InstanceRole` (**選用**，`String`)  
指定執行個體角色以覆寫 EC2 Image Builder 執行個體的預設執行個體角色。 `InstanceProfile` `InstanceRole`和 `AdditionalIamPolicies`無法一起指定。格式是 `arn:Partition:iam::Account:role/RoleName`。

`CleanupLambdaRole` (**選用**，`String`)  
用於 AWS Lambda 函數的 IAM 角色 ARN，該函數支援 CloudFormation 自訂資源，可在建置完成時移除建置成品。Lambda 需要設定為允許擔任角色的委託人。格式是 `arn:Partition:iam::Account:role/RoleName`。

`AdditionalIamPolicies` (**選用**)  
指定要連接至用於產生自訂 AMI 之 EC2 Image Builder 執行個體的其他 IAM 政策。  

```
AdditionalIamPolicies:
  - Policy: string
```  
`Policy` (**選用**，`[String]`)  
IAM 政策清單。格式是 `arn:Partition:iam::Account:policy/PolicyName`。

`PermissionsBoundary` (**選用**，`String`)  
要用作由 建立之所有角色之許可界限的 IAM 政策 ARN AWS ParallelCluster。如需 IAM 許可界限的詳細資訊，請參閱《[IAM 使用者指南》中的 IAM 實體的許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。 **格式是 `arn:Partition:iam::Account:policy/PolicyName`。

### `Components`


#### `Components` 屬性


(**選用**) 除了預設提供的元件之外，指定要在 AMI 建置程序期間使用的 Amazon EC2 ImageBuilder 元件 AWS ParallelCluster。這類元件可用來自訂 AMI 建置程序。如需詳細資訊，請參閱[AWS ParallelCluster AMI 自訂](custom-ami-v3.md)。

```
Components:
  - Type: string
    Value: string
```

`Type` (**選用**，`String`)  
指定元件的類型值對類型。類型可以是 `arn`或 `script`。

`Value` (**選用**，`String`)  
指定元件的類型值對的值。當類型為 時`arn`，這是 EC2 Image Builder 元件的 ARN。當類型為 時`script`，這是指向指令碼的 https 或 s3 連結，以便在您建立 EC2 Image Builder 元件時使用。

### `Tags`


#### `Tags` 屬性


(**選用**) 指定要在用於建置 AMI 的資源中設定的標籤清單。

```
Tags:
  - Key: string
    Value: string
```

`Key` (**選用**，`String`)  
定義標籤的名稱。

`Value` (**選用**，`String`)  
定義標籤的值。

### `UpdateOsPackages`


#### `UpdateOsPackages` 屬性


(**選用**) 指定是否在安裝 AWS ParallelCluster 軟體堆疊之前更新作業系統。

```
UpdateOsPackages:
  Enabled: boolean
```

`Enabled` (**選用**，`Boolean`)  
如果為 `true`，作業系統會在安裝 AWS ParallelCluster 軟體之前更新並重新啟動。預設值為 `false`。  
啟用 `UpdateOsPackages` 時，所有可用的作業系統套件都會更新，包括核心。身為客戶，您有責任確認更新與更新中未包含的 AMI 相依性相容。  
例如，假設您想要為核心 AWS ParallelCluster 版本 Y.0 和某些元件版本 Z.0 隨附的版本 X.0 建置 AMI。假設可用的更新包含更新的核心版本 Y.1，而不更新元件 Z.0。在啟用 之前`UpdateOsPackages`，您有責任確認元件 Z.0 支援核心 Y.1。

### `Installation`


#### `Installation` 屬性


**（選用）** 指定要在映像上安裝的其他軟體。

```
Installation:
  NvidiaSoftware: 
    Enabled: boolean
  LustreClient:
    Enabled: boolean
```

`NvidiaSoftware` 屬性 (**選用**)  
指定要安裝的 Nvidia 軟體。  

```
NvidiaSoftware: 
    Enabled: boolean
```  
`Enabled` (**選用**，`boolean`)  
如果為 `true`，則會安裝 Nvidia GPU 驅動程式和 CUDA。預設值為 `false`。

`LustreClient` 屬性 (**選用**)  
指定將安裝 Amazon FSx Lustre 用戶端。  

```
LustreClient:
    Enabled: boolean
```  
`Enabled` (**選用**，`boolean`)  
如果為 `true`，則會安裝 Lustre 用戶端。預設值為 `true`。

# `Image` 區段


**（選用）** 定義映像建置的映像屬性。

```
Image:
  Name: string
  RootVolume:
    Size: integer
    Encrypted: boolean
    KmsKeyId: string
  Tags:
    - Key: string
      Value: string
```

## `Image` 屬性


`Name` (**選用**，`String`)  
指定 AMI 的名稱。如果未指定，則會使用呼叫 [`pcluster build-image`](pcluster.build-image-v3.md)命令時使用的名稱。

### `Tags`


#### `Tags` 屬性


(**選用**) 指定影像的鍵/值對。

```
Tags:
  - Key: string
    Value: string
```

`Key` (**選用**，`String`)  
定義標籤的名稱。

`Value` (**選用**，`String`)  
定義標籤的值。

### `RootVolume`


#### `RootVolume` 屬性


(**選用**) 指定映像根磁碟區的屬性。

```
RootVolume:
  Size: integer
  Encrypted: boolean
  KmsKeyId: string
```

`Size` (**選用**，`Integer`)  
指定映像根磁碟區的大小，以 GiB 為單位。預設大小為[`ParentImage`](Build-v3.md#yaml-build-image-Build-ParentImage)加 27 GiB 的大小。

`Encrypted` (**選用**，`Boolean`)  
指定磁碟區是否已加密。預設值為 `false`。

`KmsKeyId` (**選用**，`String`)  
指定用於加密磁碟區的 AWS KMS 金鑰 ARN。格式為「`arn:Partition:kms:Region:Account:key/KeyId`。

# `DeploymentSettings` 區段


**注意**  
`DeploymentSettings` 從 3.4.0 AWS ParallelCluster 版開始新增 。

**（選用）** 指定部署設定組態。

```
DeploymentSettings:
  LambdaFunctionsVpcConfig:
    SecurityGroupIds:
      - string
    SubnetIds:
      - string
```

## `DeploymentSettings` 屬性


### `LambdaFunctionsVpcConfig`


**（選用）** 指定 AWS Lambda 函數 VPC 組態。如需詳細資訊，請參閱[AWS Lambda 中的 VPC 組態 AWS ParallelCluster](lambda-vpc-v3.md)。

```
LambdaFunctionsVpcConfig:
  SecurityGroupIds:
    - string
  SubnetIds:
    - string
```

#### `LambdaFunctionsVpcConfig properties`


 `SecurityGroupIds` (**必要**，`[String]`)  
連接至 Lambda 函數的 Amazon VPC 安全群組 IDs 清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

 `SubnetIds` (**必要**，`[String]`)  
連接至 Lambda 函數的子網路 IDs 清單。  
[更新政策：如果變更此設定，則不允許更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**注意**  
子網路和安全群組必須位於相同的 VPC 中。