

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ビルドイメージの設定ファイル
<a name="image-builder-configuration-file-v3"></a>

AWS ParallelCluster バージョン 3 では、ビルドイメージ設定パラメータに YAML 1.1 ファイルを使用します。設定エラーを減らすために、インデントが正しいことを確認してください。詳細については、[https://yaml.org/spec/1.1/](https://yaml.org/spec/1.1/) の「YAML 1.1 仕様」を参照してください。

これらの設定ファイルは、EC2 Image Builder を使用して AWS ParallelCluster AMIsを構築する方法を定義するために使用されます。カスタム AMI の構築プロセスは、[`pcluster build-image`](pcluster.build-image-v3.md) コマンドを使って起動します。設定ファイルの例については、[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)

## ビルドイメージの設定ファイルプロパティ
<a name="build-image-v3.properties"></a>

`Region` (**オプション**、`String`)  
`build-image` オペレーション AWS リージョン の を指定します。例えば、`us-east-2`。

`CustomS3Bucket` (**オプション**、`String`)  
カスタム AMI ビルドプロセスで使用されるリソースを保存し、ログをエクスポートするために AWS アカウントで作成される Amazon S3 バケットの名前を指定します。イメージで使用される情報は、イメージ config. のカスタムバケットにあります。クラスターを作成する各 AWS リージョンに 1 つの Amazon S3 バケットが AWS ParallelCluster 維持されます。デフォルトでは、これらの Amazon S3 バケットには `parallelcluster-hash-v1-DO-NOT-DELETE` という名前が付けられます。

# `Build` セクション
<a name="Build-v3"></a>

**(必須)** イメージが構築される構成を指定します。

```
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` のプロパティ
<a name="Build-v3.properties"></a>

`InstanceType` **(必須)**、`String`)  
イメージのビルドに使用するインスタンスのインスタンスタイプを指定します。

`SubnetId` (**オプション**、`String`)  
イメージを構築するためにインスタンスをプロビジョニングする既存のサブネットの ID を指定します。提供されるサブネットには、インターネットへのアクセスが必要です。ビルドが失敗した場合[、サブネットの IP アドレス属性を変更](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html)する必要がある場合があります。  
`pcluster build-image` はデフォルトの VPC を使用します。 AWS Control Tower または AWS Landing Zone を使用してデフォルトの VPC が削除された場合は、サブネット ID を指定する必要があります。
SubnetId を指定する場合は、SecurityGroupIds プロパティも指定することをお勧めします。SecurityGroupIds を除外すると、 AWS ParallelCluster はデフォルトのセキュリティグループを使用するか、指定されたサブネット内のデフォルトの動作に依存します。両方を使用すると、次の利点があります。  
+ きめ細かな制御: 両方を明示的に定義すると、イメージビルドプロセス中に起動されたインスタンスが正しいサブネットに配置され、ビルドコンポーネントと必要なサービス (ビルドスクリプトの S3 へのアクセスなど) に必要な正確なネットワークアクセスが確保されます。
+ セキュリティのベストプラクティス: 適切なセキュリティグループを定義すると、必要なポートとサービスのみにネットワークアクセスを制限できるため、ビルド環境のセキュリティが向上します。
+ 潜在的な問題の回避: デフォルトのみに依存すると、セキュリティグループが開かれすぎたり制限が厳しくなり、ビルドプロセス中に問題が発生する可能性があります。

`ParentImage` **(必須)**、`String`)  
ベースイメージを指定します。親イメージは、非 AWS ParallelCluster AMI でも、同じバージョンの公式 AMI AWS ParallelCluster でもかまいません。別のバージョンの AWS ParallelCluster 公式またはカスタム AMI を使用することはできません AWS ParallelCluster。フォーマットは、イメージ `arn:Partition:imagebuilder:Region:Account:image/ImageName/ImageVersion` の ARN または AMI ID `ami-12345678` のいずれかでなければなりません。

`SecurityGroupIds` (**オプション**、`[String]`)  
イメージのセキュリティグループ ID のリストを指定します。

### `Imds`
<a name="Build-v3-Imds"></a>

#### `Imds` のプロパティ
<a name="Build-v3-Imds.properties"></a>

**(オプション)** Amazon EC2 ImageBuilder ビルドおよびテストインスタンスメタデータサービス (IMDS) の設定を指定します。

```
Imds:
  ImdsSupport: string
```

`ImdsSupport` (**オプション**、`String`)  
EC2 ImageBuilder ビルドとテストインスタンスで、どの IMDS バージョンをサポートするかを指定します。サポートされている値は`v2.0` および `v1.0` です。デフォルト値は `v2.0` です。  
`ImdsSupport` が `v1.0` に設定されている場合、IMDSv1 と IMDSv2 の両方がサポートされます。  
`ImdsSupport` が `v2.0` に設定されている場合、IMDSv2 のみがサポートされます。  
詳細については、「*Linux インスタンス用 Amazon EC2 ユーザーガイド*」の「[IMDSv2 の使用](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)」を参照してください。  
[更新ポリシー: この設定が変更された場合、更新は許可されません。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
 AWS ParallelCluster バージョン 3.7.0 以降、`ImdsSupport`デフォルト値は です`v2.0`。`ImdsSupport` を `v2.0` に設定し、カスタムアクション呼び出しにおいて、IMDSv1 を IMDSv2 に置き換えることをお勧めします。  
 AWS ParallelCluster バージョン [`Imds`](#Build-v3-Imds) 3.3.0 で / のサポートが追加され[`ImdsSupport`](#yaml-build-image-Build-Imds-ImdsSupport)ました。

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

#### `Iam` のプロパティ
<a name="Build-v3-Iam.properties"></a>

(**オプション**) イメージビルドの 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`)  
ビルド完了時にビルドアーティファクトを削除する CloudFormation カスタムリソースをバックアップする AWS Lambda 関数に使用する IAM ロールの ARN。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`)  
 AWS ParallelClusterで作成されたすべてのロールのパーミッションバウンダリとして使用する IAM ポリシーの ARN です。許可の境界の詳細については、「IAM ユーザーガイド**」の「[IAM エンティティの許可の境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。形式は `arn:Partition:iam::Account:policy/PolicyName` です。

### `Components`
<a name="Build-v3-Components"></a>

#### `Components` のプロパティ
<a name="Build-v3-Components.properties"></a>

(**オプション**) 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 です。type が の場合`script`、これは EC2 Image Builder コンポーネントの作成時に使用するスクリプトを指す https または s3 リンクです。

### `Tags`
<a name="Build-v3-Tags"></a>

#### `Tags` のプロパティ
<a name="Build-v3-Tags.properties"></a>

(**オプション**) AMI を構築するために使用されるリソースに設定するタグのリストを指定します。

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

`Key` (**オプション**、`String`)  
タグの名前を定義します。

`Value` (**オプション**、`String`)  
タグの値を定義します。

### `UpdateOsPackages`
<a name="Build-v3-UpdateOsPackages"></a>

#### `UpdateOsPackages` のプロパティ
<a name="Build-v3-UpdateOsPackages.properties"></a>

(**オプション**) AWS ParallelCluster ソフトウェアスタックをインストールする前にオペレーティングシステムを更新するかどうかを指定します。

```
UpdateOsPackages:
  Enabled: boolean
```

`Enabled` (**オプション**、`Boolean`)  
の場合`true`、 AWS ParallelCluster ソフトウェアをインストールする前に OS が更新され、再起動されます。デフォルトは `false` です。  
`UpdateOsPackages` を有効にすると、カーネルを含め、使用可能なすべての OS パッケージが更新されます。お客様は、更新が更新に含まれていない AMI 依存関係と互換性があることを確認する責任があります。  
たとえば、カーネル AWS ParallelCluster バージョン Y.0 と一部のコンポーネントバージョン Z.0 に同梱されているバージョン X.0 用の AMI を構築するとします。利用可能な更新に、更新済みのカーネルバージョン Y.1 が含まれており、コンポーネント Z.0 への更新は行われていないとします。`UpdateOsPackages` を有効にする前に、コンポーネント Z.0 がカーネル Y.1 をサポートしていることを確認する責任があります。

### `Installation`
<a name="Build-v3-Installation"></a>

#### `Installation` のプロパティ
<a name="Build-v3-Installation.properties"></a>

**(オプション)** イメージにインストールする追加のソフトウェアを指定します。

```
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` セクション
<a name="build-Image-v3"></a>

**(オプション)** イメージビルドのイメージプロパティを定義します。

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

## `Image` のプロパティ
<a name="build-Image-v3.properties"></a>

`Name` (**オプション**、`String`)  
AMI の名前を指定します。指定されていない場合は、[`pcluster build-image`](pcluster.build-image-v3.md) コマンドの呼び出し時の名前が使用されます。

### `Tags`
<a name="build-Image-v3-Tags"></a>

#### `Tags` のプロパティ
<a name="build-Image-v3-Tags.properties"></a>

(**オプション**) イメージのキーバリューのペアを指定します。

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

`Key` (**オプション**、`String`)  
タグの名前を定義します。

`Value` (**オプション**、`String`)  
タグの値を定義します。

### `RootVolume`
<a name="build-Image-v3-RootVolume"></a>

#### `RootVolume` のプロパティ
<a name="build-Image-v3-RootVolume.properties"></a>

(**オプション**) イメージのルートボリュームのプロパティを指定します。

```
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` セクション
<a name="DeploymentSettings-build-image-v3"></a>

**注記**  
`DeploymentSettings` バージョン 3.4.0 AWS ParallelCluster 以降で が追加されました。

**(オプション)** デプロイ設定を指定します。

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

## `DeploymentSettings` のプロパティ
<a name="DeploymentSettings-build-image-v3.properties"></a>

### `LambdaFunctionsVpcConfig`
<a name="DeploymentSettings-build-image-v3-LambdaFunctionsVpcConfig"></a>

**(オプション)** AWS Lambda 関数 VPC 設定を指定します。詳細については、「[AWS Lambda での VPC 設定 AWS ParallelCluster](lambda-vpc-v3.md)」を参照してください。

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

#### `LambdaFunctionsVpcConfig properties`
<a name="DeploymentSettings-build-image-v3-LambdaFunctionsVpcConfig.properties"></a>

 `SecurityGroupIds` (**必須**、`[String]`)  
Lambda 関数にアタッチされている Amazon VPC セキュリティグループ ID のリスト。  
[更新ポリシー: この設定が変更された場合、更新は許可されません。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

 `SubnetIds` (**必須**、`[String]`)  
Lambda 関数にアタッチされているサブネット ID のリスト。  
[更新ポリシー: この設定が変更された場合、更新は許可されません。](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)

**注記**  
サブネットとセキュリティグループは、同じ VPC にある必要があります。