오늘도 한 뼘 더
[AWS] EC2(ElasticBeanstalk) 인스턴스에 설치한 패키지 유지하여 사용하기 - AMI 생성하기 본문
[AWS] EC2(ElasticBeanstalk) 인스턴스에 설치한 패키지 유지하여 사용하기 - AMI 생성하기
나른한댕댕이🐶 2023. 1. 27. 11:58# 배경
ElasticBeanstalk(이하 EB)을 통해서 만들어진 EC2에서 설치한 패키지를 인스턴스를 생성할 때 그대로 사용하고 싶었다.
EB의 Autoscaling 설정으로 인해서 간혹 EC2가 종료되었다가 새로 올라가는 경우가 생기는데 이럴 때 설치했던 패키지를 사용하지 못하기 때문에 패키지가 설치되어서 올라갈 수 있는 방법이 필요했다.
그러다가 인스턴스를 통해서 AMI를 생성하는 방법을 알게 되었다.
# AMI 생성하기
EC2 인스턴스를 선택 후 작업에서 이미지 및 템플릿에 이미지 생성을 누르면 AMI를 생성할 수 있다.
이미지 이름과 설명, 스토리지 크기를 설정할 수 있다.
이미지 생성을 클릭하고 EC2 > 이미지 > AMI를 보면 다음과 같이 생성이 되고 있는 것을 볼 수 있다.
대기 중에서 사용 가능으로 변경되면 사용할 수 있다.
# ElasticBeanstalk에 적용하기
EB의 경우 AutoScaling을 설정해 두면 EB를 통해 생성된 EC2인스턴스가 중지되거나 종료되었을 때 AutoScaling의 설정에 따라 새로 올라온다.
그런데 이때, 올라오는 AMI는 기본적으로 설정이 되어있는 AMI이기 때문에 이전에 패키지를 설치해 놓으면 새로 올라오는 EC2 인스턴스에는 설치가 되어있지 않아 오류가 날 수 있다.
이를 위해서 EB구성 중 AutoScaling 그룹에 AMI를 설정해주어야 한다.
구성 > 용량(Capacity) > AutoScaling 그룹 > AMI ID
해당 루트에서 AMI ID를 패키지를 설치해 둔 EC2로 만들었던 AMI ID로 변경하여 적용한다.
적용 이후 인스턴스를 중지하고 새로 생성되는 인스턴스를 확인하면 AMI ID가 변경되어 있는 것을 확인할 수 있다.
'DevOps & Infra > AWS' 카테고리의 다른 글
[AWS] AWS CLI 사용하여 EC2 중지 및 시작하기 (0) | 2023.03.06 |
---|---|
[AWS] AMI 생성 주의 사항(내가 한 실수) (0) | 2023.02.08 |
[AWS] EC2 - failed [sfd_list:1] sfdisk --list --unit=S /dev/nvme0n1 (2) | 2023.01.25 |
[AWS] Elastic Beanstalk으로 배포 시 Buildfile, Procfile 사용하기(Golang) (0) | 2023.01.19 |
[AWS] Error - resize2fs: Bad magic number in super-block while trying to open /dev/nvme0n1p1 (0) | 2022.12.14 |