.ebextensions를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 파일을 생성하고, 패키지를 설치하고, 명령을 실행하는 AWS Elastic Beanstalk 환경을 사용자 지정하려면 어떻게 해야 합니까?
간략한 설명
Elastic Beanstalk 환경에서 Elastic Beanstalk 구성 파일(.ebextensions)을 사용하여 Amazon EC2 인스턴스를 구성합니다.
다음의 구성 방법을 사용하면 Elastic Beanstalk 환경에 대한 구성 변경 사항이 계속 유지되지 않습니다.
- 특정 AWS 서비스의 콘솔에서 Elastic Beanstalk 리소스를 직접 구성합니다.
- Amazon EC2 인스턴스에서 직접 패키지 설치, 파일 생성 또는 명령 실행.
참고: AWS 명령줄 인터페이스(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.
해결 방법
.ebextensions 디렉터리 설정
1. 애플리케이션 번들의 루트에서 .ebextensions라는 숨겨진 디렉터리를 생성하십시오.
2. .ebextensions 디렉터리에 구성 파일을 저장하십시오.
애플리케이션 소스 번들은 다음 예제와 유사하게 보일 것입니다.
~/workspace/my-application/
|-- .ebextensions
| |-- 01-server-configuration.config
| `-- 02-asg-healthcheck.config
|-- index.php
`-- styles.css
Elastic Beanstalk 환경 사용자 지정
환경을 사용자 지정하려면 다음 사항을 고려하세요.
- option_settings 키를 사용하여 환경 구성을 수정하십시오. 모든 환경에 대한 일반 옵션 및 플랫폼별 옵션 중에서 선택할 수 있습니다.
참고: 권장 값은 Elastic Beanstalk API에서 환경을 생성하거나 업데이트할 때 클라이언트에 의해 적용됩니다. 예를 들어, 클라이언트는 AWS Management Console, Elastic Beanstalk 명령줄 인터페이스(EB CLI), AWS CLI 또는 SDK일 수 있습니다. 권장 값은 API 수준에서 직접 설정되며 우선 순위가 가장 높습니다. API가 가장 높은 우선 순위를 가지기 때문에 API 레벨에서 적용된 option_settings를 사용하여 구성 설정을 변경할 수 없습니다.
- 우선 순위 규칙으로 인해 option_settings 수정 사항이 환경 구성에 적용되지 않을 수 있습니다. 환경 생성 중에 직접 적용된 구성을 제거하거나 Elastic Beanstalk API에서 업데이트 작업을 하려면 --options-to-remove 플래그와 함께 update-environment 명령을 사용합니다.
- 원하는 리소스 구성에 대한 옵션 설정이 없으면 리소스 키를 사용하여 Elastic Beanstalk 환경의 리소스를 사용자 지정하십시오.
참고: 구성 파일에 정의된 리소스는 환경 시작에 사용되는 AWS CloudFormation 템플릿에 추가됩니다. 모든 AWS CloudFormation 리소스 유형이 지원됩니다. 논리적 리소스 이름에 대한 자세한 내용은 Elastic Beanstalk가 사용자 환경에 생성하는 리소스 수정을 참조하세요.
- 키를 사용하여 Linux 또는 Windows 서버에서 소프트웨어를 사용자 지정하세요.
- 구성 파일 샘플의 경우, AWS GitHub 리포지토리를 참조하세요.
애플리케이션에 사용자 지정 설정 적용
1. 구성 파일을 포함하는 애플리케이션 소스 번들을 생성하세요.
참고: .ebextensions와 같이 마침표로 시작하는 폴더는 파일 브라우저에서 보이지 않을 수 있습니다. 이러한 폴더를 계속 표시하려면 애플리케이션 원본 번들을 만들 때 애플리케이션 번들의 루트에 .ebextensions 폴더를 포함시키십시오.
2. 업데이트된 Elastic Beanstalk 애플리케이션을 배포하세요.