

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 구성 파일(`.ebextensions`)을 사용하여 고급 환경 사용자 지정
<a name="ebextensions"></a>

웹 애플리케이션의 소스 코드에 AWS Elastic Beanstalk 구성 파일(`.ebextensions`)을 추가하여 환경을 구성하고 환경에 포함된 AWS 리소스를 사용자 지정할 수 있습니다. 구성 파일은 `.config` 파일 확장명을 사용하는 YAML이나 JSON 형식 문서로, `.ebextensions` 폴더에 놓고 애플리케이션 [소스 번들](applications-sourcebundle.md)에서 배포합니다.

**Example .ebextensions/network-load-balancer.config**  
이 예에서는 간단한 구성을 변경합니다. 해당 환경의 로드 밸런서 유형을 Network Load Balancer로 설정하기 위해 구성 옵션을 수정합니다.  

```
option_settings:
  aws:elasticbeanstalk:environment:
    LoadBalancerType: network
```

구성 파일에 JSON보다 더 쉽게 읽을 수 있는 YAML을 사용하는 것이 좋습니다. YAML은 설명과 복수 명령줄, 따옴표를 사용할 수 있는 몇몇 대안 등을 지원합니다. 하지만 YAML이나 JSON을 사용해 동일한 방식으로 Elastic Beanstalk 구성 파일의 구성을 변경할 수 있습니다.

**도움말**  
새 구성 파일을 개발하거나 테스트할 때 기본 애플리케이션을 실행하는 정리된 환경을 시작하고 여기에 배포합니다. 구성 파일의 형식을 잘못 지정하면 새 환경 시작이 복구 불가능하게 실패할 수 있습니다.

구성 파일의 `option_settings` 섹션은 [구성 옵션](command-options.md)의 값을 정의합니다. 구성 옵션을 사용하면 Elastic Beanstalk 환경, 환경의 AWS 리소스 및 애플리케이션을 실행하는 소프트웨어를 구성할 수 있습니다. 구성 파일은 구성 옵션을 설정하는 여러 방법 중 하나일 뿐입니다.

이 [`Resources` 섹션에서는](environment-resources.md) 애플리케이션 환경의 리소스를 추가로 사용자 지정하고 구성 옵션에서 제공하는 기능 이외의 추가 AWS 리소스를 정의할 수 있습니다. Elastic Beanstalk AWS CloudFormation가 환경을 생성하는 데 사용하는에서 지원하는 모든 리소스를 추가하고 구성할 수 있습니다.

구성 파일의 다른 섹션(`packages`, `sources`, `files`, `users`, `groups`, `commands`, `container_commands`, `services`)에서는 환경에서 시작하는 EC2 인스턴스를 구성할 수 있습니다. 서버가 환경에서 시작될 때마다 Elastic Beanstalk는 이러한 섹션에 정의된 작업을 실행하여 애플리케이션의 운영 체제와 스토리지 시스템을 준비합니다.

일반적으로 사용되는 .ebextensions의 예제에 대해서는 [Elastic Beanstalk 구성 파일 리포지토리](https://github.com/awsdocs/elastic-beanstalk-samples/tree/master/configuration-files)를 참조하세요.

**요구 사항**
+ **위치** - Elastic Beanstalk는 배포에 있는 모든 `.ebextensions` 폴더를 처리합니다. 그러나 모든 구성 파일을 소스 번들 루트의 `.ebextensions`라는 단일 폴더에 저장합니다. 점으로 시작하는 폴더는 파일 브라우저에서 숨길 수 있으므로 소스 번들을 생성할 때 해당 폴더가 추가되는지 확인합니다. 자세한 내용은 [Elastic Beanstalk 애플리케이션 소스 번들 생성](applications-sourcebundle.md) 단원을 참조하십시오.
+ **이름 지정** - 구성 파일의 파일 확장명은 `.config`여야 합니다.
+ **형식 지정** - 구성 파일은 YAML이나 JSON의 사양을 준수해야 합니다.

  YAML을 사용하는 경우 항상 Space를 사용해 각기 다른 중첩 수준에서 키를 들여쓰기 합니다. YAML에 대한 자세한 내용은 [YAML Ain't Markup Language(YAML™) Version 1.1](http://yaml.org/spec/current.html)을 참조하십시오.
+ **고유성** - 각 구성 파일에 각 키를 한 번만 사용합니다.
**경고**  
동일한 구성 파일에 키(예: `option_settings`)를 두 번 사용하면 섹션 중 하나가 삭제됩니다. 중복 섹션을 단일 섹션으로 결합하거나 별도의 구성 파일에 배치하십시오.

배포 프로세스는 환경을 관리하는 데 사용하는 클라이언트에 따라 조금씩 다릅니다. 세부 정보는 다음 섹션을 참조하세요.
+ [Elastic Beanstalk 콘솔](environment-configuration-methods-during.md#configuration-options-during-console-ebextensions)
+ [EB CLI](environment-configuration-methods-during.md#configuration-options-during-ebcli-ebextensions)
+ [AWS CLI](environment-configuration-methods-during.md#configuration-options-during-awscli-ebextensions)

**Topics**
+ [옵션 설정](ebextensions-optionsettings.md)
+ [Linux 서버에서 소프트웨어 사용자 지정](customize-containers-ec2.md)
+ [Windows 서버에서 소프트웨어 사용자 지정](customize-containers-windows-ec2.md)
+ [Elastic Beanstalk 환경 리소스 추가 및 사용자 지정](environment-resources.md)