EC2 부팅시 서버 자동 실행(Feat. Cloud-init)

신범철·2024년 5월 21일
0

개요

EC2인스턴스가 9~19시 동안 켜지기 때문에 9시에 서버가 켜지고 서버에 접속하면 502에러가 발생한다. 배포해둔 서버가 EC2가 꺼지고 켜질때마다 서버가 자동으로 실행되도록 해보자!

1. Cloud-init 설치

우리는 Cloud-init을 통해 EC2가 실행될 때 스크립트가 실행되도록 할 것이다.
그러기 위해서는 Cloud-init이 EC2에 설치되어 있어야 한다.

ubuntu 기준
Cloud-init 설치 확인 명령어 : sudo apt-cache search cloud-init
Cloud-init 설치 명령어 : sudo apt-get install cloud-init

2. 스크립트 작성

Cloud-init 스크립트를 작성하기 위해서는 인스턴스가 중지되어야 한다.

중지가 되면 작업 -> 인스턴스 설정 -> 사용자 데이터 편집으로 접속해주어야 한다.

위에 사진처럼 접속했다면 아래와 같이 스크립트를 작성한다.
스크립트 하단에 실행할 스크립트를 추가한다.
이해가 되지 않는다면 링크를 참고해보자

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
/bin/echo "Hello World" >> /tmp/testfile.txt
--//--

3. 저장 및 실행

스크립트를 다 작성했다면 저장하고 인스턴스를 다시 실행한다.

주의점

스크립트를 작성하면서 주의점은 root폴더 기준이기 때문에 폴더 접근시 cd home/ubuntu/~~로 시작해야 한다.

profile
https://github.com/beombu

0개의 댓글