플랫폼 후크를 사용하여 Elastic Beanstalk 환경을 사용자 지정하려면 어떻게 해야 합니까?

2분 분량
0

플랫폼 후크를 사용하여 사용자 지정 스크립트 또는 기타 실행 파일을 생성하여 AWS Elastic Beanstalk 환경을 사용자 지정하고자 합니다. 해당 환경에서 실행되는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 이를 배포하고자 합니다.

간략한 설명

플랫폼 후크를 사용하여 Elastic Beanstalk 환경의 기능을 확장해 사용자 지정 스크립트 및 실행 파일을 실행할 수 있습니다. Elastic Beanstalk는 다양한 인스턴스 프로비저닝 단계에서 이러한 후크를 실행할 수도 있습니다.

참고: Amazon Linux AMI 플랫폼 버전(Amazon Linux 2 이전 버전)에서는 플랫폼 후크를 지원하지 않습니다.

플랫폼 후크에는 두 가지 유형이 있습니다.

  • 배포용 새 소스 번들을 제공하면 애플리케이션 배포 중 애플리케이션 배포 플랫폼 후크가 실행됩니다. 이는 또한 모든 환경 인스턴스를 종료하고 재시작해야 하는 구성을 변경할 때도 실행됩니다.
  • 구성 배포 플랫폼 후크는 환경 인스턴스를 다시 생성하지 않고 업데이트만 하는 구성 변경을 사용자가 수행하면 구성 배포 중에 실행됩니다.

해결 방법

.platform 디렉터리 설정

1.    애플리케이션 번들의 루트에서 애플리케이션 배포 및 구성 배포 플랫폼 후크에 각각 ‘.platform/hooks’또는 ‘.platform/confighooks’라는이름의 숨겨진 디렉터리를 생성합니다.

2.    실행 시 인스턴스 프로비저닝 단계에 따라 후크 파일을 다음 하위 디렉터리 중 하나에 배치해야 합니다.

  • prebuild
  • predeploy
  • postdeploy

사용 사례에 필요한 하위 디렉터리를 식별하려면 Elastic Beanstalk Linux 플랫폼 확장을 참조하십시오.

3.    애플리케이션 소스 번들은 다음 번들과 유사하게 보여야 합니다.

~/workspace/my-application/
|-- .platform
    |--hooks
       |--prebuild
          |-- custom-prebuild-script.sh
       |--predeploy
          |-- custom-predeploy-script.sh
       |--postdeploy
          |-- custom-postdeploy-script.sh
|-- .ebextensions
|-- index.php
         `-- styles.css

후크 파일 지정

후크 파일을 생성할 때는 다음 정보를 염두에 두십시오.

  • 후크 파일은 '#!'로 시작하는 바이너리 파일 또는 스크립트 파일일 수 있으며, ‘#!/bin/bash’ 등의 해당 인터프리터 경로를 포함할 수 있습니다. ‘custom-postdeploy-script.sh와 같은 스크립트 파일 내 내용의 예로는 다음 파일을 참조하십시오.
#!/bin/bash
sudo su
cd /var/app/current
echo "Hello from AWS hook" >> 'test.txt'
  • 로컬 시스템에서 “chmod +x”를 사용하여 후크 파일에 대한 실행 권한을 설정합니다. 또는 ‘.ebextensions’를 사용하여 권한을 제공할 수 있습니다. 다음 예시를 참조하십시오.
container_commands:
  01_chmod1:
    command: "chmod +x .platform/hooks/postdeploy/custom-postdeploy-script.sh"

자세한 내용은 .ebextensions를 사용하여 Elastic Beanstalk 환경을 사용자 지정하려면 어떻게 해야 합니까?를 참조하십시오

플랫폼 후크를 애플리케이션에 적용

1.    이전 플랫폼 후크 및 구성 파일을 포함하는 애플리케이션 소스 번들을 생성합니다.

참고: 파일 브라우저는 마침표로 시작하는 폴더(예: .platform.ebextensions)를 숨길 수 있습니다. 이러한 폴더를 계속 표시하려면 애플리케이션 원본 번들을 만들 때 애플리케이션 번들의 루트에 폴더를 포함시키십시오.

2.    업데이트된 Elastic Beanstalk 애플리케이션을 배포하세요.


AWS 공식
AWS 공식업데이트됨 일 년 전