

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

# CodeDeploy Amazon ECS 배포를 위한 로드 밸런서, 대상 그룹 및 리스너 설정
<a name="deployment-groups-create-load-balancer-for-ecs"></a>

 Amazon ECS 컴퓨팅 플랫폼을 사용하여 배포를 실행하려면 먼저 Application Load Balancer 또는 Network Load Balancer, 대상 그룹 두 개, 리스너 한 개 또는 두 개를 만들어야 합니다. 이 주제에서는 Application Load Balancer를 생성하는 방법을 보여줍니다. 자세한 내용은 [Amazon ECS 배포를 시작하기 전](deployment-steps-ecs.md#deployment-steps-prerequisites-ecs) 단원을 참조하십시오.

 대상 그룹 중 하나는 트래픽을 Amazon ECS 애플리케이션의 원래 작업 세트로 보냅니다. 다른 대상 그룹은 트래픽을 대체 작업 세트로 보냅니다. 배포 중에 CodeDeploy는 대체 작업 세트를 만들고 원래 작업 세트에서 새 작업 세트로 트래픽을 다시 라우팅합니다. CodeDeploy는 각 작업 세트에 사용되는 대상 그룹을 결정합니다.

 리스너는 로드 밸런서가 대상 그룹으로 트래픽을 보내기 위해 사용합니다. 프로덕션 리스너 한 개는 필수입니다. 확인 테스트를 실행하는 동안 대체 작업 세트로 트래픽을 보내는 선택적 테스트 리스너를 지정할 수 있습니다.

 로드밸런서는 다른 가용 영역에 두 개의 퍼블릭 서브넷이 있는 VPC를 사용해야 합니다. 다음 단계에서는 기본 VPC를 확인하고, Amazon EC2 Application Load Balancer를 생성한 다음, 로드밸런서를 위한 대상 그룹을 두 개 생성합니다. 자세한 내용은 [네트워크 로드밸런서의 대상 그룹 지정](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html)을 참조하세요.

## 기본 VPC, 퍼블릭 서브넷 및 보안 그룹 확인
<a name="deployment-groups-create-load-balancer-for-ecs-verify-vpc"></a>

 이 주제에서는 Amazon EC2,Application Load Balancer, 대상 그룹 두 개, Amazon ECS 배포 중 사용할 수 있는 포트 두 개를 생성하는 방법을 보여 줍니다. 포트 중 하나는 선택 사항이며 배포 중 검증 테스트를 위해 테스트 포트로 트래픽을 보내는 경우에만 필요합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) Amazon VPC 콘솔을 엽니다.

1. 사용할 기본 VPC를 확인합니다. 탐색 창에서 **Your VPCs**를 선택합니다. **기본 VPC** 열에서 **예**로 표시된 VPC를 확인합니다. 이 VPC가 기본 VPC입니다. 이 VPC에는 사용하는 기본 서브넷이 포함됩니다.

1. **서브넷**을 선택합니다. **기본 서브넷** 열에 **예**로 표시되는 서브넷 두 개의 서브넷 ID를 기록해 둡니다. 로드 밸런서를 생성할 때 이러한 ID를 사용합니다

1. 각 서브넷을 선택한 다음 **설명** 탭을 선택합니다. 사용할 서브넷이 다른 가용 영역에 있는지 확인합니다.

1. 서브넷을 선택한 후 **라우팅 테이블** 탭을 선택합니다. 사용할 각 서브넷이 퍼블릭 서브넷인지 확인하려면, 인터넷 게이트웨이에 대한 링크가 있는 행이 라우팅 테이블에 포함되어 있는지 확인합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **보안 그룹**을 선택합니다.

1. 사용할 보안 그룹이 사용 가능한지 확인하고 그룹 ID(예: **sg-abcd1234**)를 기록해 둡니다. 로드 밸런서를 생성할 때 이 정보를 사용합니다

## Amazon EC2 Application Load Balancer, 두 개의 대상 그룹 및 리스너 생성(콘솔)
<a name="deployment-groups-create-load-balancer-for-ecs-console"></a>

Amazon EC2 콘솔을 사용하여 Amazon EC2 Application Load Balancer를 생성하려면 다음과 같이 하세요.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **로드 밸런서**를 클릭합니다.

1. **로드 밸런서 생성**을 선택합니다.

1. **Application Load Balancer**를 선택하고 **생성**을 선택합니다.

1. **이름**에 로드밸런서의 이름을 입력합니다.

1. **체계**에서 **인터넷 연결**을 선택합니다.

1. **IP 주소 유형**에서 **ipv4**를 선택합니다.

1. (선택 사항) 로드 밸런스를 위한 두 번째 리스너 포트를 구성합니다. 이 포트에 서비스되는 테스트 트래픽을 사용하여 배포 검증 테스트를 실행할 수 있습니다.

   1. **로드 밸런서 프로토콜**에서 **리스너 추가**를 선택합니다.

   1. 두 번째 리스너의 **로드밸런서 프로토콜**에서 **HTTP**를 선택합니다.

   1. **로드 밸런서 포트**에 **8080**을 입력합니다.

1. **가용 영역**의 **VPC**에서 기본 VPC를 선택한 후 사용할 기본 서브넷 두 개를 선택합니다.

1. **다음: 보안 설정 구성**을 선택합니다.

1. **다음: 보안 그룹 구성(Next: Configure Security Groups)**을 선택합니다.

1. **기존 보안 그룹 선택**을 선택하고, 기본 보안 그룹을 선택한 다음, 해당 ID를 기록해 둡니다.

1. **다음: 라우팅 구성(Next: Configure Routing)**을 선택합니다.

1. **대상 그룹**에서 **새 대상 그룹**을 선택하고 첫 번째 대상 그룹을 구성합니다.

   1. **이름**에 대상 그룹 이름(예: **target-group-1**)을 입력합니다.

   1. **대상 형식**에서 **IP**을 선택합니다.

   1. **프로토콜**에서 **HTTP**를 선택합니다. **포트**에 **80**을 입력합니다.

   1. **다음: 대상 등록(Next: Register Targets)**을 선택합니다.

1. **다음: 검토**를 선택한 후 **역할 생성**을 선택합니다.

**로드밸런서에 대한 두 번째 대상 그룹을 생성하려면**

1. 로드밸런서가 프로비저닝된 후 Amazon EC2 콘솔을 엽니다. 탐색 창에서 **대상 그룹**을 선택합니다.

1. **대상 그룹 생성**을 선택합니다.

1. **이름**에 대상 그룹 이름(예: **target-group-2**)을 입력합니다.

1. **대상 형식**에서 **IP**을 선택합니다.

1. **프로토콜**에서 **HTTP**를 선택합니다. **포트**에 **80**을 입력합니다.

1. **VPC**에서 기본 VPC를 선택합니다.

1. **생성(Create)**을 선택합니다.
**참고**  
Amazon ECS 배포를 실행하려면 로드밸런서에 대해 두 개의 대상 그룹을 생성해야 합니다. Amazon ECS 서비스를 생성할 때 대상 그룹 중 하나의 ARN을 사용합니다. 자세한 내용은 *Amazon ECS 사용 설명서*의 [4단계: Amazon ECS 서비스 생성](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-blue-green.html#create-blue-green-taskdef)을 참조하세요.

## Amazon EC2 Application Load Balancer, 두 개의 대상 그룹 및 리스너 생성(CLI)
<a name="deployment-groups-create-load-balancer-for-ecs-cli"></a>

 AWS CLI을(를) 이용하여 Application Load Balancer 생성

1. [create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) 명령을 사용하여 Application Load Balancer를 생성합니다. 동일한 가용 영역에 속하지 않은 서브넷 2개와 보안 그룹 하나를 지정합니다.

   ```
   aws elbv2 create-load-balancer --name bluegreen-alb \
   --subnets subnet-abcd1234 subnet-abcd5678 --security-groups sg-abcd1234 --region us-east-1
   ```

   출력에는 로드 밸런서의 Amazon 리소스 이름(ARN)이 다음 형식으로 포함됩니다.

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642
   ```

1. [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html) 명령을 사용하여 첫 번째 대상 그룹을 만듭니다. CodeDeploy는 이 대상 그룹의 트래픽을 서비스에 있는 원래 또는 대체 작업 세트로 라우팅합니다.

   ```
   aws elbv2 create-target-group --name bluegreentarget1 --protocol HTTP --port 80 \
   --target-type ip --vpc-id vpc-abcd1234 --region us-east-1
   ```

   출력에는 첫 번째 대상 그룹의 ARN이 다음 형식으로 포함됩니다.

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4
   ```

1. [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html) 명령을 사용하여 두 번째 대상 그룹을 만듭니다. CodeDeploy는 대상 그룹의 트래픽을 첫 번째 대상 그룹에서 서비스되지 않는 작업 세트로 라우팅합니다. 예를 들어, 첫 번째 대상 그룹이 원래 작업 세트로 트래픽을 라우팅하는 경우 이 대상 그룹은 대체 작업 세트로 트래픽을 라우팅합니다.

   ```
   aws elbv2 create-target-group --name bluegreentarget2 --protocol HTTP --port 80 \
   --target-type ip --vpc-id vpc-abcd1234 --region us-east-1
   ```

   출력에는 두 번째 대상 그룹의 ARN이 다음 형식으로 포함됩니다.

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4
   ```

1. [create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 명령을 사용하여 프로덕션 트래픽을 포트 80에 전달하는 기본 규칙이 있는 리스너를 생성합니다.

   ```
   aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642 \
   --protocol HTTP --port 80 \
   --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4 --region us-east-1
   ```

   출력에는 리스너의 ARN이 다음 형식으로 포함됩니다.

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4
   ```

1. (선택 사항) [create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 명령을 사용하여 테스트 트래픽을 포트 8080에 전달하는 기본 규칙이 있는 두 번째 리스너를 생성합니다. 이 포트에 서비스되는 테스트 트래픽을 사용하여 배포 검증 테스트를 실행할 수 있습니다.

   ```
   aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642 \
   --protocol HTTP --port 8080 \
   --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4 --region us-east-1
   ```

   출력에는 리스너의 ARN이 다음 형식으로 포함됩니다.

   ```
   arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4
   ```