230428 TIL #71 Auto Scaling AMI / 시작 템플릿

김춘복·2023년 4월 27일
0

TIL : Today I Learned

목록 보기
71/571

230428 Today I Learned

실전 프로젝트 4주차. 오늘은 코드 리뷰와 프로젝트 복기, 진행 내용 복습을 했다.


AMI / 시작 템플릿

  • Auto Scaling을 사용하게되면 자동으로 EC2 인스턴스를 생성할 수 있다. 하지만 이때 생성되는 EC2 인스턴스는 텅 빈 인스턴스이므로 시작할때 초기 세팅을 미리 해주어야 한다.
  • 초기 세팅을 하는 방법은 AMI 이미지를 사용하거나 시작 템플릿 스크립트를 작성하면 된다.

AMI(Amazon Machine Image)

  • AMI는 EC2 인스턴스의 이미지로, 인스턴스를 시작할 때 사용되는 가상 머신 이미지다.
    AMI 기능을 사용하면 Auto Scaling 그룹에서 시작되는 인스턴스가 항상 일관된 상태로 시작될 수 있으며, 미리 구성된 AMI에 포함된 애플리케이션 및 설정 정보도 모두 적용된다.

  • 원하는 상태의 EC2 인스턴스에서 이미지를 생성해 AMI로 등록한다.

  • EC2 인스턴스의 시작템플릿 메뉴로 가서 방금 등록한 AMI와 보안그룹을 등록한다.

  • 이번 프로젝트에선 Docker를 이용해 CI/CD를 구축해놨기 때문에 초기 생성 EC2 인스턴스에 jdk는 설치할 필요가 없고 Docker와 CodeDeploy만 설치해 AMI에 등록해서 사용했다.

시작 템플릿

  • AMI 등록 이외에 실행해야될 명령어나 설정이 있다면 시작 템플릿에서 스크립트로 작성하면 된다.

  • AMI를 통해 Docker와 CodeDeploy를 설치해두어 Docker Hub에서 이미지만 pull 받아 컨테이너로 실행시키면 초기 세팅이 끝이다.

  • 해당 스크립트는 아래와 같이 작성했다.

#!/bin/bash
sudo docker pull 유저이름/이미지이름
sudo docker run -d -p 8080:8080 유저이름/이미지이름
  • 이로써, 오토스케일링으로 EC2가 생성되면 자동으로 필요한 프로그램을 설치하고 서버를 실행하게 세팅이 완성되었다.
profile
Backend Dev / Data Engineer

0개의 댓글