인프라/AWS

AWS - 사용자 정의 AMI 만들기

Griotold 2025. 1. 20. 12:27

1. AMI(Amazon Machine Image) 란?

 

AWS EC2 인스턴스를 시작하는 데 필요한 소프트웨어 구성(운영 체제, 애플리케이션, 설정 등)을 포함한 템플릿.

AMI는 EC2 인스턴스를 생성할 때 기본적으로 사용되며, 동이랗ㄴ 구성을 가진 여러 인스턴스를 

빠르고 일관되게 배포할 수 있도록 도와준다.

 

EC2 인스턴스를 시작할 때 이름도 넣고, VPC도 선택하고, 키 페어도 선택하고, 여러 가지를 선택하는데,

그 중에서도 AMI를 선택하게 되어 있다.

 

 

Quick Start 라는 항목을 보면,

Amazon Linux, macOS 등등을 선택할 수 있다.

일반적으로 EC2를 배포할 때 Amazon Linux를 많이 선택한다.

 

2. 사용자 정의 AMI

 

Quick Start 옆에 내 AMI 라는 항목이 눈에 띈다.

여기에는 내가 만든 AMI가 들어간다. 

 

예를 들어, Java가 필요한 EC2를 여러 개 배포하고 싶을 수 있다.

이런 경우에는 기본 AMI에 Java를 미리 깔아 놓은 AMI를 만들어 놓은 후, 

사용한다면 배포 프로세스가 좋아질 것이다.

 

3. Docker 를 미리 깔아 놓은 사용자 정의 AMI 만들기

 

Docker 가 깔린 AMI를 만들어 놓고 사용하고 싶어졌다.

한 번 만들어 보자.

 

3 - 1. EC2 인스턴스 생성

 

일단, Quick Start 에 있는 AMI를 선택하고 인스턴스를 만들어준다.

Amazon Linux AMI를 선택했다.

 

인스턴스 유형, 키페어, 보안 그룹 이런 것들은 자유롭게 정한다.

물론, 보안 그룹에서 EC2로 연결하기 위한 SSH, 22 포트는 인바운드 규칙에서 허용해줘야 한다.

 

3 - 2. EC2 연결

 

EC2 를 연결하여 독수리를 확인하자.

그리고 docker를 깔아준다.

 

sudo dnf install docker # docker 설치

 

 

docker 가 잘 깔렸는지 확인한다.

 

docker version

 

3 - 3. AMI 생성

 

EC2 인스턴스 목록에서 방금 작업 했던 인스턴스를 체크하고,

작업 > 이미지 및 템플릿 > 이미지 생성

 

이름과 설명을 넣는 항목이 있는데, 

자유롭게 적고 만들어준다.

 

3 - 4. AMI 생성 확인

AMI 카테고리로 들어가서 AMI가 생성 되었는지 확인한다.

나는 bobjool-docker-image 라고 AMI 이름을 지정해줬다.

 

4. 생성한 AMI를 선택할 수 있는지 확인

 

EC2 인스턴스 시작을 눌러 내가 만든 AMI를 선택할 수 있는지 확인한다.