◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇

AMI (Amazon Machine Image)
AMI는 EC2 인스턴스를 시작할 때 필요한
운영 체제(OS: Windows, Linux ), 소프트웨어(Nginx, Python 등), Volume(용량 사이즈) 등의 설정을 정의한다.
EC2 인스턴스는 사용자가 선택한 AMI를 기반으로 생성된다.
즉, EC2를 시작하기위해 필요한 정보를 저장한 템플릿과 같다.
(AMI에 포함되지 않은 서버 고유의 OS나 미들웨어는 별도로 설치해야 한다)

📌 AMI(Amazon Machine Image)에 포함되는 정보
| 운영 체제 (OS) | Amazon Linux, Ubuntu, Windows 등 |
| 애플리케이션 소프트웨어 | 사전 설치된 애플리케이션 및 미들웨어 (Apache, Nginx, MySQL, PostgreSQL 등) |
| 루트 볼륨 (Root Volume) | EC2 인스턴스가 부팅되는 메인 디스크 (EBS 또는 Instance Store) |
| 루트 볼륨 내용 | 운영 체제(OS)와 애플리케이션이 설치된 디스크 상태 |
| 블록 디바이스 매핑 (Block Device Mapping) | EC2에 연결될 스토리지(EBS 또는 Instance Store) 구성 정보 (볼륨 크기, 디바이스 이름, 삭제 정책 등) |
| Launch Permissions | AMI 사용 권한 설정, 공유 방법 (특정 AWS 계정과 공유, Public / Private 설정) |
AMI 종류
AMI는 아래와 같은 이미지 등에서 선택할 수 있다.
- AWS에서 제공하는 이미지
- 사용자가 직접 생성한 이미지
- 다른 사용자가 생성한 이미지
- AWS Marketplace에 등록된 이미지
AMI 생성 방법
AMI를 생성하는 방법으로는 EC2 Image Builder를 사용하는 것 외에도
기존 EC2 인스턴스에서 AMI를 생성하는 방법이 있다.
동일한 AMI에서 시작된 EC2 인스턴스는 동일한 구성을 가지므로, EC2 인스턴스의 복제 작업을 쉽게 할 수 있다.
※EC2 Image Builder:
AMI(및 컨테이너 이미지)를 자동으로 생성·업데이트·검증·배포해주는 관리형 서비스

AMI 설정 화면

AMI 복제 & 공유
AMI는 EC2 인스턴스의 복제 시에도 사용된다.
EC2 인스턴스를 복제하려면, EC2 인스턴스에서 AMI를 생성하고, 생성한 AMI에서 새로운 EC2 인스턴스를 시작한다.
또한, AMI는 리전 간에 복사할 수 있어, 동일한 EC2 인스턴스를 다른 리전에서 시작할 수 있다.
AMI는 다른 AWS 계정과도 공유할 수 있다.
AMI 공유 설정(launchPermission)에서는 "공용"과 "비공용" 중 하나를 선택할 수 있다.
공용은 리전 내의 모든 AWS 계정과 공유하고, 비공용은 특정 AWS 계정만 지정하여 공유한다.