

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 빌드 이미지 구성 파일
<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 리전에 하나의 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 랜딩 영역을 사용하여 기본 VPC를 삭제한 경우 서브넷 ID를 지정해야 합니다.
SubnetId를 지정할 때는 SecurityGroupIds 속성도 지정하는 것이 좋습니다. SecurityGroupIds를 그대로 두면 AWS ParallelCluster는 기본 보안 그룹을 사용하거나 지정된 서브넷 내의 기본 동작에 의존합니다. 둘 다 사용하면 다음과 같은 이점을 얻을 수 있습니다.  
+ 세분화된 제어: 두 가지를 모두 명시적으로 정의하면 이미지 빌드 프로세스 중에 시작된 인스턴스가 올바른 서브넷에 배치되고 빌드 구성 요소 및 필요한 서비스(예: 빌드 스크립트를 위한 S3에 대한 액세스)에 필요한 정확한 네트워크 액세스 권한이 있는지 확인할 수 있습니다.
+ 보안 모범 사례: 적절한 보안 그룹을 정의하면 필요한 포트 및 서비스로만 네트워크 액세스를 제한하여 빌드 환경의 보안을 강화하는 데 도움이 됩니다.
+ 잠재적 문제 방지: 기본값에만 의존하면 보안 그룹이 너무 열려 있거나 너무 제한적이어서 빌드 프로세스 중에 문제가 발생할 수 있습니다.

`ParentImage`(필수****, `String`)  
기본 이미지를 지정합니다. 상위 이미지는 동일한 버전의 비 AWS ParallelCluster AMI 또는 공식 AWS ParallelCluster AMI일 수 있습니다. 다른 버전의 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`)  
Amazon EC2 ImageBuilder 빌드 및 테스트 인스턴스에서 지원되는 IMDS 버전을 지정합니다. 지원되는 값은 `v2.0` 및 `v1.0`입니다. 기본값은 `v2.0`입니다.  
`ImdsSupport`이 `v1.0`로 설정되어 있으면 IMDSv1 및 IMDSv2가 모두 지원됩니다.  
`ImdsSupport`이 `v2.0`로 설정되어 있으면 IMDSv2만 지원됩니다.  
자세한 내용은 [Linux 인스턴스용 Amazon EC2 사용 설명서](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)의 *IMDSv2 사용*을 참조하세요.  
[업데이트 정책: 이 설정을 변경하면 업데이트가 허용되지 않습니다.](using-pcluster-update-cluster-v3.md#update-policy-fail-v3)  
 AWS ParallelCluster 버전 3.7.0부터 `ImdsSupport` 기본값은 입니다`v2.0`. 사용자 지정 작업 호출에서 IMDSv1을 IMDSv2를 교체하고 `ImdsSupport`을 `v2.0`로 설정하는 것이 좋습니다.  
 AWS ParallelCluster 버전 3.3.0에서 [`Imds`](#Build-v3-Imds) /에 대한 지원이 [`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 사용 설명서**의 [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>

(선택 사항****) AWS ParallelCluster에서 기본적으로 제공하는 구성 요소 외에 AMI 빌드 프로세스 중에 사용할 Amazon EC2 ImageBuilder 구성 요소를 지정합니다. 이러한 구성 요소를 사용하여 AMI 빌드 프로세스를 사용자 지정할 수 있습니다. 자세한 내용은 [AWS ParallelCluster AMI 사용자 지정](custom-ami-v3.md) 항목을 참조하세요.

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

`Type`(선택 사항****, `String`)  
구성 요소의 유형-값 쌍의 유형을 지정합니다. 유형은 `arn` 또는 `script`일 수 있습니다.

`Value`(선택 사항****, `String`)  
구성 요소의 유형-값 쌍의 값을 지정합니다. 유형이 `arn`인 경우 이것이 EC2 Image Builder 구성 요소의 ARN입니다. 유형이 인 경우 EC2 Image Builder 구성 요소를 생성할 때 사용할 스크립트를 가리키는 https 또는 s3 링크`script`입니다.

### `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를 빌드한다고 가정해 보겠습니다. 사용 가능한 업데이트에 구성 요소 Z.0에 대한 업데이트가 없는 업데이트된 커널 버전 Y.1이 포함되어 있다고 가정해 보겠습니다. `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)의 크기 더하기 27GiB입니다.

`Encrypted`(선택 사항****, `Boolean`)  
볼륨이 암호화되는지 여부를 지정합니다. 기본값은 `false`입니다.

`KmsKeyId`(선택 사항****, `String`)  
볼륨을 암호화하는 데 사용되는 AWS KMS 키의 ARN을 지정합니다. 형식은 `arn:Partition:kms:Region:Account:key/KeyId`입니다.

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

**참고**  
`DeploymentSettings`는 AWS ParallelCluster 버전 3.4.0부터 추가됩니다.

(선택 사항)**** 배포 설정 구성을 지정합니다.

```
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에 있어야 합니다.