체인의정석

AWS EC2에서 이미지 생성하고 업데이트하기 본문

개발/Infra

AWS EC2에서 이미지 생성하고 업데이트하기

체인의정석 2025. 12. 23. 15:20
728x90

하게 된 배경 : 이미 존재하는 ec2에서 이미지를 뽑아내고 기존 시스템에서 업데이트 진행

현재 프로젝트의 구조상 이미지에 이미 필요한 모듈들이나 환경이 세팅되어 있고 이후 시작템플릿에서 해당 이미지를 통해서 환경별로 배포를 하는 식으로 구성이 되어있다.

그러나 보안 관련 문제로 기존 2022 버전의 OS를  2023으로 바꾸어야 하여 해당 부분으로 다시 작업을 하기위하여 2022버전에 깔려있는 주요 프로그램을 분석 한 후 동일한 버전으로 2023버전을 만든 후 이미지를 생성하는 과정이다.

 

순서 :

먼저 이미지를 생성하기 전에 설치된 패키지의 자동 시작 등록 및 기존의 캐시와 같은 내역들을 지워준다.

# 1. 서비스 자동 시작 등록 확인 (부팅될 때 알아서 켜지도록)
sudo systemctl enable firewalld
sudo systemctl enable amazon-cloudwatch-agent

# 2. (선택사항) 지금까지 친 명령어 기록 삭제 (보안상 좋음)
history -c
rm -f ~/.bash_history

2단계: [AWS 콘솔] 이미지(AMI) 생성

이제 AWS 웹 콘솔로 가서 "찰칵" 사진을 찍습니다.

  1. AWS EC2 콘솔 접속 -> 인스턴스(Instances) 메뉴 클릭.
  1. 방금 세팅 완료한 새 서버와 동일한 서버를 찾아서 우클릭.
  2. 이미지 및 템플릿(Image and templates) -> 이미지 생성(Create image) 클릭.

  1. 설정 입력:
    • 이미지 이름: 알아보기 쉽게 지으세요. (예: AMI-AL2023-Base-FirewalldFixed-20251222)
    • 이미지 설명: 이미지에 설치된 주요 모듈들 쓰기
    • 재부팅 안 함(No reboot): 체크 해제 권장 (서버를 잠시 끄고 안전하게 찍는 게 좋습니다. 서비스 중이라면 체크하세요.)
  2. 이미지 생성(Create image) 버튼 클릭하면 아래와 같이 생성중이라는 단어가 뜸

완료까지 5~10분 정도 걸립니다. (왼쪽 메뉴 'AMI'에서 상태가 Pending -> Available로 바뀌면 성공!)

 

이후 메뉴 중 

이미지 및 템플릿(Image and templates) -> 시작템플릿 생성 클릭.

여기서 새 버전으로는 구버전 OS가 아닌 새로운 버전 OS로 시작템플릿을 생성한다.

시작템플릿에서도 만약 해당 이미지 변경에 따른 스크립트 변경이 존재한다면 해당 부분도 반영해서 수정해 주어야 한다.

시작템플릿에서 내 AMI를 클릭한 후에 방금 만든 이미지이름을 검색해서 설정을 해주면 된다.

새로운 버전의 시작 템플릿에 이미지를 넣게 되면 시작템플릿의 설정대로 ec2가 시작이 되게 되고 이후에 

기존에 작성해 둔 AutoScailing 그룹에 들어가서 인스턴스 재시작을 해야 재배포가 가능해진다.

이때 시작템플릿의 버전을 새로 만든 버전으로 바꾸고 인스턴스 재시작을 해야 수정된 이미지 파일이 반영이 되게 된다.

Autoscaling group에서 종료 전 시작을 누른 후 인스턴스 워밍업 시간을 넉넉히 설정해 둔 후에 일치 건너뛰기를 비활성화 시켜두면 무중단 재배포가 가능해 진다.

반영이 된 후에는 cloudwatch log insight에서 오류 구문에 대한 검색을 진행한다.

728x90
반응형
Comments