

# 증명 가능한 AMI
<a name="attestable-ami"></a>

증명 가능한 AMI는 모든 콘텐츠를 나타내는 해당 암호화 해시가 있는 Amazon Machine Image(AMI)입니다. 해시는 AMI 생성 프로세스 중에 생성되며 애플리케이션, 코드 및 부팅 프로세스를 포함하여 해당 AMI의 전체 콘텐츠를 기반으로 계산됩니다.

## 증명 가능한 상태 유지 관리
<a name="maintain-attestability"></a>

인스턴스의 측정값은 초기 부팅 상태에 기반합니다. 시작 후 인스턴스에 적용되고 다시 시작 후에도 해당 지속되는 모든 소프트웨어 또는 코드 변경 내용은 다시 시작 후 인스턴스의 측정값을 변경합니다. 측정값이 변경되면 증명 가능한 AMI의 참조 측정값과 차이가 나고 인스턴스가 다시 시작된 후 인스턴스는 더 이상 AWS KMS에 대해 증명될 수 없습니다. 따라서 증명 가능한 AMI를 활용하려면 인스턴스가 다시 시작된 후 원래 부팅 상태로 돌아와야 합니다.

항상 원래 부팅 상태로 돌아가면 인스턴스가 다시 시작된 후 성공적으로 증명할 수 있습니다. 다음 유틸리티를 사용하여 다시 시작 후에도 인스턴스가 증명 가능한 상태를 유지하도록 보장할 수 있습니다.
+ `erofs` - 읽기 전용 파일 시스템 개선. 이 유틸리티는 루트 파일 시스템이 읽기 전용인지 확인합니다. 이 유틸리티를 사용하면 `/etc`, `/run`, `/var`을 포함한 파일 시스템에 대한 쓰기가 메모리에 저장되었다가 인스턴스가 다시 시작될 때 손실되므로 루트 파일 시스템이 원래 시작 상태로 유지됩니다. 자세한 내용은 [erofs 설명서](https://docs.kernel.org/filesystems/erofs.html)를 참조하세요.
+ `dm-verity` - 읽기 전용 루트 파일 시스템에 대한 무결성 보호를 제공합니다. 유틸리티는 파일 시스템 블록의 해시를 계산하고 커널 명령줄에 저장합니다. 이를 통해 부팅 중에 커널에서 파일 시스템의 무결성을 확인할 수 있습니다. 자세한 내용은 [dm-verity 설명서](https://docs.kernel.org/admin-guide/device-mapper/verity.html)를 참조하세요.

## 증명 가능한 AMI를 생성하기 위한 요구 사항
<a name="ami-attestable-requirements"></a>

다음은 증명 가능한 AMI의 요구 사항입니다.
+ **기본 운영 체제** - Amazon Linux 2023 및 [NixOS](https://github.com/aws/nitrotpm-attestation-samples)
+ **아키텍처** - `x86_64` 또는 `arm64` 아키텍처
+ **TPM 지원** - NitroTPM을 활성화해야 합니다. 자세한 내용은 [Amazon EC2 인스턴스에서 NitroTPM을 사용하기 위한 요구 사항](enable-nitrotpm-prerequisites.md) 섹션을 참조하세요.
+ **부팅 모드** - UEFI 부팅 모드를 활성화해야 합니다.

**Topics**
+ [증명 가능한 상태 유지 관리](#maintain-attestability)
+ [증명 가능한 AMI를 생성하기 위한 요구 사항](#ami-attestable-requirements)
+ [증명 가능한 AMI 생성](#sample-ami)
+ [이미지 설명 샘플 빌드](build-sample-ami.md)
+ [Amazon Linux 2023 이미지 설명 샘플](al2023-isolated-compute-recipe.md)
+ [이미지 설명 샘플 사용자 지정](customize-sample-ami.md)
+ [PCR 측정값 계산](create-pcr-compute.md)

## 증명 가능한 AMI 생성
<a name="sample-ami"></a>

증명 가능한 AMI를 생성하려면 [KIWI Next Generation(KIWI NG)](https://osinside.github.io/kiwi/)와 함께 Amazon Linux 2023을 사용해야 합니다. Amazon Linux 2023은 KIWI NG를 사용하여 증명 가능한 AMI를 빌드하는 데 필요한 모든 소프트웨어와 유틸리티를 제공합니다.

KIWI NG는 사전 구성된 Linux 기반 이미지를 빌드하기 위한 오픈 소스 도구입니다. KIWI NG는 이미지의 콘텐츠를 정의하는 XML *이미지 설명*을 사용합니다. 이미지 설명에서는 특정 사용 사례에 즉시 사용 가능한 AMI를 빌드하기 위해 실행할 기본 운영 체제, 소프트웨어, 커널 구성 및 스크립트를 지정합니다.

AMI 빌드 시간 중에 `nitro-tpm-pcr-compute` 유틸리티를 사용하여 KIWI NG에서 생성된 통합 커널 이미지(UKI)를 기반으로 참조 측정값을 생성해야 합니다. `nitro-tpm-pcr-compute` 유틸리티 사용에 대한 자세한 내용은 [사용자 지정 AMI에 대한 PCR 측정값 계산](create-pcr-compute.md) 섹션을 참조하세요.

AWS에서는 격리된 컴퓨팅 환경에서 EC2 인스턴스를 구성하는 데 필요한 모든 구성을 포함하는 샘플 Amazon Linux 2023 이미지 설명을 제공합니다. 자세한 내용은 [Amazon Linux 2023 이미지 설명 샘플 빌드](build-sample-ami.md) 섹션을 참조하세요.