

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

# Image Builder에서 레시피 관리
<a name="manage-recipes"></a>

EC2 Image Builder 레시피는 사용자 지정 머신 이미지를 생성하기 위한 청사진입니다. 레시피는 세 가지 주요 요소를 지정합니다.

1. **기본 이미지** - 이미지의 시작점(AMI, 컨테이너 이미지 또는 가져온 VM).

1. **구성 요소** - 이미지를 사용자 지정하는 빌드 및 테스트 단계입니다. 구성 요소는 선택 사항입니다. 이 설계는 테스트 및 배포 전용 워크플로를 지원합니다.

1. **구성** - 스토리지 볼륨, 인스턴스 설정, 작업 디렉터리 및 기타 빌드 타임 파라미터.

Image Builder는 두 가지 유형의 레시피를 지원합니다.
+ **이미지 레시피는** Amazon EC2 인스턴스를 시작하는 데 사용할 수 있는 Amazon Machine Image(AMIs)를 생성합니다.
+ **컨테이너 레시피는** Amazon ECR 리포지토리에 저장된 Docker 컨테이너 이미지를 생성합니다.

레시피는 변경할 수 없습니다. 레시피를 생성한 후에는 수정하거나 이를 대체할 수 없습니다. 구성 요소 또는 기타 구성을 업데이트하려면 새 레시피 또는 레시피 버전을 생성해야 합니다. Image Builder는 모든 이전 버전을 유지합니다. 이를 통해 이미지 계보를 각 출력을 생성한 정확한 레시피로 다시 추적할 수 있습니다. 기존 레시피에 언제든지 태그를 적용할 수 있습니다. 에서 Image Builder 명령을 사용하여 리소스에 태그를 지정하는 방법에 대한 자세한 내용은이 가이드의 [리소스 태깅](tag-resources.md) 섹션을 AWS CLI참조하세요.

**작은 정보**  
레시피에서 Amazon 관리형 구성 요소를 사용하거나 자체 사용자 지정 구성 요소를 개발할 수 있습니다. 자세한 내용은 [Image Builder 이미지에 대한 사용자 지정 구성 요소 개발](create-custom-components.md) 단원을 참조하십시오. 출력 AMIs를 생성하는 이미지 레시피의 경우 AWS Marketplace 이미지 제품 및 구성 요소를 사용할 수도 있습니다. AWS Marketplace 제품과의 통합에 대한 자세한 내용은 단원을 참조하십시오[AWS Marketplace Image Builder의 통합](integ-marketplace.md).

이 섹션의 주제를 사용하여 기존 레시피 나열, 세부 정보 보기, 새 레시피 버전 생성 등 EC2 Image Builder 레시피를 관리합니다.

**Topics**
+ [컨테이너 레시피와 비교한 이미지 레시피](#recipe-types-comparison)
+ [레시피 버전 관리](#recipe-versioning)
+ [레시피 제약 조건 및 제한](#recipe-constraints)
+ [이미지 레시피 세부 정보 나열 및 보기](image-recipe-details.md)
+ [컨테이너 레시피 세부 정보 나열 및 보기](container-recipe-details.md)
+ [이미지 레시피의 새 버전 생성](create-image-recipes.md)
+ [컨테이너 레시피의 새 버전 생성](create-container-recipes.md)
+ [워터마크를 사용하여 AMI 계보 추적](ami-watermarks.md)
+ [리소스 정리](#recipes-cleanup)

## 컨테이너 레시피와 비교한 이미지 레시피
<a name="recipe-types-comparison"></a>

다음 표에서는 이미지 레시피와 컨테이너 레시피의 기능을 비교합니다.


| 기능 | 이미지 레시피 | 컨테이너 레시피 | 
| --- | --- | --- | 
| 출력 | AMI | Docker Amazon ECR의 컨테이너 이미지 | 
| 기본 이미지 소스 | AMI ID, Image Builder 이미지 ARN, SSM 파라미터, AWS Marketplace 제품 | Docker Hub 이미지, Amazon ECR 이미지, Amazon 관리형 이미지, Image Builder 이미지 ARN | 
| Dockerfile | 해당 사항 없음 | 필수( 컨텍스트 변수가 있는 템플릿) | 
| 대상 리포지토리 | 해당 사항 없음 | Amazon ECR(필수) | 
| 스토리지 구성 | 출력 AMI에 대한 블록 디바이스 매핑 | 빌드 인스턴스에 대한 블록 디바이스 매핑 | 
| 사용자 데이터 | 지원됨(기본 cloud-init 재정의) | 레시피 수준에서 지원되지 않음 | 
| Systems Manager 에이전트 제어 | 구성 가능(빌드 후 제거) | 구성할 수 없음 | 
| AWS Marketplace 구성 요소 | 지원됨 | 지원되지 않음 | 
| 플랫폼 재정의 | 해당 사항 없음(AMI에서 감지됨) | Amazon ECR 및 Docker Hub 이미지에 사용 가능 | 

## 레시피 버전 관리
<a name="recipe-versioning"></a>

모든 레시피는 *<major>.<minor>.<patch>* 형식의 의미 체계 버전 관리를 사용합니다. 각 버전 노드는 0\~1,073,741,823(2^30\~1)의 값을 허용합니다.

한 위치에서 와일드카드(`x`)를 사용하여 자동 버전 증분을 활성화할 수 있습니다. 와일드카드 버전으로 레시피를 생성하면 Image Builder가를 해당 위치에 사용 가능한 `x` 다음 번호로 바꿉니다.


| 패턴 | 동작 | 예제 시퀀스 | 
| --- | --- | --- | 
| 1.0.x | 패치 번호 증가 | 1.0.1, 1.0.2, 1.0.3, ... | 
| 1.x.0 | 마이너 숫자 증가 | 1.1.0, 1.2.0, 1.3.0, ... | 
| x.0.0 | 메이저 수를 늘립니다. | 1.0.0, 2.0.0, 3.0.0, ... | 

와일드카드 버전에는 다음 규칙이 적용됩니다.
+ 버전 문자열당 `x` 하나의 와일드카드만 허용됩니다.
+ 와일드카드는 단일 위치(주요, 마이너 또는 패치)에 나타날 수 있습니다.
+ 나머지 위치의 숫자 값은 명시적 정수여야 합니다.

**작은 정보**  
수동으로 레시피 버전을 추적하고 증분할 필요가 없도록 CI/CD 자동화에서 와일드카드 버전을 사용합니다. 동일한 와일드카드로 레시피를 생성할 때마다 Image Builder는 사용 가능한 다음 버전을 확인합니다. 예를 들어 항상를 사용하는 레시피는 `1.0.1`, , `1.0.2`등으로 `1.0.x` 확인됩니다. Image Builder 리소스의 시맨틱 버전 관리에 대한 자세한 내용은 [Image Builder의 의미 체계 버전 관리](ibhow-semantic-versioning.md)(을)를 참조하십시오.

## 레시피 제약 조건 및 제한
<a name="recipe-constraints"></a>

레시피를 생성하기 전에 다음 제약 조건을 검토합니다.


| 제약 조건 | Limit | 참고 | 
| --- | --- | --- | 
| 레시피당 구성 요소 | 20(기본값) | 빌드 및 테스트 구성 요소를 모두 포함합니다. 증가를 요청할 수 있습니다 AWS Support. | 
| 최대 레시피 크기 | 25KB | 파라미터 값을 포함한 모든 구성 요소 구성의 누적 크기입니다. | 
| 출력 이미지당 제품 코드 | 9 | 기본 이미지 및 AWS Marketplace 구성 요소에서 결합됩니다. | 
| 구성 요소 고유성 | 레시피당 1개 | 동일한 구성 요소(버전에 관계없이)는 한 번만 나타날 수 있습니다. | 
| 버전 노드 최대값 | 1,073,741,823 | 노드당(주요, 마이너 또는 패치). | 
| 레시피 이름 | 변경할 수 없음 | 이름은 생성 후 수정됩니다. 다른 이름의 새 레시피를 생성합니다. | 

구성 요소는 다음 호환성 요구 사항도 충족해야 합니다.
+ 구성 요소는 레시피의 플랫폼(Linux, Windows 또는 macOS)과 일치해야 합니다.
+ OS 버전 메타데이터를 사용할 수 있는 경우 구성 요소는 상위 이미지의 OS 버전을 지원해야 합니다.
+ `DEPRECATED` 또는 `DISABLED` 상태의 구성 요소는 새 레시피에 추가할 수 없습니다.
+ CIS 강화 구성 요소에는 CIS에서 게시한 상위 이미지가 필요합니다.

## 리소스 정리
<a name="recipes-cleanup"></a>

예상치 못한 요금이 부과되지 않도록 하려면 이 가이드의 예제에서 만든 리소스와 파이프라인을 정리하세요. Image Builder에서 리소스 삭제에 대한 자세한 내용은 [오래되거나 사용되지 않는 Image Builder 리소스 삭제](delete-resources.md)(을)를 참조하세요.