오늘도 한 뼘 더

[AWS] EC2(ElasticBeanstalk) 인스턴스에 설치한 패키지 유지하여 사용하기 - AMI 생성하기 본문

DevOps & Infra/AWS

[AWS] EC2(ElasticBeanstalk) 인스턴스에 설치한 패키지 유지하여 사용하기 - AMI 생성하기

나른한댕댕이🐶 2023. 1. 27. 11:58
728x90
반응형

  # 배경  

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가 변경되어 있는 것을 확인할 수 있다. 

728x90
반응형
Comments