EC2인스턴스가 9~19시 동안 켜지기 때문에 9시에 서버가 켜지고 서버에 접속하면 502에러가 발생한다. 배포해둔 서버가 EC2가 꺼지고 켜질때마다 서버가 자동으로 실행되도록 해보자!
우리는 Cloud-init
을 통해 EC2가 실행될 때 스크립트가 실행되도록 할 것이다.
그러기 위해서는 Cloud-init
이 EC2에 설치되어 있어야 한다.
ubuntu 기준
Cloud-init
설치 확인 명령어 : sudo apt-cache search cloud-init
Cloud-init
설치 명령어 : sudo apt-get install cloud-init
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
--//--
스크립트를 다 작성했다면 저장하고 인스턴스를 다시 실행한다.
스크립트를 작성하면서 주의점은 root폴더 기준이기 때문에 폴더 접근시 cd home/ubuntu/~~
로 시작해야 한다.