

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

# CodeDeploy에서 배포 구성 만들기
<a name="deployment-configurations-create"></a>

CodeDeploy와 함께 제공되는 기본 배포 구성 중 하나를 사용하고 싶지 않은 경우 다음 지침을 사용하여 직접 만들 수 있습니다.

CodeDeploy 콘솔, AWS CLI CodeDeploy APIs 또는 CloudFormation 템플릿을 사용하여 사용자 지정 배포 구성을 생성할 수 있습니다.

 CloudFormation 템플릿을 사용하여 배포 구성을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[CloudFormation CodeDeploy 참조용 템플릿](reference-cloudformation-templates.md).

**Topics**
+ [배포 구성 생성(콘솔)](#deployment-configurations-create-console)
+ [CodeDeploy에서 배포 구성 생성(AWS CLI)](#deployment-configurations-create-cli)

## 배포 구성 생성(콘솔)
<a name="deployment-configurations-create-console"></a>

 AWS 콘솔을 사용하여 배포 구성을 만들려면 다음 지침을 따르세요.

**콘솔을 사용하여 CodeDeploy에서 배포 구성을 생성하려면 다음을 수행하세요.**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) CodeDeploy 콘솔을 엽니다.
**참고**  
[CodeDeploy 시작하기](getting-started-codedeploy.md)에서 설정한 사용자와 동일한 사용자로 로그인합니다.

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

   기본 제공 배포 구성 목록이 나타납니다.

1. **배포 구성 만들기**를 선택합니다.

1. **배포 구성 이름**에 배포 구성 이름을 입력합니다. 예를 들어 **my-deployment-config**입니다.

1. **컴퓨팅 플랫폼**에서 다음 중 하나를 선택합니다.
   + **EC2/온프레미스**
   + **AWS Lambda**
   + **Amazon ECS**

1. 다음 중 하나를 수행하세요.
   + **EC2/온프레미스**를 선택한 경우:

     1. **최소 정상 호스트**에서 배포 중 언제든지 사용 가능한 상태로 유지되어야 하는 인스턴스의 수 또는 비율을 지정합니다. CodeDeplo가 배포 중 인스턴스 상태를 모니터링 및 평가하는 방법에 대한 자세한 내용은 [CodeDeploy 인스턴스 상태](instances-health.md) 단원을 참조하세요.

     1. (선택 사항) **영역 구성**에서 **영역 구성 활성화**를 선택하여 CodeDeploy가 AWS 리전 내에서 한 번에 하나의 [가용 영역](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones)에 애플리케이션을 배포하도록 합니다. 한 번에 하나의 가용 영역에 배포하면 배포의 성능과 실행 가능성에 대한 신뢰가 높아짐에 따라 점차 더 많은 대상에게 배포를 노출할 수 있습니다. 역 구성을 활성화하지 않으면 CodeDeploy는 리전 전체에서 무작위로 선택한 호스트에 애플리케이션을 배포합니다.

        영역 구성 기능을 활성화하는 경우 다음 사항에 유의하세요.
        + 영역 구성 기능은 Amazon EC2 인스턴스에 대한 현재 위치 배포에서만 지원됩니다. (블루/그린 배포 및 온프레미스 인스턴스는 지원되지 않음) 현재 위치 배포에 대한 자세한 내용은 [배포 유형](primary-components.md#primary-components-deployment-type) 단원을 참조하세요.
        + 영역 구성 기능은 [미리 정의된 배포 구성](deployment-configurations.md#deployment-configurations-predefined)에서는 지원되지 않습니다. 영역 구성을 사용하려면 여기에 설명된 대로 사용자 지정 배포 구성을 만들어야 합니다.
        + CodeDeploy가 배포를 롤백해야 하는 경우 CodeDeploy는 임의의 호스트에서 롤백 작업을 수행합니다. (예상대로 CodeDeploy는 한 번에 한 영역씩 롤백하지 않음) 이 롤백 동작은 성능상의 이유로 선택되었습니다. 롤백에 대한 자세한 내용은 [CodeDeploy를 사용하여 재배포 및 배포 롤백](deployments-rollback-and-redeploy.md)을 참조하세요.

     1. **영역 구성 활성화** 확인란을 선택한 경우 선택적으로 다음 옵션을 지정합니다.
        + (선택 사항) **모니터 지속 시간**에서 가용 영역에 대한 배포를 완료한 후 CodeDeploy가 대기해야 하는 기간(초)을 지정합니다. CodeDeploy는 다음 가용 영역으로의 배포를 시작하기 전에 이 시간 동안 대기합니다. 다음 가용 영역에 배포하기 전에 한 가용 영역에서 배포가 스스로를 증명(또는 '베이크')할 시간을 주기 위해 모니터 지속 시간을 추가하는 것을 고려하세요. 모니터 지속 시간을 지정하지 않으면 CodeDeploy는 즉시 다음 가용 영역으로 배포를 시작합니다. **모니터 지속 시간** 설정의 작동 방식에 대한 자세한 내용은 [가용 영역당 최소 정상 인스턴스 수 정보](instances-health.md#minimum-healthy-hosts-az)를 참조하세요.
        + (선택 사항) **첫 번째 영역에 대한 모니터 지속 시간 추가**를 선택하여 첫 번째 가용성 영역에만 적용되는 모니터 지속 시간을 설정합니다. 첫 번째 가용 영역에 대해 추가 베이크 시간을 허용하려는 경우 이 옵션을 설정할 수 있습니다. **첫 번째 영역 모니터 지속 시간 추가**에 값을 지정하지 않으면 CodeDeploy는 첫 번째 가용성 영역의 **모니터 지속 시간** 값을 사용합니다.
        + (선택 사항) **영역당 최소 정상 호스트**에서 배포 중 가용 영역별로 사용 가능한 상태로 유지되어야 하는 인스턴스의 수 또는 백분율을 지정합니다. 백분율을 지정하려면 **FLEET\$1PERCENT**를 선택하고, 숫자를 지정하려면 **HOST\$1COUNT**를 선택합니다. 이 필드는 **최소 정상 호스트** 필드와 함께 작동합니다. 자세한 내용은 [가용 영역당 최소 정상 인스턴스 수 정보](instances-health.md#minimum-healthy-hosts-az) 단원을 참조하십시오.

          **영역당 최소 정상 호스트**에서 값을 지정하지 않으면 CodeDeploy는 기본값인 `0`%를 사용합니다.
   + **AWS Lambda** 또는 **Amazon ECS**를 선택한 경우:

     1. **유형**에서 **선형** 또는 **캐너리**를 선택합니다.

     1. **단계** 및 **간격** 필드에서 다음 중 하나를 수행하세요.
        + **단계**에 **캐너리**를 선택한 경우, 이동할 트래픽의 백분율(1에서 99 사이)을 입력합니다. 이 값은 첫 번째 증분에서 이동되는 트래픽의 백분율입니다. 나머지 트래픽은 선택한 간격 후에 두 번째 증분으로 이동합니다.

          **간격**에 첫 번째와 두 번째 트래픽 이동 사이의 시간(분)을 입력합니다.
        + **단계**에 **선형**을 선택한 경우, 이동할 트래픽의 백분율(1에서 99 사이)을 입력합니다. 이 값은 각 간격이 시작될 때 이동되는 트래픽의 비율입니다.

          **간격**에 각 증분 이동 사이의 시간(분)을 입력합니다.

1. **배포 구성 만들기**를 선택합니다.

   이제 배포 그룹과 연결할 수 있는 배포 구성이 생겼습니다.

## CodeDeploy에서 배포 구성 생성(AWS CLI)
<a name="deployment-configurations-create-cli"></a>

 AWS CLI 를 사용하여 배포 구성을 생성하려면 [create-deployment-config](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-config.html) 명령을 호출합니다.



다음 예에서는 배포 중 정상 상태를 유지하기 위해 대상 인스턴스의 75%를 필요로 하는 `ThreeQuartersHealthy`라는 EC2/온프레미스 배포 구성을 생성합니다.

```
aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENT,value=75
```



다음 예에서는 배포당 총 300개의 대상 인스턴스가 정상 상태를 유지해야 하고 가용 영역당 50개의 대상 인스턴스가 정상 상태를 유지해야 하는 `300Total50PerAZ`라는 EC2/온프레미스 배포 구성을 생성합니다. 또한 모니터 지속 시간을 1시간으로 설정합니다.

```
aws deploy create-deployment-config --deployment-config-name 300Total50PerAZ --minimum-healthy-hosts type=HOST_COUNT,value=300 --zonal-config '{"monitorDurationInSeconds":3600,"minimumHealthyHostsPerZone":{"type":"HOST_COUNT","value":50}}'
```





다음 예제에서는 라는 AWS Lambda 배포 구성을 생성합니다`Canary25Percent45Minutes`. 이 구성은 Canary 트래픽 이동을 사용하여 첫 증분에서 트래픽의 25퍼센트를 이동합니다. 나머지 75%는 45분 후에 이동됩니다.

```
aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform Lambda
```



다음 예에서는 `Canary25Percent45Minutes`라는 Amazon ECS 배포 구성을 생성합니다. 이 구성은 Canary 트래픽 이동을 사용하여 첫 증분에서 트래픽의 25퍼센트를 이동합니다. 나머지 75%는 45분 후에 이동됩니다.

```
aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform ECS
```