

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

# CodeDeploy를 사용하여 애플리케이션 생성
<a name="applications-create"></a>

*애플리케이션*은 CodeDeploy에서 사용하는 단순한 이름 또는 컨테이너로, 배포 중에 올바른 개정, 배포 구성 및 배포 그룹이 참조되도록 합니다. CodeDeploy 콘솔, AWS CLI, CodeDeploy APIs 또는 CloudFormation 템플릿을 사용하여 애플리케이션을 생성할 수 있습니다.

코드 또는 애플리케이션 개정은 배포라는 프로세스를 통해 인스턴스에 설치됩니다. CodeDeploy는 두 종류의 배포를 지원합니다.
+ **현재 위치 배포**: 배포 그룹의 각 인스턴스에 있는 애플리케이션이 중지되고 최신 애플리케이션 개정 버전이 설치되며 애플리케이션의 새 버전이 시작되고 유효성이 검사됩니다. 로드 밸런서를 사용하면 배포가 진행될 때 각 인스턴스를 등록 취소한 후 배포가 완료된 후 서비스로 복원할 수 있습니다. EC2/온프레미스 컴퓨팅 플랫폼을 사용하는 배포만 인 플레이스 배포를 사용할 수 있습니다. 현재 위치 배포에 대한 자세한 내용은 [인 플레이스 배포 개요](welcome.md#welcome-deployment-overview-in-place) 단원을 참조하세요.
+ **Blue/Green 배포**: 배포 동작은 사용하는 컴퓨팅 플랫폼에 따라 다릅니다.
  + **EC2/온프레미스 컴퓨팅 플랫폼에서의 블루/그린 배포**: 배포 그룹(원래 환경)의 인스턴스가 다음 단계를 거쳐 인스턴스의 다른 집합(대체 환경)으로 대체됩니다.
    + 인스턴스는 대체 환경을 위해 프로비저닝됩니다.
    + 최신 애플리케이션 수정은 대체 인스턴스에 설치됩니다.
    + 애플리케이션 테스트 및 시스템 검증과 같은 활동에 선택적 대기 시간이 발생합니다.
    + 대체 환경의 인스턴스가 하나 이상의 Elastic Load Balancing 로드 밸런서에 등록되고 트래픽이 이러한 인스턴스로 라우팅됩니다. 원래 환경의 인스턴스는 등록이 취소되고 종료되거나 다른 용도로 계속 실행될 수 있습니다.
**참고**  
EC2/온프레미스 컴퓨팅 플랫폼을 사용할 경우 블루/그린 배포는 Amazon EC2 인스턴스에서만 작동합니다.
  + ** AWS Lambda 또는 Amazon ECS 컴퓨팅 플랫폼의 블루/그린**: 트래픽은 **canary**, **선형** 또는 **all-at-once** 배포 구성에 따라 증분으로 이동합니다.
  + **를 통한 블루/그린 배포 CloudFormation**: CloudFormation 스택 업데이트의 일부로 트래픽이 현재 리소스에서 업데이트된 리소스로 이동합니다. 현재는 ECS 블루/그린 배포만 지원됩니다.

  Blue/Green 배포에 대한 자세한 내용은 [블루/그린 배포 개요](welcome.md#welcome-deployment-overview-blue-green) 단원을 참조하세요.

CodeDeploy 콘솔을 사용하여 애플리케이션을 만드는 경우 동시에 이 애플리케이션의 첫 번째 배포 그룹을 구성합니다. AWS CLI 를 사용하여 애플리케이션을 생성할 때 별도의 단계에서 첫 번째 배포 그룹을 생성합니다.

 AWS 계정에 이미 등록된 애플리케이션 목록을 보려면 섹션을 참조하세요[CodeDeploy로 애플리케이션 세부 정보 보기](applications-view-details.md). CloudFormation 템플릿을 사용하여 애플리케이션을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[CloudFormation CodeDeploy 참조용 템플릿](reference-cloudformation-templates.md).

 두 배포 유형 모두 모든 대상에 적용되는 것은 아닙니다. 다음 표에는 세 가지 유형의 배포 대상에 대한 배포와 함께 작동하는 배포 유형이 나열되어 있습니다.


****  

| 배포 대상 | 현재 위치 | 블루/그린 | 
| --- | --- | --- | 
| Amazon EC2  | 예 | 예 | 
| 온프레미스 | 예 | 아니요 | 
| 서버리스 AWS Lambda 함수 | 아니요 | 예 | 
| Amazon ECS 애플리케이션 | 아니요 | 예 | 



**Topics**
+ [현재 위치(in-place) 배포를 위한 애플리케이션 생성(콘솔)](applications-create-in-place.md)
+ [Blue/Green 배포를 위한 애플리케이션 생성(콘솔)](applications-create-blue-green.md)
+ [Amazon ECS 서비스 배포를 위한 애플리케이션 생성 (콘솔)](applications-create-ecs.md)
+ [AWS Lambda 함수 배포를 위한 애플리케이션 생성(콘솔)](applications-create-lambda.md)
+ [애플리케이션(CLI) 생성](applications-create-cli.md)

# 현재 위치(in-place) 배포를 위한 애플리케이션 생성(콘솔)
<a name="applications-create-in-place"></a>

CodeDeploy 콘솔을 사용하여 현재 위치 배포를 위한 애플리케이션을 생성하려면

 

**주의**  
다음과 같은 경우 아래 단계를 수행하지 마세요.  
CodeDeploy 배포에서 사용할 인스턴스를 아직 준비하지 않은 경우. 인스턴스를 설정하려면 [CodeDeploy용 인스턴스 작업](instances.md) 섹션의 지침을 수행한 다음 이 주제의 단계를 수행하세요.
사용자 지정 배포 구성을 사용하는 애플리케이션을 만들고 싶지만 아직 배포 구성을 만들지 못한 경우. [CodeDeploy에서 배포 구성 만들기](deployment-configurations-create.md)의 지침을 수행한 다음 이 주제의 단계를 수행하세요.
필요한 최소한의 신뢰 및 권한으로 CodeDeploy를 신뢰하는 서비스 역할이 없는 경우. 필요한 권한이 있는 서비스 역할을 만들고 구성하려면 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md)의 지침을 수행한 다음 이 주제의 단계로 돌아갑니다.
현재 위치 배포에 대해 Elastic Load Balancer에서 Classic Load Balancer, Application Load Balancer 또는 Network Load Balancer를 선택하려고 하지만 아직 생성하지 않았습니다.

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. **애플리케이션 이름**에 애플리케이션의 이름을 입력합니다.

1. **컴퓨팅 플랫폼**에서 **EC2/온프레미스**를 선택합니다.

1. **애플리케이션 생성**을 선택합니다.

1. 애플리케이션 페이지의 **배포 그룹** 탭에서 **배포 그룹 생성**을 선택합니다.

1. **Deployment group name(배포 그룹 이름)**에 배포 그룹을 설명하는 이름을 입력합니다.
**참고**  
(배포 그룹 이름, 태그, Amazon EC2 Auto Scaling 그룹 이름 또는 둘 다 및 배포 구성을 비롯하여) 다른 배포 그룹에서 사용되는 것과 동일한 설정을 사용하려면 이 페이지에서 지정합니다. 새 배포 그룹과 기존 배포 그룹의 이름이 같더라도 각 배포 그룹은 개별 애플리케이션과 연결되므로 CodeDeploy에서는 이러한 배포 그룹을 개별 배포 그룹으로 취급합니다.

1. **서비스 역할**에서 대상 인스턴스에 액세스할 수 있는 권한을 CodeDeploy에 부여하는 서비스 역할을 선택합니다.

1. **배포 유형**에서 **In-place(현재 위치)**를 선택합니다.

1. **환경 구성**에서 다음 중 하나를 선택합니다.

   1. **Amazon EC2 Auto Scaling 그룹**: 애플리케이션 개정을 배포할 Amazon EC2 Auto Scaling 그룹의 이름을 입력하거나 선택합니다. 새 Amazon EC2 인스턴스가 Amazon EC2 Auto Scaling 그룹의 일부로 시작되면 CodeDeploy에서는 새 인스턴스로 개정을 자동으로 배포할 수 있습니다. 배포 그룹당 최대 10개의 Amazon EC2 Auto Scaling 그룹을 추가할 수 있습니다.

   1. **Amazon EC2 인스턴스** 또는 **온프레미스 인스턴스**: **키** 및 **값** 필드에서 인스턴스에 태그를 지정하는 데 사용하는 키-값 페어의 값을 입력합니다. 한 태그 그룹에서 최대 10개의 키-값 페어에 태그를 지정할 수 있습니다.

      1. **값** 필드에서 와일드카드를 사용해 특정 패턴으로 태그가 지정된 모든 인스턴스를 식별할 수 있습니다(예: Amazon EC2 인스턴스, 코스트 센터 및 그룹 이름 등). 예를 들어, **키**필드에서 **이름**을 선택하고 **값** 필드에서 **GRP-\$1a**를 입력하면 CodeDeploy가 해당 패턴에 맞는 모든 인스턴스(예: **GRP-1a**, **GRP-2a**, 및 **GRP-XYZ-a**)를 식별합니다.

      1. **값** 필드는 대/소문자를 구분합니다.

      1. 목록에서 키-값 페어를 제거하려면 **태그 제거**를 선택합니다.

      CodeDeploy에서는 지정된 각 키-값 페어 또는 Amazon EC2 Auto Scaling 그룹 이름과 일치하는 인스턴스를 찾기 때문에 일치하는 인스턴스 개수가 표시됩니다. 인스턴스에 대한 자세한 내용을 확인하려면 이 숫자를 선택하세요.

      배포된 인스턴스의 기준을 세분화하려면 [**Add tag group**]을 선택하여 태그 그룹을 만듭니다. 키-값 페어가 각각 최대 10개인 태그 그룹을 최대 세 개까지 만들 수 있습니다. 배포 그룹에서 여러 태그 그룹을 사용하는 경우 모든 태그 그룹으로 식별되는 인스턴스만 배포 그룹에 포함됩니다. 즉 인스턴스는 배포 그룹에 포함될 각 그룹의 태그 중 적어도 하나와 일치해야 합니다.

      태그 그룹을 사용하여 배포 그룹을 세분화하는 방법에 대한 자세한 내용은 [CodeDeploy에서 배포 그룹에 대한 인스턴스에 태그 지정](instances-tagging.md) 단원을 참조하세요.

1. **배포 설정**에서, 애플리케이션이 인스턴스에 배포되는 속도를 제어하는 배포 구성을 선택합니다(예: 한 번에 하나씩 또는 한 번에 모두). 배포 구성에 대한 자세한 내용은 [CodeDeploy에서 배포 구성 작업](deployment-configurations.md) 단원을 참조하세요.

1. (선택 사항) **로드 밸런서**에서 **로드 밸런싱 활성화**를 선택한 후, 목록에서 CodeDeploy 배포 프로세스 중 인스턴스로 가는 트래픽을 관리할 Classic Load Balancer, Application Load Balancer 대상 그룹 및 Network Load Balancer 대상 그룹을 선택합니다. 최대 10개의 Classic Load Balancer 및 10개의 대상 그룹으로 총 20개의 항목을 선택할 수 있습니다. 배포하려는 Amazon EC2 인스턴스가 선택한 로드 밸런서(Classic Load Balancer) 또는 대상 그룹(Application Load Balancer 및 Network Load Balancer)에 등록되어 있는지 확인합니다.

   배포 중에는 선택한 로드 밸런서 및 대상 그룹에서 원본 인스턴스의 등록이 취소되어 배포 중에 트래픽이 이러한 인스턴스로 라우팅되는 것이 방지됩니다. 배포가 완료되면 각 인스턴스가 선택한 *모든* Classic Load Balancer 및 대상 그룹에 다시 등록됩니다.

   CodeDeploy 배포에 사용할 수 있는 로드 밸런서에 대한 자세한 내용은 [CodeDeploy와 Elastic Load Balancing 통합](integrations-aws-elastic-load-balancing.md) 단원을 참조하세요.

1. (선택 사항) **고급**을 확장하고 배포에 포함하려는 모든 옵션(예: Amazon SNS 알림 트리거, Amazon CloudWatch 경보 또는 자동 롤백)을 구성합니다.

   자세한 내용은 [배포 그룹에 대한 고급 옵션 구성](deployment-groups-configure-advanced-options.md) 단원을 참조하십시오.

1. [**Create deployment group**]을 선택합니다.

다음 단계는 애플리케이션 및 배포 그룹에 배포할 개정을 준비하는 것입니다. 지침은 [CodeDeploy의 애플리케이션 개정 작업](application-revisions.md) 단원을 참조하세요.

# Blue/Green 배포를 위한 애플리케이션 생성(콘솔)
<a name="applications-create-blue-green"></a>

CodeDeploy 콘솔을 사용하여 Blue/Green 배포에 필요한 애플리케이션을 생성하려면

**참고**  
 AWS Lambda 컴퓨팅 플랫폼에 대한 배포는 항상 블루/그린 배포입니다. 배포 유형 옵션은 지정하지 않습니다.

**주의**  
다음과 같은 경우 아래 단계를 수행하지 마세요.  
Blue/Green 배포 프로세스 중 대체하려는 인스턴스에 CodeDeploy 에이전트가 설치되어 있지 않은 경우. 인스턴스를 설정하려면 [CodeDeploy용 인스턴스 작업](instances.md) 섹션의 지침을 수행한 다음 이 주제의 단계를 수행하세요.
사용자 지정 배포 구성을 사용하는 애플리케이션을 만들고 싶지만 아직 배포 구성을 만들지 못한 경우. [CodeDeploy에서 배포 구성 만들기](deployment-configurations-create.md)의 지침을 수행한 다음 이 주제의 단계를 수행하세요.
최소한 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md)에 설명된 신뢰 및 권한으로 CodeDeploy를 신뢰하는 서비스 역할이 없는 경우. 서비스 역할을 만들고 구성하려면 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md)의 지침을 수행한 다음 이 주제의 단계를 수행하세요.
대체 환경에서 인스턴스를 등록하기 위해 Elastic Load Balancing에서 Classic Load Balancer, Application Load Balancer 또는 Network Load Balancer를 생성하지 않았습니다. 자세한 내용은 [Elastic Load Balancing에서 CodeDeploy Amazon EC2 배포에 대한 로드 밸런서 설정](deployment-groups-create-load-balancer.md) 단원을 참조하십시오.

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. **컴퓨팅 플랫폼**에서 **EC2/온프레미스**를 선택합니다.

1. **애플리케이션 생성**을 선택합니다.

1. 애플리케이션 페이지의 **배포 그룹** 탭에서 **배포 그룹 생성**을 선택합니다.

1. **Deployment group name(배포 그룹 이름)**에 배포 그룹을 설명하는 이름을 입력합니다.
**참고**  
(배포 그룹 이름, 태그, Amazon EC2 Auto Scaling 그룹 이름 및 배포 구성을 비롯하여) 다른 배포 그룹에서 사용되는 것과 동일한 설정을 사용하려면 이 페이지에서 해당 설정을 선택합니다. 새 배포 그룹과 기존 배포 그룹의 이름이 같더라도 각 배포 그룹은 개별 애플리케이션과 연결되므로 CodeDeploy에서는 이러한 배포 그룹을 개별 배포 그룹으로 취급합니다.

1. **서비스 역할**에서 대상 인스턴스에 액세스할 수 있는 권한을 CodeDeploy에 부여하는 서비스 역할을 선택합니다.

1. **배포 유형**에서 **Blue/Green(블루/그린)**을 선택합니다.

1. [**Environment configuration**]에서 대체 환경에 인스턴스를 제공하는 데 사용할 방법을 선택합니다.

   1. **Amazon EC2 Auto Scaling 그룹 자동 복사**: CodeDeploy 그룹은 지정된 그룹을 복사하여 Amazon EC2 Auto Scaling 그룹을 생성합니다.

   1. [**Manually provision instances**]: 배포를 만들 때까지 대체 환경에 필요한 인스턴스를 지정할 수 없습니다. 배포를 시작하려면 먼저 인스턴스를 만들어야 합니다. 대신, 여기서 대체할 인스턴스를 지정합니다.

1. 10단계에서 선택한 항목에 따라 다음 중 하나를 수행하세요.
   + **Amazon EC2 Auto Scaling 그룹 자동 복사**를 선택한 경우: **Amazon EC2 Auto Scaling 그룹**에서 대체 환경의 인스턴스에 대한 Amazon EC2 Auto Scaling 그룹의 템플릿으로 사용할 Amazon EC2 Auto Scaling 그룹의 이름을 선택하거나 입력합니다. 선택한 Amazon EC2 Auto Scaling 그룹의 현재 정상 인스턴스 개수가 대체 환경에서 생성됩니다.
   + **인스턴스 수동 프로비저닝**을 선택한 경우: **Amazon EC2 Auto Scaling 그룹**이나 **Amazon EC2 인스턴스** 또는 둘 다에서 이 배포 그룹에 추가할 인스턴스를 지정할 수 있습니다. 원본 환경에서 인스턴스(즉, 대체할 인스턴스 또는 현재 애플리케이션 개정을 실행 중인 인스턴스)를 식별할 Amazon EC2 태그 값 또는 Amazon EC2 Auto Scaling 그룹 이름을 입력합니다.

1. **로드 밸런서**에서 **로드 밸런싱 활성화**를 선택한 후 목록에서 대체 Amazon EC2 인스턴스를 등록할 Classic Load Balancer, Application Load Balancer 대상 그룹 및 Network Load Balancer 대상 그룹을 선택합니다. 각 대체 인스턴스는 선택한 *모든* Classic Load Balancer 및 대상 그룹에 등록됩니다. 최대 10개의 Classic Load Balancer 및 10개의 대상 그룹으로 총 20개의 항목을 선택할 수 있습니다.

   선택한 **트래픽 재라우팅** 및 **배포 구성** 설정에 따라 트래픽이 원본 인스턴스에서 대체 인스턴스로 다시 라우팅됩니다.

   CodeDeploy 배포에 사용할 수 있는 로드 밸런서에 대한 자세한 내용은 [CodeDeploy와 Elastic Load Balancing 통합](integrations-aws-elastic-load-balancing.md) 단원을 참조하세요.

1. [**Deployment settings**]에서 대체 환경으로 트래픽을 다시 라우팅하기 위한 기본 옵션(배포에 사용할 배포 구성임)과 배포 후 원본 환경의 인스턴스 처리 방법에 대한 기본 옵션을 검토합니다.

   설정을 변경하려면 다음 단계로 진행합니다. 그렇지 않으면 15단계로 건너뛰세요.

1. Blue/Green 배포에 대한 배포 설정을 변경하려면 다음 설정을 변경합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/applications-create-blue-green.html)

1. (선택 사항) **고급**에서 배포에 포함하려는 모든 옵션(예: Amazon SNS 알림 트리거, Amazon CloudWatch 경보 또는 자동 롤백)을 구성합니다.

   배포 그룹에서 고급 옵션 지정에 대한 자세한 내용은 [배포 그룹에 대한 고급 옵션 구성](deployment-groups-configure-advanced-options.md) 단원을 참조하세요.

1. [**Create deployment group**]을 선택합니다.

다음 단계는 애플리케이션 및 배포 그룹에 배포할 개정을 준비하는 것입니다. 지침은 [CodeDeploy의 애플리케이션 개정 작업](application-revisions.md) 단원을 참조하세요.

# Amazon ECS 서비스 배포를 위한 애플리케이션 생성 (콘솔)
<a name="applications-create-ecs"></a>

 CodeDeploy 콘솔을 사용하여 Amazon ECS 서비스 배포를 위한 애플리케이션을 생성할 수 있습니다.

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

1. 탐색 창에서 **배포**를 확장하고 **시작하기**를 선택합니다.

1. **애플리케이션 생성** 페이지에서 **codeDeploy 사용**을 선택합니다.

1. **애플리케이션 이름**에 애플리케이션의 이름을 입력합니다.

1. **컴퓨팅 플랫폼**에서 **Amazon ECS**를 선택합니다.

1. **애플리케이션 생성**을 선택합니다.

1. 애플리케이션 페이지의 **배포 그룹** 탭에서 **배포 그룹 생성**을 선택합니다. Amazon ECS 배포에 대한 배포 그룹을 만드는 데 필요한 항목에 대한 자세한 정보는 [Amazon ECS 배포를 시작하기 전](deployment-steps-ecs.md#deployment-steps-prerequisites-ecs) 단원을 참조하세요.

1. **Deployment group name(배포 그룹 이름)**에 배포 그룹을 설명하는 이름을 입력합니다.
**참고**  
(배포 그룹 이름 및 배포 구성을 포함하여) 다른 배포 그룹에서 사용되는 것과 동일한 설정을 사용하려면 이 페이지에서 해당 설정을 선택합니다. 새 그룹과 기존 그룹의 이름이 같더라도 각 배포 그룹은 개별 애플리케이션과 연결되므로 CodeDeploy는 이러한 배포 그룹을 개별 배포 그룹으로 취급합니다.

1. **서비스 역할**에서 Amazon ECS에 액세스할 수 있는 권한을 CodeDeploy에 부여하는 서비스 역할을 선택합니다. 자세한 내용은 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md) 단원을 참조하십시오.

1.  **로드밸런서 이름**에서 Amazon ECS 서비스에 트래픽을 공급하는 로드밸런서의 이름을 선택합니다.

1.  **프로덕션 리스너 포트**에서 해당 Amazon ECS 서비스에 서비스 프로덕션 트래픽을 공급하는 리스너의 프로토콜과 포트를 선택합니다.

1.  (선택 사항) **테스트 리스너 포트**에서 배포 중 해당 Amazon ECS 서비스의 대체 작업 세트에 트래픽을 공급하는 테스트 리스너의 프로토콜과 포트를 선택합니다. `AfterAllowTestTraffic` 후크 중 실행하는 AppSpec 파일의 Lambda 함수를 한 개 이상 지정할 수 있습니다. 이 함수는 확인 테스트를 실행할 수 있습니다. 확인 테스트가 실패하면 배포 롤백이 트리거됩니다. 확인 테스트가 성공하면 배포 수명 주기의 다음 후크인 `BeforeAllowTraffic`이 트리거됩니다. 테스트 리스너 포트를 지정하지 않으면 `AfterAllowTestTraffic` 후크 중 아무것도 수행되지 않습니다. 자세한 내용은 [Amazon ECS 배포를 위한 AppSpec 'hooks' 섹션](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs) 단원을 참조하십시오.

1. **대상 그룹 1 이름**과 **대상 그룹 2 이름**에서 배포 중 트래픽을 라우팅하는 데 사용되는 대상 그룹을 선택합니다. CodeDeploy는 한 대상 그룹을 Amazon ECS 서비스의 기존 작업 세트에 바인딩하고 다른 대상 그룹을 대체 작업 세트에 바인딩합니다. 자세한 내용은 [Application Load Balancer의 대상 그룹 지정](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html)을 참조하세요.

1.  **즉시 트래픽 다시 라우팅** 또는 **트래픽을 언제 다시 라우팅할지 지정**을 선택하여 업데이트된 Amazon ECS 서비스에 트래픽을 언제 다시 라우팅할지를 지정합니다.

    **Reroute traffic immediately(즉시 트래픽 다시 라우팅)**를 선택한 경우 대체 작업 세트가 프로비저닝된 후 배포가 트래픽을 자동으로 다시 라우팅합니다.

    **Specify when to reroute traffic(트래픽을 언제 다시 라우팅할지 지정)**을 선택한 경우 대체 작업 세트가 성공적으로 프로비저닝된 후 대기할 일, 시간 및 분을 선택합니다. 이 대기 시간 동안 AppSpec 파일에 지정된 Lambda 함수의 유효성 테스트가 실행됩니다. 트래픽이 다시 라우팅되기 전에 대기 시간이 만료되면 배포 상태가 `Stopped`로 변경됩니다.

1.  **기존 개정 종료**에서 배포 성공 후 얼마 후에 Amazon ECS 서비스의 기존 작업 세트가 종료될지를 일, 시간, 분으로 선택합니다.

1. (선택 사항) **고급**에서 배포에 포함하려는 모든 옵션(예: Amazon SNS 알림 트리거, Amazon CloudWatch 경보 또는 자동 롤백)을 구성합니다.

   자세한 내용은 [배포 그룹에 대한 고급 옵션 구성](deployment-groups-configure-advanced-options.md) 단원을 참조하십시오.

# AWS Lambda 함수 배포를 위한 애플리케이션 생성(콘솔)
<a name="applications-create-lambda"></a>

CodeDeploy 콘솔을 사용하여 AWS Lambda 함수 배포를 위한 애플리케이션을 생성할 수 있습니다.

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

1. 탐색 창에서 **배포**를 확장하고 **시작하기**를 선택합니다.

1. **애플리케이션 생성** 페이지에서 **codeDeploy 사용**을 선택합니다.

1. **애플리케이션 이름**에 애플리케이션의 이름을 입력합니다.

1. **컴퓨팅 플랫폼**에서 **AWS Lambda**을(를) 선택합니다.

1. **애플리케이션 생성**을 선택합니다.

1. 애플리케이션 페이지의 **배포 그룹** 탭에서 **배포 그룹 생성**을 선택합니다.

1. **Deployment group name(배포 그룹 이름)**에 배포 그룹을 설명하는 이름을 입력합니다.
**참고**  
(배포 그룹 이름 및 배포 구성을 포함하여) 다른 배포 그룹에서 사용되는 것과 동일한 설정을 사용하려면 이 페이지에서 해당 설정을 선택합니다. 새 배포 그룹과 기존 배포 그룹의 이름이 같더라도 각 배포 그룹은 개별 애플리케이션과 연결되므로 CodeDeploy는 이러한 배포 그룹을 개별 배포 그룹으로 취급합니다.

1. **서비스 역할**에서 CodeDeploy에 액세스 권한을 부여하는 서비스 역할을 선택합니다 AWS Lambda. 자세한 내용은 [2단계: CodeDeploy에 대한 서비스 역할 생성](getting-started-create-service-role.md) 단원을 참조하십시오.

1.  미리 정의된 배포 구성을 사용하려면 **배포 구성**을 선택한 다음 12단계로 건너뜁니다. 사용자 지정 구성을 생성하려면 다음 단계를 계속합니다.

   배포 구성에 대한 자세한 내용은 [AWS Lambda 컴퓨팅 플랫폼의 배포 구성](deployment-configurations.md#deployment-configuration-lambda) 단원을 참조하세요.

1. 사용자 지정 구성을 생성하려면**배포 구성 생성**을 클릭한 후 다음을 수행합니다.

   1. **배포 구성 이름**에 구성 이름을 입력합니다.

   1. **유형**에서 구성 유형을 선택합니다. **Canary**를 선택한 경우 트래픽이 2 증분씩 이동합니다. **Linear**를 선택한 경우 트래픽이 동일한 증분으로 이동하며 각 증분 간에 시간(분)이 동일합니다.

   1. **단계**에 이동할 트래픽의 백분율(1\$199 사이)을 입력합니다. 구성 유형이 **Canary**인 경우에 첫 번째 증분이 이동되는 트래픽의 비율입니다. 나머지 트래픽은 선택한 간격 후에 두 번째 증분으로 이동합니다. 구성 유형이 **Linear**인 경우에 각 간격이 시작될 때 이동되는 트래픽의 비율입니다.

   1. **간격**에 시간(분)을 입력합니다. 구성 유형이 **Canary**인 경우 첫 번째와 두 번째 트래픽 이동 사이의 시간(분)입니다. 구성 유형이 **Linear**인 경우 각 증분 이동 사이의 시간(분)입니다.
**참고**  
 AWS Lambda 배포의 최대 길이는 2일 또는 2,880분입니다. 따라서 canary 구성의 **간격**에 지정되는 최대 값은 2,800분입니다. linear(선형) 구성의 최대 값은 **단계**의 값에 따릅니다. 예를 들어 선형 트래픽 이동의 단계 백분율이 25%인 경우 트래픽 이동이 네 개입니다. 최대 간격 값은 2,880을 4분 또는 720분으로 나눈 값입니다.

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

1. (선택 사항) **고급**에서 배포에 포함하려는 모든 옵션(예: Amazon SNS 알림 트리거, Amazon CloudWatch 경보 또는 자동 롤백)을 구성합니다.

   자세한 내용은 [배포 그룹에 대한 고급 옵션 구성](deployment-groups-configure-advanced-options.md) 단원을 참조하십시오.

1. [**Create deployment group**]을 선택합니다.

# 애플리케이션(CLI) 생성
<a name="applications-create-cli"></a>

 AWS CLI 를 사용하여 애플리케이션을 생성하려면 [create-application](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-application.html) 명령을 호출하여 애플리케이션을 고유하게 나타내는 이름을 지정합니다. ( AWS 계정에서 CodeDeploy 애플리케이션 이름은 리전당 한 번만 사용할 수 있습니다. 애플리케이션 이름은 다른 리전에서 재사용할 수 있습니다.)

 AWS CLI 를 사용하여 애플리케이션을 생성한 후 다음 단계는 개정을 배포할 인스턴스를 지정하는 배포 그룹을 생성하는 것입니다. 지침은 [CodeDeploy에서 배포 그룹 만들기](deployment-groups-create.md) 단원을 참조하세요.

배포 그룹을 만든 후 다음 단계는 애플리케이션 및 배포 그룹에 배포할 개정을 준비하는 것입니다. 지침은 [CodeDeploy의 애플리케이션 개정 작업](application-revisions.md) 단원을 참조하세요.