Infra

aws ec2 인스턴스 사용자 데이터

Mussyan 2020. 12. 9. 17:27

서버 이중화 및 Auto scaling 적용을 위해 원본 EC2 인스턴스의 AMI를 생성한다.

 

원본 인스턴스의 AMI를 이용하여 생성되는 사본 EC2 인스턴스의 경우 각 컨테이너의 환경변수(.env) 파일의 IPADDRESS 항목이 원본과 똑같이 지정되어있다.

 

EUREKA_DEFAULT_ZONE의 경우 ELB의 DNS를 사용하기에 문제가 없으나 IPADDRESS의 경우 EC2 인스턴스 본인의 IP를 사용해야 하기에 이슈가 있다.

 

EC2 인스턴스의 경우 사용자 데이터 라는 기능으로 인스턴스 실행 시 원하는 스크립트를 실행시킨 후 각 컨테이너를 띄울 수 있도록 부팅 옵션을 설정할 수 있다.

 

해당 설정의 경우 AMI를 생성할 때는 미리 지정할 수 없으며 시작 템플릿 생성 시 고급 세부 정보의 최하단에서 사용자 데이터를 설정할 수 있다.

 

단순 서버 이중화의 경우 시작 템플릿 탭에서 템플릿으로 인스턴스 시작,

Auto scaling의 경우 Auto scaling group 생성 중 시작 템플릿을 위에서 생성한 템플릿을 지정함으로서 이슈를 해결할 수 있다.