◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇
AMI (Amazon Machine Image)
AMI는 EC2 인스턴스를 시작할 때 필요한 운영 체제(OS), 미들웨어, Volume등의 설정을 정의한다.
EC2 인스턴스는 사용자가 선택한 AMI를 기반으로 생성된다.
즉, EC2를 시작하기위해 필요한 정보를 저장한 템플릿과 같다.
(AMI에 포함되지 않은 서버 고유의 OS나 미들웨어는 별도로 설치해야 한다)
AMI에는 다음과 같은 정보가 포함된다.
- 운영 체제 (OS): 예시) Linux, Windows
- 애플리케이션 소프트웨어: 예시) Apache, Nginx, MySQL, PostgreSQL
- 루트 볼륨 (Root Volume): EC2 인스턴스가 시작되는 메인 디스크 (EBS or Instance Store)
인스턴스 OS와 애플리케이션이 여기에 설치된다 - 블록 디바이스 매핑(Block Device Mapping): EC2에 연결된 EBS 또는 인스턴스 스토어에 관한 설정
- AWS 계정의 AMI 사용으로 인한 인스턴스 시작 권한 정보
- Launch permissions: AMI 공유 설정
AMI 종류
AMI는 아래와 같은 이미지 등에서 선택할 수 있다.
- AWS에서 제공하는 이미지
- 사용자가 직접 생성한 이미지
- 다른 사용자가 생성한 이미지
- AWS Marketplace에 등록된 이미지
[AMI 생성 방법]
AMI를 생성하는 방법으로는 EC2 Image Builder를 사용하는 것 외에도 기존 EC2 인스턴스에서 AMI를 생성하는 방법이 있다. 동일한 AMI에서 시작된 EC2 인스턴스는 동일한 구성을 가지므로, EC2 인스턴스의 복제 작업을 쉽게 할 수 있다.
※EC2 Image Builder: EC2 및 온프레미스에 배포 가능한 가상 머신 이미지를 생성하고 관리할 수 있는 서비스이다.
[AMI 설정 화면]
[AMI 복제 & 공유]
AMI는 EC2 인스턴스의 복제 시에도 사용된다.
EC2 인스턴스를 복제하려면, EC2 인스턴스에서 AMI를 생성하고, 생성한 AMI에서 새로운 EC2 인스턴스를 시작한다.
또한, AMI는 리전 간에 복사할 수 있어, 동일한 EC2 인스턴스를 다른 리전에서 시작할 수 있다.
AMI는 다른 AWS 계정과도 공유할 수 있다.
AMI 공유 설정(launchPermission)에서는 "공용"과 "비공용" 중 하나를 선택할 수 있다.
공용은 리전 내의 모든 AWS 계정과 공유하고, 비공용은 특정 AWS 계정만 지정하여 공유한다.