

# AWS Management Console을 사용하여 Amazon ECS 클러스터 Auto Scaling에 대한 리소스 생성
<a name="tutorial-cluster-auto-scaling-console"></a>

AWS Management Console을 사용하여 클러스터 Auto Scaling을 위한 리소스를 생성하는 방법을 알아보세요. 리소스에 이름이 필요한 경우 접두사 `ConsoleTutorial`을 사용하여 모든 리소스가 고유한 이름을 가지도록 하고 쉽게 찾을 수 있도록 합니다.

**Topics**
+ [사전 조건](#console-tutorial-prereqs)
+ [1단계: Amazon ECS 클러스터 생성](#console-tutorial-cluster)
+ [2단계: 태스크 정의 등록](#console-tutorial-register-task-definition)
+ [3단계: 작업 실행](#console-tutorial-run-task)
+ [4단계: 확인](#console-tutorial-verify)
+ [5단계: 정리](#console-tutorial-cleanup)

## 사전 조건
<a name="console-tutorial-prereqs"></a>

이 자습서에서는 다음 사전 조건이 충족되었다고 가정합니다.
+ [Amazon ECS 사용 설정](get-set-up-for-amazon-ecs.md)의 단계가 완료되었습니다.
+ IAM 사용자는 [AmazonECS\_FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonECS_FullAccess) IAM 정책 예제에 지정된 필수 권한을 가집니다.
+ Amazon ECS 컨테이너 인스턴스 IAM 역할이 생성됩니다. 자세한 정보는 [Amazon ECS 컨테이너 인스턴스 IAM 역할](instance_IAM_role.md) 섹션을 참조하세요.
+ Amazon ECS 서비스 연결 IAM 역할이 생성됩니다. 자세한 정보는 [Amazon ECS에 대해 서비스 연결 역할 사용](using-service-linked-roles.md) 섹션을 참조하세요.
+ Auto Scaling 서비스 연결 IAM 역할이 생성됩니다. 자세한 정보는 *Amazon EC2 Auto Scaling 사용 설명서*의 [Amazon EC2 Auto Scaling 서비스 연결 역할](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html)을 참조하세요.
+ 사용할 VPC 및 보안 그룹이 생성되었습니다. 자세한 내용은 [Virtual Private Cloud 생성](get-set-up-for-amazon-ecs.md#create-a-vpc) 섹션을 참조하세요.

## 1단계: Amazon ECS 클러스터 생성
<a name="console-tutorial-cluster"></a>

다음 단계에 따라 Amazon ECS 클러스터를 생성합니다.

Amazon ECS는 CloudFormation 스택의 일부로 사용자를 대신하여 Amazon EC2 Auto Scaling 시작 템플릿과 Auto Scaling 그룹을 생성합니다.

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택한 다음 **클러스터 생성**을 선택합니다.

1. **Cluster configuration**(클러스터 구성)의 **Cluster name**(클러스터 이름)에 `ConsoleTutorial-cluster`를 입력합니다.

1. **인프라**에서 AWS Fargate(서버리스)를 선택 취소한 다음 **Amazon EC2 인스턴스**를 선택합니다. 다음으로 용량 공급자 역할을 하는 Auto Scaling 그룹을 구성합니다.

   1. **Auto Scaling 그룹(ASG)**에서 다음을 수행합니다. **새 ASG 생성**을 선택한 후 그룹에 대한 다음 세부 정보를 입력합니다.
     + **Operating system/Architecture**(운영 체제/아키텍처)에서 **Amazon Linux 2**를 선택합니다.
     + **EC2 instance type**(EC2 인스턴스 유형)에서 **t3.nano**를 선택합니다.
     + **용량(Capacity)**에 Auto Scaling 그룹에서 시작할 최소 인스턴스 수와 최대 인스턴스 수를 입력합니다.

1. (선택 사항) 클러스터 태그를 관리하려면 **태그(Tags)**를 확장하고 다음 작업 중 하나를 수행합니다.

   [태그 추가] **태그 추가(Add tag)**를 선택하고 다음을 수행합니다.
   + **키(Key)**에 키 이름을 입력합니다.
   + **값**에 키 값을 입력합니다.

   [태그 제거] 태그의 키와 값 오른쪽에 있는 **제거**를 선택합니다.

1. **생성(Create)**을 선택합니다.

## 2단계: 태스크 정의 등록
<a name="console-tutorial-register-task-definition"></a>

클러스터에서 태스크를 실행하려면 먼저 태스크 정의를 등록해야 합니다. 태스크 정의는 그룹화된 컨테이너의 목록입니다. 다음 예제는 Docker Hub의 `amazonlinux` 이미지를 사용하고 대기하는 간단한 태스크 정의입니다. 사용 가능한 태스크 정의 파라미터에 대한 자세한 정보는 [Amazon ECS 작업 정의](task_definitions.md) 섹션을 참조하세요.

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. 탐색 창에서 **작업 정의**를 선택합니다.

1. **새 태스크 정의 생성(Create new task definition)**, **JSON으로 새 태스크 정의 생성(Create new task definition with JSON)**을 선택합니다.

1. **JSON 편집기** 상자에서 다음 내용을 복사하여 붙여 넣습니다.

   ```
   {
       "family": "ConsoleTutorial-taskdef",
       "containerDefinitions": [
           {
               "name": "sleep",
               "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
               "memory": 20,
               "essential": true,
               "command": [
                   "sh",
                   "-c",
                   "sleep infinity"
               ]
           }
       ],
       "requiresCompatibilities": [
           "EC2"
       ]
   }
   ```

1. **생성(Create)**을 선택합니다.

## 3단계: 작업 실행
<a name="console-tutorial-run-task"></a>

계정에 대한 태스크 정의를 등록한 후 클러스터에서 태스크를 실행할 수 있습니다. 이 자습서에서는 `ConsoleTutorial-taskdef` 클러스터에서 `ConsoleTutorial-cluster` 태스크 정의의 인스턴스 5개를 실행합니다.

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. **클러스터** 페이지에서 **ConsoleTutorial-cluster**를 선택합니다.

1. **작업에**서 **새 작업 실행**을 선택합니다.

1. **환경** 섹션의 **컴퓨팅 옵션**에서 **용량 공급자 전략**을 선택합니다.

1. **배포 구성**에서 **애플리케이션 유형**으로 **작업을** 선택합니다.

1.  **패밀리** 드롭다운 목록에서 **ConsoleTutorial-taskdef**를 선택합니다.

1. **원하는 작업에** 5를 입력합니다.

1. **생성(Create)**을 선택합니다.

## 4단계: 확인
<a name="console-tutorial-verify"></a>

자습서의 이 지점에서, 5개의 작업이 실행되는 클러스터와 용량 공급자가 있는 Auto Scaling 그룹이 있어야 합니다. 용량 공급자가 Amazon ECS 관리형 조정을 활성화했습니다.

CloudWatch 지표, Auto Scaling 그룹 설정 및 마지막으로 Amazon ECS 클러스터 작업 수를 확인하여 모든 것이 제대로 작동하는지 확인할 수 있습니다.

**클러스터에 대한 CloudWatch 지표를 보려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 화면 상단의 탐색 모음에서 리전을 선택합니다.

1. 탐색 창의 **지표**에서 **모든 지표**를 선택합니다.

1. **모든 지표** 페이지의 **찾아보기** 탭에서 `AWS/ECS/ManagedScaling`을 선택합니다.

1. **CapacityProviderName, ClusterName**을 선택합니다.

1. `ConsoleTutorial-cluster` **ClusterName**에 해당하는 확인란을 선택합니다.

1. **그래프로 표시된 지표** 탭에서 **기간**을 **30초**로 변경하고 **통계**를 **최대**로 변경합니다.

   그래프에 표시된 값은 용량 공급자에 대한 목표 용량 값을 보여 줍니다. 이것은 우리가 설정한 목표 용량 퍼센트인 `100`에서 시작되어야 합니다. 대상 추적 조정 정책에 대한 경보를 트리거하는 값인 `200`으로 확장됩니다. 그런 다음 경보가 Auto Scaling 그룹을 확장하도록 트리거합니다.

다음 단계에 따라 Auto Scaling 그룹 세부 정보를 보고 확장 작업이 발생했는지 확인합니다.

**Auto Scaling 그룹이 확장되었는지 확인하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 화면 상단의 탐색 모음에서 리전을 선택합니다.

1. 탐색 창의 **Auto Scaling**에서 **Auto Scaling 그룹**을 선택합니다.

1. 이 자습서에서 생성한 `ConsoleTutorial-cluster` Auto Scaling 그룹을 선택합니다. **원하는 용량**에서 값을 확인하고 **인스턴스 관리** 탭에서 인스턴스를 확인하여 그룹이 인스턴스 2개로 스케일 아웃되었는지 확인합니다.

다음 단계를 사용하여 Amazon ECS 클러스터를 확인하여 Amazon EC2 인스턴스가 클러스터에 등록되었고 작업이 `RUNNING` 상태로 전환되었는지 확인합니다.

**Auto Scaling 그룹에서 인스턴스 확인**

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. **클러스터(Clusters)** 페이지에서 `ConsoleTutorial-cluster` 클러스터를 선택합니다.

1. **작업** 탭에서 `RUNNING` 상태의 5개 작업이 표시되는지 확인합니다.

## 5단계: 정리
<a name="console-tutorial-cleanup"></a>

이 자습서를 완료한 후에는 사용하지 않는 리소스에 요금이 발생하지 않도록 연결된 리소스를 정리합니다. 용량 공급자 및 태스크 정의의 삭제는 지원되지 않지만 이러한 리소스와 관련된 비용은 없습니다.

**자습서 리소스를 정리하려면**

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. **클러스터** 페이지에서 **ConsoleTutorial-cluster**를 선택합니다.

1. **ConsoleTutorial-cluster** 페이지에서 **작업** 탭을 선택한 다음 **중지**, **모두 중지**를 선택합니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. **클러스터** 페이지에서 **ConsoleTutorial-cluster**를 선택합니다.

1. 페이지 오른쪽 상단에서 **클러스터 삭제**를 선택합니다.

1. 확인 상자에 ****ConsoleTutorial-cluster** 삭제**를 입력하고 **삭제**를 선택합니다.

1. 다음 단계에 따라 Auto Scaling 그룹을 삭제합니다.

   1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

   1. 화면 상단의 탐색 모음에서 리전을 선택합니다.

   1. 탐색 창의 **Auto Scaling**에서 **Auto Scaling 그룹**을 선택합니다.

   1. `ConsoleTutorial-cluster` Auto Scaling 그룹을 선택한 다음 **작업**을 선택합니다.

   1.  **작업** 메뉴에서 **삭제**를 선택합니다. 확인 상자에 **delete**를 입력한 다음 **삭제**를 선택합니다.