

# 대몬 생성 및 관리
<a name="managed-daemons-create-manage"></a>

대몬 태스크 정의를 등록한 후 대몬을 생성하여 Amazon ECS 관리형 인스턴스 용량 공급자에 걸쳐 배포합니다. Amazon ECS는 연결된 용량 공급자의 모든 Amazon EC2 인스턴스에 대몬 태스크 하나를 자동으로 배치하고 대몬 수명 주기를 관리합니다.

## 사전 조건
<a name="managed-daemons-prerequisites"></a>

대몬 생성 전에 다음을 보유하고 있는지 확인합니다.
+ Amazon ECS 클러스터.
+ 클러스터와 연결된 하나 이상의 Amazon ECS 관리형 인스턴스 용량 공급자.
+ 등록된 대몬 태스크 정의.

## 대몬 생성
<a name="managed-daemons-create"></a>

### AWS Management Console
<a name="managed-daemons-create-console"></a>

1. Amazon ECS 콘솔을 엽니다. 왼쪽 탐색 창에서 **클러스터**를 선택하고, 클러스터를 선택합니다.

1. **대몬** 탭을 선택하고, **생성**을 선택합니다.

1. **대몬 태스크 정의 패밀리**의 경우 드롭다운에서 대몬 태스크 정의를 선택합니다.

1. **대몬 태스크 정의 개정**의 경우 사용할 개정을 선택합니다. 비워 두면 최신 개정을 사용합니다.

1. **대몬 이름**에 고유한 이름을 입력합니다. 이름에 최대 255자의 영숫자, 하이픈 및 밑줄이 포함될 수 있습니다.

1. **용량 공급자**에 하나 이상의 Amazon ECS 관리형 인스턴스 용량 공급자를 선택합니다. 이를 통해 대몬 태스크를 실행하는 인스턴스가 결정됩니다.

1. (선택 사항) 배포 설정 구성:
   + **드레이닝 백분율** - 업데이트 도중 동시에 드레이닝할 인스턴스의 백분율입니다. 기본값: `25`.
   + **CloudWatch 경보 사용** - 활성화하면 배포 상태를 모니터링하고 경보가 트리거되면 자동으로 롤백합니다.
   + **베이크 시간** - 배포 완료 전에 Amazon ECS가 모든 인스턴스를 새 대몬 개정으로 업데이트한 후 대기하는 시간입니다. 이 기간 동안 Amazon ECS는 CloudWatch 경보를 모니터링하고 경보가 트리거되면 배포를 자동으로 롤백합니다. 기본값: `0`.

1. (선택 사항) 태그를 추가합니다.

1. (선택 사항) 문제 해결을 위해 대몬 컨테이너에서 대화형 명령을 실행하도록 **ECS Exec 활성화**를 켭니다.

1. 구성을 검토하고 **생성**을 선택합니다.

### AWS CLI
<a name="managed-daemons-create-cli"></a>

대몬 구성이 포함된 JSON 파일을 생성하고 `create-daemon` 명령을 실행합니다.

예제 JSON 파일:

```
{
    "clusterArn": "arn:aws:ecs:{{us-east-1}}:{{123456789012}}:cluster/{{my-daemon-cluster}}",
    "daemonName": "{{my-monitoring-daemon}}",
    "daemonTaskDefinitionArn": "arn:aws:ecs:{{us-east-1}}:{{123456789012}}:daemon-task-definition/{{my-daemon-task}}:1",
    "capacityProviderArns": [
        "arn:aws:ecs:{{us-east-1}}:{{123456789012}}:capacity-provider/{{my-daemon-capacity-provider}}"
    ]
}
```

다음 명령을 실행하여 대몬 생성:

```
aws ecs create-daemon --cli-input-json file://create-daemon.json
```

**필수 필드**
+ `daemonName` - 대몬의 고유한 이름.
+ `clusterArn` - 클러스터의 ARN.
+ `daemonTaskDefinitionArn` - 대몬 태스크 정의의 ARN.
+ `capacityProviderArns` - Amazon ECS 관리형 인스턴스 용량 공급자 ARN의 배열.

**선택 필드**
+ `deploymentConfiguration` - 배포 동작을 사용자 지정하는 `DaemonDeploymentConfiguration` 객체.
+ `tags` - 태그 지정을 위한 키-값 페어.
+ `propagateTags` - 태그 전파 설정.
+ `clientToken` - 멱등성 토큰.

## 대몬 배포 확인
<a name="managed-daemons-verify"></a>

대몬을 생성한 후 AWS Management Console 또는 AWS CLI를 사용하여 상태를 확인합니다.

### AWS Management Console
<a name="managed-daemons-verify-console"></a>

1. Amazon ECS 콘솔을 엽니다. 왼쪽 탐색 창에서 **클러스터**를 선택하고, 클러스터를 선택합니다.

1. **대몬** 탭을 선택합니다.

1. 대몬이 **활성** 상태로 표시되는지 확인합니다.

1. **태스크** 탭을 선택하여 각 컨테이너 인스턴스에서 하나의 대몬 태스크가 실행되는지 확인합니다.

### AWS CLI
<a name="managed-daemons-verify-cli"></a>

다음 명령을 실행하여 대몬 상태 확인:

```
aws ecs list-daemons \
    --cluster-arn arn:aws:ecs:{{us-east-1}}:{{123456789012}}:cluster/{{my-daemon-cluster}}
```

```
aws ecs describe-daemons \
    --daemon-arn arn:aws:ecs:{{us-east-1}}:{{123456789012}}:daemon/{{my-daemon-cluster}}/{{my-monitoring-daemon}}
```

## 대몬 업데이트
<a name="managed-daemons-update"></a>

대몬을 새 태스크 정의 개정으로 업데이트하거나 용량 공급자를 추가하려면 AWS Management Console 또는 AWS CLI를 사용합니다. 이렇게 하면 모든 인스턴스에서 롤링 배포가 트리거됩니다.

### AWS Management Console
<a name="managed-daemons-update-console"></a>

1. Amazon ECS 콘솔을 엽니다. 왼쪽 탐색 창에서 **클러스터**를 선택하고, 클러스터를 선택합니다.

1. **대몬** 탭을 선택하고, 업데이트할 대몬을 선택합니다.

1. **업데이트**를 선택합니다.

1. **대몬 태스크 정의 개정**의 경우 새 개정을 선택합니다.

1. (선택 사항) 용량 공급자 또는 배포 설정을 업데이트합니다.

1. **업데이트**를 선택하여 롤링 배포를 시작합니다.

### AWS CLI
<a name="managed-daemons-update-cli"></a>

`update-daemon` 명령을 실행합니다.

```
aws ecs update-daemon \
    --daemon-arn arn:aws:ecs:{{us-east-1}}:{{123456789012}}:daemon/{{my-daemon-cluster}}/{{my-monitoring-daemon}} \
    --daemon-task-definition-arn arn:aws:ecs:{{us-east-1}}:{{123456789012}}:daemon-task-definition/{{my-daemon-task}}:2 \
    --capacity-provider-arns arn:aws:ecs:{{us-east-1}}:{{123456789012}}:capacity-provider/{{my-daemon-capacity-provider}}
```

**중요**  
`UpdateDaemon` 요청에 대몬 구성 설정을 제공하면 Amazon ECS는 기본값 대신 지정된 설정을 사용합니다. 태그 및 실행 명령 활성화 플래그를 포함한 대몬 구성 설정은 업데이트 사이에 유지되지 않습니다. `UpdateDaemon`에 대한 각 호출에는 적용하려는 전체 구성 설정 세트가 포함되어야 합니다. 요청에서 생략된 모든 설정은 기본값으로 되돌려집니다.

## 대몬 삭제
<a name="managed-daemons-delete"></a>

대몬을 삭제하려면 AWS Management Console 또는 AWS CLI를 사용합니다. 용량 공급자 또는 클러스터를 삭제하기 전에 모든 대몬 태스크가 중지될 때까지 기다립니다.

### AWS Management Console
<a name="managed-daemons-delete-console"></a>

1. Amazon ECS 콘솔을 엽니다. 왼쪽 탐색 창에서 **클러스터**를 선택하고, 클러스터를 선택합니다.

1. **대몬** 탭을 선택하고, 삭제할 대몬을 선택합니다.

1. **삭제**를 선택합니다.

1. 확인 대화 상자에서 **삭제**를 선택하여 확인합니다.

### AWS CLI
<a name="managed-daemons-delete-cli"></a>

`delete-daemon` 명령을 실행합니다.

```
aws ecs delete-daemon \
    --daemon-arn arn:aws:ecs:{{us-east-1}}:{{123456789012}}:daemon/{{my-daemon-cluster}}/{{my-monitoring-daemon}}
```