[AWS] EC2 재기동 시 cloudinit으로 기존 애플리케이션 자동 실행하기

상황

  • EC2 인스턴스를 재기동하는 순간이 있다. 인스턴스 타입 바꾼다던가..
  • 그때마다 서버 위에 구동되던 애플리케이션을 다시 들어가서 구동해줘야한다.
  • init할때와 마찬가지로, 서버 재기동때에도 실행되어야하는 작업을 작성해둘 수 있다.

방법

  • 사전사항) EC2에 cloud-init 설치되어있는지 확인(Amazon Linux 2의 경우 디폴트로 설치되어 있음)
  • AWS 콘솔 - EC2 - 인스턴스 중지 확인 - 작업 - 사용자 데이터 클릭
  • 사용자 데이터에 cloud-init 사용자 데이터 스크립트 작성 -> EC2 재기동

    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
    # 이 아래부터 하고 싶은 작업 적으면 된다. sh 돌릴라고 했는데 실패해서 걍 명령어 적음
    # jar 실행 
    java -jar -Dspring.profiles.active=prd ./insite-was-0.0.1-SNAPSHOT.jar
    --//
    

카테고리: ,

업데이트: