

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

# Elastic Beanstalk 저장된 구성 사용
<a name="environment-configuration-savedconfig"></a>

환경의 구성은 Amazon Simple Storage Service(Amazon S3)에서 객체로 저장하여 환경 생성 중 다른 환경에 적용하거나 실행 중인 환경에 적용할 수 있습니다. *저장된 구성*은 환경의 [플랫폼 버전](concepts.platforms.md), [티어](concepts.md#concepts-tier), [구성 옵션](command-options.md) 설정 및 태그를 정의하는 YAML 형식 템플릿입니다.

저장된 구성을 생성할 때 해당 구성에 태그를 적용하고 기존 저장된 구성의 태그를 편집할 수 있습니다. 저장된 구성에 적용된 태그는 `Tags:` 키를 사용하여 저장된 구성에 지정된 태그와 관련이 없습니다. 두 번째 태그는 환경에 저장된 구성을 적용할 때 환경에 적용됩니다. 자세한 내용은 [저장된 구성 태그 지정](environment-configuration-savedconfig-tagging.md)을 참조하세요.

**참고**  
몇 가지 방법을 사용하여 저장된 구성을 생성하고 Elastic Beanstalk 환경에 적용할 수 있습니다. 여기에는 Elastic Beanstalk 콘솔, EB CLI 및 AWS CLI가 포함됩니다.  
저장된 구성을 생성 및 적용하는 대체 방법의 예는 다음 주제를 참조하세요.  
[환경 생성 이전에 구성 옵션 설정](environment-configuration-methods-before.md)
[환경 생성 중 구성 옵션 설정](environment-configuration-methods-during.md)
[환경 생성 후 구성 옵션 설정](environment-configuration-methods-after.md)

Elastic Beanstalk Management Console에서 환경의 현재 상태로부터 저장된 구성을 생성합니다.

**환경의 구성을 저장하려면**

1. [Elastic Beanstalk 콘솔](https://console.aws.amazon.com/elasticbeanstalk)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **환경**을 선택한 다음 목록에서 환경의 이름을 선택합니다.

1. **작업(Actions)**을 선택한 후 **구성 저장(Save configuration)**을 선택합니다.

1. 화면에 표시되는 양식을 사용하여 저장된 구성의 이름을 지정합니다. 또는 간단한 설명을 제공하고 태그 키 및 값을 추가합니다.

1. **저장**을 선택합니다.  
![Elastic Beanstalk 콘솔의 구성 저장 페이지](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/images/environment-cfg-saveconfiguration-dialog.png)

저장된 구성에는 콘솔 또는 Elastic Beanstalk API를 사용하는 기타 모든 클라이언트의 환경에 적용한 모든 설정이 포함됩니다. 환경을 이전 상태로 복원하기 위해 나중에 환경에 저장된 구성을 적용하거나 [환경 생성](environments-create-wizard.md) 중 새 환경에 저장된 구성을 적용할 수 있습니다.

다음 예에 나와 있는 대로 EB CLI [**eb config**](eb3-config.md) 명령을 사용하여 구성을 다운로드할 수 있습니다. {{NAME}}은 저장된 구성의 이름입니다.

```
eb config get {{NAME}}
```

**환경을 생성하는 동안 저장된 구성을 적용하려면(Elastic Beanstalk 콘솔)**

1. [Elastic Beanstalk 콘솔](https://console.aws.amazon.com/elasticbeanstalk)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **애플리케이션**을 선택한 다음 목록에서 애플리케이션의 이름을 선택합니다.

1. 탐색 창에서 애플리케이션 이름을 찾은 다음 **저장된 구성**을 선택합니다.

1. 적용할 저장된 구성을 선택한 다음 [**Launch environment**]를 선택합니다.

1. 마법사를 진행하여 환경을 생성합니다.

저장된 구성에는 [구성 파일](ebextensions.md)을 사용하여 적용한 애플리케이션의 소스 코드 내 설정은 포함되지 않습니다. 구성 파일 및 저장된 구성 모두에 동일한 설정이 적용되면 저장된 구성의 설정이 우선합니다. 마찬가지로, Elastic Beanstalk 콘솔에 지정된 옵션이 저장된 구성의 옵션을 재정의합니다. 자세한 내용은 [우선 순위](command-options.md#configuration-options-precedence) 단원을 참조하십시오.

저장된 구성은 Elastic Beanstalk S3 버킷에서 애플리케이션을 따라 이름이 지정된 폴더에 저장됩니다. 예를 들어, 계정 번호 123456789012에 대한 us-west-2 리전 내 `my-app` 애플리케이션의 구성은 `s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app/`에서 찾을 수 있습니다.

저장된 구성을 텍스트 편집기에서 열어 해당 내용을 봅니다. 다음 구성의 예는 Elastic Beanstalk Management Console을 사용하여 시작한 웹 서버 환경의 구성을 보여줍니다.

```
EnvironmentConfigurationMetadata:
  Description: Saved configuration from a multicontainer Docker environment created with the Elastic Beanstalk Management Console
  DateCreated: '1520633151000'
  DateModified: '1520633151000'
Platform:
  PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0
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
EnvironmentTier:
  Type: Standard
  Name: WebServer
AWSConfigurationTemplateVersion: 1.1.0.0
Tags:
  Cost Center: WebApp Dev
```

저장된 구성의 내용을 수정하여 Amazon S3의 동일한 위치에 저장할 수 있습니다. 저장된 구성이 올바른 위치에 적절한 형식으로 저장되면 Elastic Beanstalk Management Console을 사용하여 환경에 적용할 수 있습니다.

지원되는 키는 다음과 같습니다.
+ **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
  ```

**참고**  
몇 가지 방법을 사용하여 저장된 구성을 생성하고 Elastic Beanstalk 환경에 적용할 수 있습니다. 여기에는 Elastic Beanstalk 콘솔, EB CLI 및 AWS CLI가 포함됩니다.  
저장된 구성을 생성 및 적용하는 대체 방법의 예는 다음 주제를 참조하세요.  
[환경 생성 이전에 구성 옵션 설정](environment-configuration-methods-before.md)
[환경 생성 중 구성 옵션 설정](environment-configuration-methods-during.md)
[환경 생성 후 구성 옵션 설정](environment-configuration-methods-after.md)