

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

# 환경 생성 후 구성 옵션 설정
<a name="environment-configuration-methods-after"></a>

저장된 구성을 적용하거나, 구성 파일과 함께 새 소스 번들(`.ebextensions`)을 업로드하거나, JSON 문서를 사용하여 실행 중인 환경에서 옵션 설정을 수정할 수 있습니다. EB CLI 및 Elastic Beanstalk 콘솔에는 클라이언트별로 구성 옵션을 설정하고 업데이트하는 기능도 있습니다.

구성 옵션을 설정하거나 변경할 때 변경의 심각도에 따라 전체 환경 업데이트를 트리거할 수 있습니다. 예를 들어 [`aws:autoscaling:launchconfiguration`](command-options-general.md#command-options-general-autoscalinglaunchconfiguration)에서 `InstanceType`과 같은 옵션을 변경하려면 환경의 Amazon EC2 인스턴스가 다시 프로비저닝되어야 합니다. 그러면 [롤링 업데이트](using-features.rollingupdates.md)가 트리거됩니다. 다시 프로비저닝하거나 중단하지 않고도 다른 구성 변경을 적용할 수 있습니다.

EB CLI 또는 AWS CLI 명령을 사용하여 환경에서 옵션 설정을 제거할 수 있습니다. API 수준에서 환경에 직접 설정된 옵션을 제거하면 구성 파일의 설정이 적용됩니다. 이러한 구성 파일의 설정은 원래 해당 환경에 직접 적용된 다른 설정에 의해 마스킹되는 설정입니다.

해당 환경에서 다른 구성 방법 중 하나로 직접 동일한 옵션을 설정하여 저장된 구성 및 구성 파일의 설정을 재정의할 수 있습니다. 하지만 업데이트한 저장된 구성 또는 구성 파일을 적용해야만 이러한 설정을 완전히 제거할 수 있습니다. 저장된 구성이나 구성 파일에 또는 환경에 직접 옵션이 설정되어 있지 않으면 기본값이 적용됩니다(있을 경우). 세부 정보는 [우선 순위](command-options.md#configuration-options-precedence) 단원을 참조하세요.

**Topics**
+ [Elastic Beanstalk 콘솔](#configuration-options-after-console)
+ [EB CLI](#configuration-options-after-ebcli)
+ [는 AWS CLI](#configuration-options-after-awscli)

## Elastic Beanstalk 콘솔
<a name="configuration-options-after-console"></a>

구성 파일을 포함하는 애플리케이션 소스 번들을 배포하거나, 저장된 구성을 적용하거나, 환경 관리 콘솔의 **구성** 페이지에서 바로 환경을 수정하여 Elastic Beanstalk 콘솔에 구성 옵션 설정을 업데이트할 수 있습니다.

**Topics**
+ [구성 파일(`.ebextensions`) 사용](#configuration-options-after-console-ebextensions)
+ [저장된 구성 사용](#configuration-options-after-console-savedconfig)
+ [Elastic Beanstalk 콘솔 사용](#configuration-options-after-console-configpage)

### 구성 파일(`.ebextensions`) 사용
<a name="configuration-options-after-console-ebextensions"></a>

원본 디렉터리에 구성 파일을 업데이트하고, 새 소스 번들을 만든 후, 새 버전을 Elastic Beanstalk 환경에 배포하여 변경 사항을 적용합니다.

구성 파일에 대한 자세한 내용은 [.Ebextensions](ebextensions.md) 단원을 참조하세요.

**소스 번들을 배포하려면**

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

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

1. 환경 개요 페이지에서 [**업로드 및 배포**]를 선택합니다.

1. 화면에 표시되는 대화 상자를 사용하여 소스 번들을 업로드합니다.

1. **배포(Deploy)**를 선택합니다.

1. 배포가 완료되면 사이트 URL을 선택하여 새 탭에서 웹 사이트를 열 수 있습니다.

구성 파일의 변경 사항은 API 수준으로 환경에 바로 적용되는 설정 또는 저장된 구성의 옵션 설정을 재정의하지 않습니다. 자세한 내용은 [우선 순위](command-options.md#configuration-options-precedence)를 참조하세요.

### 저장된 구성 사용
<a name="configuration-options-after-console-savedconfig"></a>

저장된 설정을 실행 중인 환경에 적용하여 이 설정에 정의된 옵션을 적용합니다.

**실행 중인 환경에 저장된 구성을 적용하려면(Elastic Beanstalk 콘솔)**

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

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

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

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

1. 환경을 선택한 후 **로드**를 선택합니다.

저장된 구성에 정의되어 있는 설정이 구성 파일의 설정보다 우선하며, 환경 관리 콘솔에서 구성한 설정이 그보다 우선합니다.

저장된 구성의 생성에 대한 상세한 내용은 [저장된 구성](environment-configuration-methods-before.md#configuration-options-before-savedconfig) 단원을 참조하세요.

### Elastic Beanstalk 콘솔 사용
<a name="configuration-options-after-console-configpage"></a>

Elastic Beanstalk 콘솔은 **구성** 페이지에 각 환경을 위한 여러 가지 구성 옵션을 제공합니다.

**실행 중인 환경에서 구성 옵션을 변경하려면(Elastic Beanstalk 콘솔)**

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

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

1. 탐색 창에서 **구성**을 선택합니다.

1. 편집하려는 구성 페이지를 찾습니다.
   + 관심이 있는 옵션을 찾은 경우 또는 해당 옵션이 있는 구성 범주를 알고 있는 경우 이에 대한 구성 범주에서 [**편집**]을 선택합니다.
   + 옵션을 찾으려면 **Table View(테이블 보기)**를 설정한 후 검색 상자에 검색어를 입력합니다. 입력하면 목록이 짧아지고 검색어와 일치하는 옵션만 표시됩니다.

     찾고 있는 옵션이 표시되면 해당 옵션이 있는 구성 범주에서 [**편집**]을 선택합니다.  
![\[옵션 검색을 보여주는 Elastic Beanstalk 콘솔 구성 개요 페이지의 테이블 보기\]](http://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/images/environments-cfg-console.overview.table.search1.png)

1. 설정을 변경한 후 **저장**을 선택합니다.

1. 필요한 대로 추가 구성 범주에서 이전의 두 단계를 반복합니다.

1. **적용**을 선택합니다.

환경 관리 콘솔에서 구성 옵션에 대한 변경 사항은 환경에 바로 적용됩니다. 이러한 변경 사항은 구성 파일이나 저장된 구성의 동일한 옵션에 대한 설정을 재정의합니다. 자세한 내용은 [우선순위](command-options.md#configuration-options-precedence)를 참조하세요.

실행 중인 환경에서 Elastic Beanstalk 콘솔을 사용하여 구성 옵션을 변경하는 방법에 대한 자세한 내용은 [Elastic Beanstalk 환경 구성](customize-containers.md) 아래의 주제를 참조하세요.

## EB CLI
<a name="configuration-options-after-ebcli"></a>

구성 파일을 포함하는 소스 코드를 배포하거나 저장된 구성의 설정을 적용하거나 **eb config** 명령으로 바로 환경 구성을 수정하여 EB CLI로 구성 옵션 설정을 업데이트할 수 있습니다.

**Topics**
+ [구성 파일(`.ebextensions`) 사용](#configuration-options-after-ebcli-ebextensions)
+ [저장된 구성 사용](#configuration-options-after-ebcli-savedconfig)
+ [사용 **eb config**](#configuration-options-after-ebcli-ebconfig)
+ [사용 **eb setenv**](#configuration-options-after-ebcli-ebsetenv)

### 구성 파일(`.ebextensions`) 사용
<a name="configuration-options-after-ebcli-ebextensions"></a>

`.config`의 프로젝트 폴더에 `.ebextensions` 파일을 넣어 애플리케이션 코드와 함께 배포합니다.

구성 파일에 대한 자세한 내용은 [.Ebextensions](ebextensions.md) 단원을 참조하세요.

```
~/workspace/my-app/
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- .elasticbeanstalk
|   `-- config.yml
|-- index.php
`-- styles.css
```

**eb deploy**로 소스 코드를 배포합니다.

```
~/workspace/my-app$ eb deploy
```

### 저장된 구성 사용
<a name="configuration-options-after-ebcli-savedconfig"></a>

**eb config** 명령을 사용하여 저장된 구성을 실행 중인 환경에 적용할 수 있습니다. 저장된 구성 이름과 함께 `--cfg` 옵션을 사용하여 해당 설정을 환경에 적용합니다.

```
$ eb config --cfg v1
```

이 예에서 `v1`은 [이전에 만든 저장된 구성 파일](environment-configuration-methods-before.md#configuration-options-before-savedconfig)의 이름입니다.

이 명령을 통해 환경에 적용된 설정은 환경이 생성되는 동안 적용되었던 설정 및 애플리케이션 소스 번들의 구성 파일에 정의된 설정을 재정의합니다.

### 사용 **eb config**
<a name="configuration-options-after-ebcli-ebconfig"></a>

EB CLI의 **eb config** 명령을 통해 텍스트 편집기를 사용하여 환경에서 바로 옵션 설정을 설정하고 제거할 수 있습니다.

**eb config**를 실행할 때 EB CLI는 구성 파일, 저장된 구성, 권장 값, 환경에서 바로 설정된 옵션, API 기본값 등의 모든 소스를 통해 환경에 적용되는 설정을 표시합니다.

**참고**  
**eb config**는 환경 속성을 표시하지 않습니다. 애플리케이션 내에서 읽을 수 있도록 환경 속성을 설정하려면 [**eb setenv**](#configuration-options-after-ebcli-ebsetenv)를 사용합니다.

다음 예에서는 `aws:autoscaling:launchconfiguration` 네임스페이스에 적용된 설정을 보여줍니다. 이러한 설정은 다음과 같습니다.
+ 권장 값 두 개(`IamInstanceProfile` 및 `InstanceType`), 환경 생성 중에 EB CLI에서 적용됩니다.
+ `EC2KeyName` 옵션, 생성 중에 리포지토리 구성을 기반으로 환경에서 직접 설정합니다.
+ 다른 옵션에 대한 API 기본값입니다.

```
ApplicationName: tomcat
DateUpdated: 2015-09-30 22:51:07+00:00
EnvironmentName: tomcat
SolutionStackName: 64bit Amazon Linux 2015.03 v2.0.1 running Tomcat 8 Java 8
settings:
...
aws:autoscaling:launchconfiguration:
    BlockDeviceMappings: null
    EC2KeyName: my-key
    IamInstanceProfile: aws-elasticbeanstalk-ec2-role
    ImageId: ami-1f316660
    InstanceType: t2.micro
...
```

****eb config**로 구성 옵션을 설정하거나 변경하려면**

1. **eb config**를 실행하여 환경 구성을 봅니다.

   ```
   ~/workspace/my-app/$ eb config
   ```

1. 기본 텍스트 편집기를 사용하여 설정 값 변경.

   ```
   aws:autoscaling:launchconfiguration:
       BlockDeviceMappings: null
       EC2KeyName: my-key
       IamInstanceProfile: aws-elasticbeanstalk-ec2-role
       ImageId: ami-1f316660
       InstanceType: t2.medium
   ```

1. 임시 구성 파일을 저장하고 종료합니다.

1. EB CLI는 환경 구성을 업데이트합니다.

**eb config**로 구성 옵션을 설정하면 기타 모든 소스의 설정을 재정의합니다.

**eb config**로 환경에서 옵션을 제거할 수도 있습니다.<a name="configuration-options-remove-ebcli"></a>

**구성 옵션을 제거하려면(EB CLI)**

1. **eb config**를 실행하여 환경 구성을 봅니다.

   ```
   ~/workspace/my-app/$ eb config
   ```

1. 모든 값을 문자열 `null`로 바꿉니다. 제거하려는 옵션을 포함하는 전체 행을 삭제할 수도 있습니다.

   ```
   aws:autoscaling:launchconfiguration:
       BlockDeviceMappings: null
       EC2KeyName: my-key
       IamInstanceProfile: aws-elasticbeanstalk-ec2-role
       ImageId: ami-1f316660
       InstanceType: null
   ```

1. 임시 구성 파일을 저장하고 종료합니다.

1. EB CLI는 환경 구성을 업데이트합니다.

**eb config**로 환경에서 옵션을 제거하면, 애플리케이션 소스 번들의 구성 파일에 있는 것과 동일한 옵션을 설정할 수 있게 됩니다. 자세한 내용은 [우선 순위](command-options.md#configuration-options-precedence)를 참조하세요.

### 사용 **eb setenv**
<a name="configuration-options-after-ebcli-ebsetenv"></a>

EB CLI로 환경 속성을 설정하려면 **eb setenv**를 사용하세요.

```
~/workspace/my-app/$ eb setenv ENVVAR=TEST
INFO: Environment update is starting.
INFO: Updating environment my-env's configuration settings.
INFO: Environment health has transitioned from Ok to Info. Command is executing on all instances.
INFO: Successfully deployed new configuration to environment.
```

이 명령은 [`aws:elasticbeanstalk:application:environment`네임스페이스](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment)에 환경 속성을 설정합니다. **eb setenv**로 설정된 환경 속성은 간단한 업데이트 프로세스 후 애플리케이션에서 사용 가능합니다.

**eb printenv**로 환경에 설정된 환경 속성을 확인합니다.

```
~/workspace/my-app/$ eb printenv
 Environment Variables:
     ENVVAR = TEST
```

## 는 AWS CLI
<a name="configuration-options-after-awscli"></a>

구성 파일이 포함된 소스 번들을 배포하거나, 원격으로 저장된 구성을 적용하거나, `aws elasticbeanstalk update-environment` 명령을 사용하여 환경을 직접 수정 AWS CLI 하여 로 구성 옵션 설정을 업데이트할 수 있습니다.

**Topics**
+ [구성 파일(`.ebextensions`) 사용](#configuration-options-after-awscli-ebextensions)
+ [저장된 구성 사용](#configuration-options-after-awscli-savedconfig)
+ [명령줄 옵션 사용](#configuration-options-after-awscli-commandline)

### 구성 파일(`.ebextensions`) 사용
<a name="configuration-options-after-awscli-ebextensions"></a>

를 사용하여 실행 중인 환경에 구성 파일을 적용하려면 Amazon S3에 업로드하는 애플리케이션 소스 번들에 AWS CLI포함합니다.

구성 파일에 대한 자세한 내용은 [.Ebextensions](ebextensions.md) 단원을 참조하세요.

```
~/workspace/my-app-v1.zip
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- index.php
`-- styles.css
```

**애플리케이션 소스 번들을 업로드하고 실행 중인 환경에 적용(AWS CLI)**

1. 아직 Amazon S3의 Elastic Beanstalk 버킷이 없는 경우 `create-storage-location`으로 한 개를 생성합니다.

   ```
   $ aws elasticbeanstalk create-storage-location
   {
       "S3Bucket": "elasticbeanstalk-us-west-2-123456789012"
   }
   ```

1. 애플리케이션 소스 번들을 Amazon S3에 업로드합니다.

   ```
   $ aws s3 cp sourcebundlev2.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundlev2.zip
   ```

1. 애플리케이션 버전 생성.

   ```
   $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v2 --description MyAppv2 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundlev2.zip"
   ```

1. 환경 업데이트.

   ```
   $ aws elasticbeanstalk update-environment --environment-name my-env --version-label v2
   ```

### 저장된 구성 사용
<a name="configuration-options-after-awscli-savedconfig"></a>

`--template-name` 명령의 `aws elasticbeanstalk update-environment` 옵션으로 저장된 구성을 실행 중인 환경에 적용할 수 있습니다.

저장된 구성은 애플리케이션과 같은 이름의 경로에 있는 `resources/templates` 아래의 Elastic Beanstalk 버킷에 있어야 합니다. 예를 들어 123456789012 계정의 미국 서부(오리건) 리전(us-west-2)에서 `v1` 애플리케이션의 `my-app` 템플릿은 `s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app/v1`에 있습니다.

**저장된 구성을 실행 중인 환경에 적용(AWS CLI)**
+ `update-environment` 옵션으로 `--template-name` 호출에 저장된 구성을 지정합니다.

  ```
  $ aws elasticbeanstalk update-environment --environment-name my-env --template-name v1
  ```

Elastic Beanstalk는 `aws elasticbeanstalk create-configuration-template`으로 생성할 때 이 위치에 저장된 구성을 배치합니다. 저장된 구성을 로컬에서 수정하고 이 위치에 직접 배치할 수도 있습니다.

### 명령줄 옵션 사용
<a name="configuration-options-after-awscli-commandline"></a>

**JSON 문서로 구성 옵션을 변경(AWS CLI)**

1. 로컬 파일에서 JSON 형식으로 옵션 설정을 정의합니다.

1. `update-environment` 옵션으로 `--option-settings`를 실행합니다.

   ```
   $ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://~/ebconfigs/as-zero.json
   ```

이 예에서 `as-zero.json`은 인스턴스의 최소값과 최대값이 0인 환경을 구성하는 옵션을 정의합니다. 그러면 환경이 종료되지 않고 환경의 인스턴스가 중지됩니다.

**`~/ebconfigs/as-zero.json`**

```
[
    {
        "Namespace": "aws:autoscaling:asg",
        "OptionName": "MinSize",
        "Value": "0"
    },
    {
        "Namespace": "aws:autoscaling:asg",
        "OptionName": "MaxSize",
        "Value": "0"
    },
    {
        "Namespace": "aws:autoscaling:updatepolicy:rollingupdate",
        "OptionName": "RollingUpdateEnabled",
        "Value": "false"
    }
]
```

**참고**  
`update-environment`로 구성 옵션을 설정하면 기타 모든 소스의 설정을 재정의합니다.

`update-environment`로 환경에서 옵션을 제거할 수도 있습니다.<a name="configuration-options-remove-awscli"></a>

**구성 옵션 제거(AWS CLI)**
+ `update-environment` 옵션으로 `--options-to-remove` 명령을 실행합니다.

  ```
  $ aws elasticbeanstalk update-environment --environment-name my-env --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType
  ```

`update-environment`로 환경에서 옵션을 제거하면, 애플리케이션 소스 번들의 구성 파일에 있는 것과 동일한 옵션을 설정할 수 있게 됩니다. 이러한 방법 중 어느 것이라도 사용하여 옵션을 구성하지 않으면 API 기본값이 적용됩니다(있을 경우). 자세한 내용은 [우선 순위](command-options.md#configuration-options-precedence)를 참조하세요.