

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

# 환경 매니페스트(`env.yaml`)
<a name="environment-cfg-manifest"></a>

애플리케이션 소스 번들의 루트에 YAML 형식의 환경 매니페스트를 포함시켜 환경을 생성할 때 사용할 환경 이름, 솔루션 스택, [환경 링크](environment-cfg-links.md)를 구성할 수 있습니다.

이 파일 형식에는 환경 그룹 지원이 포함되어 있습니다. 그룹을 사용하려면 매니페스트에서 끝에 \$1 기호를 붙여 환경 이름을 지정합니다. 환경을 생성하거나 업데이트할 때 `--group-name`(AWS CLI) 또는 `--env-group-suffix` (EB CLI)를 사용하여 그룹 이름을 지정합니다. 그룹에 대한 자세한 내용은 [Elastic Beanstalk 환경 그룹 생성 및 업데이트](environment-mgmt-compose.md) 단원을 참조하십시오.

다음 매니페스트 예제에서는 웹 서버 환경의 기반이 되는 작업자 환경 구성 요소의 링크가 있는 웹 서버 환경을 정의합니다. 이 매니페스트에서는 그룹을 사용하여 동일한 소스 번들로 여러 가지 환경을 생성합니다.

**`~/myapp/frontend/env.yaml`**

```
AWSConfigurationTemplateVersion: 1.1.0.0
SolutionStack: 64bit Amazon Linux 2015.09 v2.0.6 running Multi-container Docker 1.7.1 (Generic)
OptionSettings:
  aws:elasticbeanstalk:command:
    BatchSize: '30'
    BatchSizeType: Percentage
  aws:elasticbeanstalk:sns:topics:
    Notification Endpoint: me@example.com
  aws:elb:policies:
    ConnectionDrainingEnabled: true
    ConnectionDrainingTimeout: '20'
  aws:elb:loadbalancer:
    CrossZone: true
  aws:elasticbeanstalk:environment:
    ServiceRole: aws-elasticbeanstalk-service-role
  aws:elasticbeanstalk:application:
    Application Healthcheck URL: /
  aws:elasticbeanstalk:healthreporting:system:
    SystemType: enhanced
  aws:autoscaling:launchconfiguration:
    IamInstanceProfile: aws-elasticbeanstalk-ec2-role
    InstanceType: t2.micro
    EC2KeyName: workstation-uswest2
  aws:autoscaling:updatepolicy:rollingupdate:
    RollingUpdateType: Health
    RollingUpdateEnabled: true
Tags:
  Cost Center: WebApp Dev
CName: front-A08G28LG+
EnvironmentName: front+
EnvironmentLinks:
  "WORKERQUEUE" : "worker+"
```

지원되는 키는 다음과 같습니다.
+ **AWSConfigurationTemplateVersion**(필수) – 구성 템플릿 버전(1.1.0.0)입니다.

  ```
  AWSConfigurationTemplateVersion: 1.1.0.0
  ```
+ **플랫폼** – 환경의 플랫폼 버전의 Amazon 리소스 이름(ARN)입니다. 플랫폼에 ARN 또는 솔루션 스택 이름을 지정할 수 있습니다.

  ```
  Platform:
    PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0
  ```
+ **SolutionStack** – 환경 생성에 사용된 [솔루션 스택](concepts.platforms.md)의 전체 이름입니다.

  ```
  SolutionStack: 64bit Amazon Linux 2017.03 v2.5.0 running Java 8
  ```
+ **OptionSettings** – 환경에 적용할 [구성 옵션](command-options.md) 설정입니다. 예를 들어 다음 항목은 인스턴스 유형을 t2.micro로 설정합니다.

  ```
  OptionSettings:
    aws:autoscaling:launchconfiguration:
      InstanceType: t2.micro
  ```
+ **태그** – 환경 내에서 생성된 리소스에 적용할 최대 47개의 태그입니다.

  ```
  Tags:
    Cost Center: WebApp Dev
  ```
+ **EnvironmentTier** – 생성할 환경 유형입니다. 웹 서버 환경의 경우 이 섹션은 제외시킬 수 있습니다(웹 서버가 기본값임). 작업자 환경의 경우 다음을 사용합니다.

  ```
  EnvironmentTier:
    Name: Worker
    Type: SQS/HTTP
  ```
+ **CName** – 환경의 CNAME입니다. 그룹을 활성화하려면 이 이름의 끝에 \$1 문자를 포함합니다.

  ```
  CName: front-A08G28LG+
  ```
+ **EnvironmentName** – 생성할 환경 이름입니다. 그룹을 활성화하려면 이 이름의 끝에 \$1 문자를 포함합니다.

  ```
  EnvironmentName: front+
  ```

  그룹이 활성화되어 있으면 환경을 생성할 때 그룹 이름을 지정해야 합니다. Elastic Beanstalk에서는 하이픈을 사용하여 환경 이름에 그룹 이름을 추가합니다. 예를 들어, 환경 이름이 `front+`이고, 그룹 이름이 `dev`이면 Elastic Beanstalk에서는 이름이 `front-dev`인 환경을 생성합니다.
+ **EnvironmentLinks** – 변수 이름 및 환경 이름의 종속성 맵입니다. 다음 예제에서는 `worker+` 환경을 종속시키고 Elastic Beanstalk에 링크 정보를 변수 `WORKERQUEUE`에 저장하도록 지시합니다.

  ```
  EnvironmentLinks:
    "WORKERQUEUE" : "worker+"
  ```

  링크 변수의 값은 연결된 환경의 유형에 따라 달라집니다. 웹 서버 환경의 경우 이 링크는 환경의 CNAME입니다. 작업자 환경의 경우 이 링크는 환경의 Amazon Simple Queue Service(Amazon SQS) 대기열 이름입니다.

**CName**, **EnvironmentName** 및 **EnvironmentLinks** 키는 [환경 그룹](environment-mgmt-compose.md) 및 [다른 환경에 대한 링크](environment-cfg-links.md)를 생성하는 데 사용할 수 있습니다. 이러한 기능은 현재 EB CLI AWS CLI 또는 SDK를 사용할 때 지원됩니다.