

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# `HeadNode` 部分
<a name="HeadNode-v3"></a>

**（必需）**指定头节点的配置。

```
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` 属性
<a name="HeadNode-v3.properties"></a>

`InstanceType`（**必填**，`String`）  
指定头节点的实例类型。  
指定用于头节点的 Amazon EC2 实例类型。实例类型的架构必须与用于 Amazon Batch [`InstanceType`](Scheduling-v3.md#yaml-Scheduling-AwsBatchQueues-ComputeResources-InstanceTypes)或Slurm[`InstanceType`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-InstanceType)设置的架构相同。  
Amazon ParallelCluster 不支持该`HeadNode`设置的以下实例类型。  
+ hpc6id
如果您定义一个 p4d 实例类型或其他具有多个网络接口或网络接口卡的实例类型，则必须[`ElasticIp`](#yaml-HeadNode-Networking-ElasticIp)将设置为`true`以提供公共访问权限。 Amazon public IPs 只能分配给使用单个网络接口启动的实例。对于这种情况，我们建议您使用 [NAT 网关](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-nat-gateway.html)为集群计算节点提供公有访问权限。有关更多信息，请参阅《适用于 *Linux 实例的 Amazon EC2 用户指南》中的 “在实例*[启动期间分配公有 IPv4 地址](https://docs.amazonaws.cn/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.amazonaws.cn/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values)。  
[更新策略：如果更改此设置，则不允许更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`SharedStorageType`（**可选**，`String`）  
指定用于内部共享数据的存储类型。内部共享的数据包括 Amazon ParallelCluster 用于管理群集的数据，以及用于挂载共享文件系统卷的默认共享数据（`/home`如果未在挂载目录中指定）。[`SharedStorage` 部分](SharedStorage-v3.md)有关内部共享数据的更多详细信息，请参阅 [Amazon 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，以最大限度地提高存放小文件和安装过程 read/write 的可能性。选择 EFS 进行扩展。

## `Networking`
<a name="HeadNode-v3-Networking"></a>

**（必需）**定义头节点的网络配置。

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

[更新策略：如果更改此设置，则不允许更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `Networking` 属性
<a name="HeadNode-v3-Networking.properties"></a>

`SubnetId`（**必需**，`String`）  
指定要在其中预置头节点的现有子网的 ID。  
[更新策略：如果更改此设置，则不允许更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`ElasticIp`（**可选**，`String`）  
创建弹性 IP 地址或将弹性 IP 地址分配给头节点。支持的值为 `true`、`false` 或现有弹性 IP 地址的 ID。默认值为 `false`。  
[更新策略：如果更改此设置，则不允许更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

`SecurityGroups`（**可选**，`[String]`）  
用于头节点的 Amazon VPC 安全组 ID 的列表。如果不包含此属性，则它们将替换 Amazon 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`
<a name="HeadNode-v3-Ssh"></a>

**（可选）**定义头节点的 SSH 访问配置。

```
Ssh:
      KeyName: {{string}}
      AllowedIps: {{string}}
```

[更新策略：可以在更新期间更改此设置。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

### `Ssh` 属性
<a name="HeadNode-v3-Ssh.properties"></a>

`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`
<a name="HeadNode-v3-LocalStorage"></a>

**（可选）**定义头节点的本地存储配置。

```
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` 属性
<a name="HeadNode-v3-LocalStorage.properties"></a>

`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`）  
指定头节点根卷大小，以吉字节 (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`）  
指定 A [mazon EBS 卷类型](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)。支持的值为 `gp2`、`gp3`、`io1`、`io2`、`sc1`、`st1` 和 `standard`。默认值为 `gp3`。  
有关更多信息，请参阅《Amazon EC2 用户指南》中的 [Amazon EBS 卷类型](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)。  
[更新策略：如果更改此设置，则不允许更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
`Iops`（**可选**，`Integer`）  
定义 `io1`、`io2` 和 `gp3` 类型卷的 IOPS 数。  
默认值、支持的值以及 `volume_size`/`volume_iops` 比率因 `VolumeType` 和 `Size` 而异。  
[更新策略：如果更改此设置，则不允许更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)    
`VolumeType` = `io1`  
默认值：`Iops` = 100  
支持的值：`Iops` = 100–64000 †  
最大 `Iops`/`Size` 比率 = 50 IOPS/GiB。5000 IOPS 需要至少 100 GiB 的 `Size`。  
`VolumeType` = `io2`  
默认值：`Iops` = 100  
支持的值：`Iops` = 100–64000（`io2` Block Express 卷为 256000）†  
最大 `Iops`/`Size` 比率 = 500 IOPS/GiB。5000 IOPS 需要至少 10 GiB 的 `Size`。  
`VolumeType` = `gp3`  
默认值：`Iops` = 3000  
支持的值：`Iops` = 3000–16000  
最大 `Iops`/`Size` 比率 = 500 IOPS/GiB。5000 IOPS 需要至少 10 GiB 的 `Size`。
† 只有在配置超过 32,000 IOPS 的 [Nitro 系统上构建的实例](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)才能保证最大 IOPS。其他实例保证最高为 32000 IOPS。除非您[修改`io1`卷，否则较旧的卷可能无法达到最大](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ebs-modify-volume.html)性能。 `io2`Block Express 卷在 `R5b` 实例类型上支持高达 256000 的 `Iops` 值。有关更多信息，请参阅《Amazon EC2 用户指南》**中的 [`io2`Block Express 卷](https://docs.amazonaws.cn/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，则该`Iops`设置 MiB/s 必须至少为 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.amazonaws.cn/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`
<a name="HeadNode-v3-Dcv"></a>

**（可选）**定义在头节点上运行的 Amazon DCV 服务器的配置设置。

有关更多信息，请参阅 [通过 Amazon DCV 连接到头节点和登录节点](dcv-v3.md)。

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

**重要**  
默认情况下，设置的 Amazon DCV 端口对所有 IPv4 地址开放。 Amazon ParallelCluster 但是，只有当您具有 Amazon DCV 会话的 URL 时，才能连接到 Amazon DCV 端口，并应在 `pcluster dcv-connect` 返回 URL 后的 30 秒内连接到 Amazon DCV 会话。请使用 `AllowedIps` 设置进一步限制对具有 CIDR 格式 IP 范围的 Amazon DCV 端口的访问，并使用 `Port` 设置来设置非标准端口。

[更新策略：如果更改此设置，则不允许更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `Dcv` 属性
<a name="HeadNode-v3-Dcv.properties"></a>

`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 范围。此设置仅在 Amazon ParallelCluster 创建安全组时使用。默认值是 `0.0.0.0/0`，允许从任何 Internet 地址访问。  
[更新策略：可以在更新期间更改此设置。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

## `CustomActions`
<a name="HeadNode-v3-CustomActions"></a>

**（可选）**指定要在头节点上运行的自定义脚本。

```
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` 属性
<a name="HeadNode-v3-CustomActions.properties"></a>

`OnNodeStart`（**可选**）  
指定要在启动任何节点部署引导操作之前在头节点上运行的单个脚本或一系列脚本。有关更多信息，请参阅[自定义引导操作](custom-bootstrap-actions-v3.md)。    
`Sequence`（**可选**）  
要运行的脚本列表。 Amazon 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`是从 Amazon ParallelCluster 3.4.0 开始添加的。  
`Sequence`是从 3.6.0 Amazon ParallelCluster 版本开始添加的。指定后`Sequence`，您可以列出一个自定义操作的多个脚本。 Amazon ParallelCluster 继续支持使用单个脚本配置自定义操作，不包括脚本`Sequence`。  
Amazon ParallelCluster 不支持同时包含单个脚本和`Sequence`同一个自定义操作。

## `Iam`
<a name="HeadNode-v3-Iam"></a>

**（可选）**指定要在头节点上使用的实例角色或实例配置文件，用于覆盖集群的默认实例角色或实例配置文件。

```
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` 属性
<a name="HeadNode-v3-Iam.properties"></a>

`InstanceProfile`（**可选**，`String`）  
指定用于覆盖默认头节点实例配置文件的实例配置文件。您不能同时指定 `InstanceProfile` 和 `InstanceRole`。格式为 `arn:{{Partition}}:iam::{{Account}}:instance-profile/{{InstanceProfileName}}`。  
如果指定此设置，则不能指定 `S3Access` 和 `AdditionalIamPolicies` 设置。  
我们建议您指定 `S3Access` 和 `AdditionalIamPolicies` 设置中的一个或两个，因为添加到 Amazon 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` 设置中的一个或两个，因为添加到 Amazon ParallelCluster 中的功能通常需要新权限。  
[更新策略：可以在更新期间更改此设置。](using-pcluster-update-cluster-v3.md#update-policy-setting-supported-v3)

### `S3Access`
<a name="HeadNode-v3-Iam-S3Access.properties"></a>

`S3Access`（**可选**）  
指定存储桶。此设置用于生成针对存储桶授予指定访问权限的策略。  
如果指定此设置，则不能指定 `InstanceProfile` 和 `InstanceRole` 设置。  
我们建议您指定 `S3Access` 和 `AdditionalIamPolicies` 设置中的一个或两个，因为添加到 Amazon 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`
<a name="HeadNode-v3-Iam-AdditionalIamPolicies.properties"></a>

`AdditionalIamPolicies`（**可选**）  
指定 Amazon EC2 的 IAM 策略的 Amazon 资源名称 (ARN) 列表。除了所需的权限外，此列表还附在用于头节点的根角色上 Amazon ParallelCluster。  
IAM 策略名称及其 ARN 不相同。不能使用名称。  
如果指定此设置，则不能指定 `InstanceProfile` 和 `InstanceRole` 设置。  
我们建议您使用 `AdditionalIamPolicies`，因为 `AdditionalIamPolicies` 已经添加到 Amazon 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`
<a name="HeadNode-v3-Imds"></a>

**（可选）**指定实例元数据服务 (IMDS) 的属性。有关更多信息，[请参阅 *Amazon EC2 用户指南*中的实例元数据服务版本 2 的工作原理](https://docs.amazonaws.cn/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` 属性
<a name="HeadNode-v3-Imds.properties"></a>

`Secured`（**可选**，`Boolean`）  
如果为 `true`，则仅允许一部分超级用户访问头节点的 IMDS（以及实例配置文件凭证）。  
如果为 `false`，则头节点中的每个用户都可以访问头节点的 IMDS。  

允许以下用户访问头节点的 IMDS：
+ 根用户
+ 集群管理用户（默认为 `pc-cluster-admin`）
+ 操作系统特定的默认用户（`ec2-user`在 Amazon Linux 2 和 RedHat Ubuntu 18.04 `ubuntu` 上。
默认值为 `true`。  
`default`用户负责确保集群拥有与 Amazon 资源交互所需的权限。如果您禁用`default`用户 IMDS 访问权限，则 Amazon ParallelCluster 无法管理计算节点并停止工作。请勿禁用 `default` 用户 IMDS 访问权限。  
向用户授予头节点 IMDS 的访问权限后，他们可以使用[头节点的实例配置文件](iam-roles-in-parallelcluster-v3.md)中包含的权限。例如，他们可以使用这些权限来启动 Amazon EC2 实例，或读取为集群配置的用于进行身份验证的 AD 域的密码。  
要限制 IMDS 的访问权限，请 Amazon ParallelCluster 管理一连串的。`iptables`  
具有 `sudo` 访问权限的集群用户可以通过运行以下命令，对其他单独用户（包括 `default` 用户）有选择地启用或禁用对头节点 IMDS 的访问权限：  

```
$ 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`
<a name="HeadNode-v3-Image"></a>

**（可选）**为头节点定义自定义映像。

```
Image:
     CustomAmi: {{string}}
```

[更新策略：如果更改此设置，则不允许更新。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

### `Image` 属性
<a name="HeadNode-v3-Image.properties"></a>

`CustomAmi`（**可选**，`String`）  
指定要用于头节点的自定义 AMI（而非默认 AMI）的 ID。有关更多信息，请参阅 [Amazon 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)