상세 컨텐츠

본문 제목

[AWS/EC2] EC2 인스턴스 시작 시 스크립트 실행

Development/AWS

by J-Developer 2022. 5. 20. 19:10

본문

반응형

처음에는 EC2의 사용자 데이터에 스크립트만 입력을 해서 테스트를 해봤지만 스크립트는 실행이 되지 않았다.

EC2 인스턴스 실행 시 스크립트를 실행하여 애플리케이션 프로세스가 안 떠 있으면 애플리케이션을 실행하고 싶었다.

그 이유가 무엇인지 찾아보니 사용자 데이터는 최초 실행 시에만 실행된다고 하는것 같더라.

그러니까 중지 후 다시 시작을 해도 스크립트는 실행이 안된다고 한다.

그래서 해결 방법을 AWS 문서에서 찾았다.

 

 

1. 사용자 데이터를 편집하려면 인스턴스는 중지 상태로 만든다.

 

2. EC2에서 사용자 데이터를 편집할 인스턴스를 체크 후 작업 → 인스턴스 설정 → 사용자 데이터 편집을 클릭한다.

사용자 데이터 편집

 

 

3. 사용자 데이터에 AWS에서 제안하는 코드를 입력 그리고 스크립트를 입력한다.

사용자 데이터 스크립트

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
check=`ps -ef | grep 'dev-0.0.1-SNAPSHOT.jar' | wc | awk '{print $1}'`
if [ $check -gt 1 ]
then
 echo "RUNNING"
else
cd /home/ec2-user/test-application
nohup java -jar ./dev-0.0.1-SNAPSHOT.jar 1> /dev/null 2>&1 &
fi
--//--

 

 

4. 저장 후 테스트 시 인스턴스 실행 시 스크립트가 잘 작동하는것을 확인할 수 있다.

 

참조 :

https://aws.amazon.com/ko/premiumsupport/knowledge-center/execute-user-data-ec2/

반응형

관련글 더보기

댓글 영역