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를 선택할 수 있는지 확인한다.