

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

# Amazon ECS 클러스터의 런타임 범위 및 문제 해결
<a name="gdu-assess-coverage-ecs"></a>

Amazon ECS 클러스터의 런타임 범위에는 AWS Fargate 및 Amazon ECS 컨테이너 인스턴스에서 실행되는 작업이 포함됩니다[1](#ecs-container-instance).

Fargate에서 실행되는 Amazon ECS 클러스터의 경우 런타임 적용 범위는 작업 수준에서 평가됩니다. ECS 클러스터 런타임 범위에는 Fargate에 대한 런타임 모니터링 및 자동화된 에이전트 구성을 활성화한 후 실행이 시작된 Fargate 작업이 포함됩니다(ECS만 해당). 기본적으로 Fargate 작업은 변경할 수 없습니다. GuardDuty는 이미 실행 중인 작업에서 컨테이너를 모니터링하기 위해 보안 에이전트를 설치할 수 없습니다. 이러한 Fargate 작업을 포함하려면 작업을 중지하고 다시 시작해야 합니다. 연결된 서비스가 지원되는지 확인합니다.

Amazon ECS 컨테이너에 대한 자세한 내용은 [용량 생성](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-capacity.html)을 참조하세요.

**Topics**
+ [적용 범위 통계 검토](#ecs-review-coverage-statistics-ecs-runtime-monitoring)
+ [EventBridge 알림을 통한 적용 범위 상태 변경](#ecs-runtime-monitoring-coverage-status-change)
+ [Amazon ECS-Fargate 런타임 적용 범위 문제 해결](#ecs-runtime-monitoring-coverage-issues-troubleshoot)

## 적용 범위 통계 검토
<a name="ecs-review-coverage-statistics-ecs-runtime-monitoring"></a>

본인 계정 또는 멤버 계정과 연결된 Amazon ECS 리소스에 대한 적용 범위 통계는 선택한 AWS 리전의 모든 Amazon ECS 클러스터에 대한 정상적인 Amazon ECS 클러스터의 비율입니다. 여기에는 Fargate 및 Amazon EC2 인스턴스와 연결된 Amazon ECS 클러스터에 대한 적용 범위가 포함됩니다. 다음 등식은 이를 다음과 같이 나타냅니다.

(정상 클러스터/모든 클러스터)\$1100**

### 고려 사항
<a name="considerations-ecs-coverage-review-stats"></a>
+ ECS 클러스터에 대한 커버리지 통계에는 해당 ECS 클러스터와 연결된 Fargate 작업 또는 ECS 컨테이너 인스턴스의 커버리지 상태가 포함됩니다. Fargate 태스크의 적용 범위에는 실행 상태이거나 최근에 실행을 완료한 태스크가 포함됩니다.
+ **ECS 클러스터 런타임 적용 범위** 탭에서 **컨테이너 인스턴스 적용 범위** 필드는 Amazon ECS 클러스터와 연결된 컨테이너 인스턴스의 적용 범위를 나타냅니다.

  Amazon ECS 클러스터에 Fargate 작업만 포함된 경우 개수는 **0/0**으로 표시됩니다.
+ Amazon ECS 클러스터가 보안 에이전트가 없는 Amazon EC2 인스턴스와 연결된 경우 Amazon ECS 클러스터도 **비정상** 적용 범위 상태를 갖습니다.

  연결된 Amazon EC2 인스턴스의 적용 범위 문제를 식별하고 해결하려면 Amazon EC2 인스턴스에 대한 [Amazon EC2 런타임 적용 범위 문제 해결](gdu-assess-coverage-ec2.md#ec2-runtime-monitoring-coverage-issues-troubleshoot)을 참조하세요.

액세스 방법 중 하나를 선택하여 계정의 적용 범위 통계를 검토합니다.

------
#### [ Console ]
+ 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) GuardDuty 콘솔을 엽니다.
+ 탐색 창에서 **작업 실행 모니터링**을 선택합니다.
+ **런타임 적용 범위** 탭을 선택합니다.
+ **ECS 클러스터 런타임 적용 범위** 탭에서 **클러스터 목록** 테이블에서 사용 가능한 각 Amazon ECS 클러스터의 적용 범위 상태에 따라 집계된 적용 범위 통계를 볼 수 있습니다.
  + 다음 열을 기준으로 **클러스터 목록** 테이블을 필터링할 수 있습니다.
    + **계정 ID**
    + **클러스터 이름**
    + **에이전트 관리 유형**
    + **적용 범위 상태**
+ **적용 범위 상태**가 **비정상**인 Amazon ECS 클러스터가 있는 경우 **문제** 열에 **비정상** 상태의 이유에 대한 추가 정보가 포함됩니다.

  Amazon ECS 클러스터가 Amazon EC2 인스턴스와 연결된 경우 **EC2 인스턴스 런타임 적용** 범위 탭으로 이동하여 **클러스터 이름** 필드로 필터링하여 연결된 **문제**를 확인합니다.

------
#### [ API/CLI ]
+ 자체 유효한 탐지기 ID, 현재 리전 및 서비스 엔드포인트를 사용하여 [ListCoverage](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListCoverage.html) API를 실행합니다. 이 API를 사용하여 인스턴스 목록을 필터링 및 정렬할 수 있습니다.
  + `CriterionKey`에 대한 다음 옵션 중 하나를 사용하여 예시 `filter-criteria`를 변경할 수 있습니다.
    + `ACCOUNT_ID`
    + `ECS_CLUSTER_NAME`
    + `COVERAGE_STATUS`
    + `MANAGEMENT_TYPE`
  + 다음 옵션을 사용하여 `sort-criteria`에서 예시 `AttributeName`을 변경할 수 있습니다.
    + `ACCOUNT_ID`
    + `COVERAGE_STATUS`
    + `ISSUE`
    + `ECS_CLUSTER_NAME`
    + `UPDATED_AT`

      이 필드는 연결된 Amazon ECS 클러스터에 새 작업이 생성되거나 해당 커버리지 상태에 변경이 있을 때만 업데이트됩니다.
  + *max-results*를 변경할 수 있습니다(최대 50개).
  + 계정 및 현재 리전에 대한 `detectorId`를 찾으려면 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) 콘솔의 **설정** 페이지를 참조하거나 [https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API를 실행합니다.

  ```
  aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "ECS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }'  --max-results 5
  ```
+ [GetCoverageStatistics](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_GetCoverageStatistics.html) API를 실행하여 `statisticsType`을 기반으로 적용 범위 집계 통계를 검색합니다.
  + 다음 옵션 중 하나를 사용하여 예시 `statisticsType`을 변경할 수 있습니다.
    + `COUNT_BY_COVERAGE_STATUS` - 적용 범위 상태별로 집계된 ECS 클러스터의 적용 범위 통계를 나타냅니다.
    + `COUNT_BY_RESOURCE_TYPE` - 목록의 AWS 리소스 유형에 따라 집계된 적용 범위 통계입니다.
    + 명령에서 예시 `filter-criteria`를 변경할 수 있습니다. `CriterionKey`에 대해 다음 옵션을 사용할 수 있습니다.
      + `ACCOUNT_ID`
      + `ECS_CLUSTER_NAME`
      + `COVERAGE_STATUS`
      + `MANAGEMENT_TYPE`
      + `INSTANCE_ID`
  + 계정 및 현재 리전에 대한 `detectorId`를 찾으려면 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) 콘솔의 **설정** 페이지를 참조하거나 [https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API를 실행합니다.

  ```
  aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'
  ```

------

적용 범위의 문제에 대한 자세한 내용은 [Amazon ECS-Fargate 런타임 적용 범위 문제 해결](#ecs-runtime-monitoring-coverage-issues-troubleshoot) 섹션을 참조하세요.

## EventBridge 알림을 통한 적용 범위 상태 변경
<a name="ecs-runtime-monitoring-coverage-status-change"></a>

Amazon ECS 클러스터의 적용 범위 상태는 **비정상**으로 표시될 수 있습니다. 적용 범위가 언제 변경되는지 알기 위해 주기적으로 적용 범위 상태를 모니터링하고 상태가 **비정상**이 되면 문제를 해결하는 것이 좋습니다. 또는 적용 범위 상태가 **비정상**에서 **정상**등으로 변경될 때 알림을 받도록 Amazon EventBridge 규칙을 생성할 수 있습니다. 기본적으로 GuardDuty는 알림을 계정의 [EventBridge 버스](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)에 게시합니다.

### 샘플 알림 스키마
<a name="ecs-gdu-coverage-status-eventbridge-schema"></a>

EventBridge 규칙에서 사전 정의된 샘플 이벤트 및 이벤트 패턴을 사용하여 적용 범위 상태 알림을 받을 수 있습니다. EventBridge 규칙 생성에 대한 자세한 내용은 Amazon EventBridge 사용 설명서**의 [규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html#eb-gs-create-rule)을 참조하세요.

또한 다음 예시 알림 스키마를 사용하여 사용자 지정 이벤트 패턴을 생성할 수 있습니다. 계정에 대한 값을 바꿔야 합니다. ECS Amazon 클러스터의 적용 범위 상태가 `Healthy`에서 `Unhealthy`로 변경될 때 알림을 받으려면 `detail-type`이 *GuardDuty 런타타임 보호가 비정상*이여야 합니다. 적용 범위 상태가 `Unhealthy`에서 `Healthy`로 변경될 때 알림을 받으려면 `detail-type`을 *GuardDuty Runtime Protection Healthy*로 바꿉니다.

```
{
  "version": "0",
  "id": "event ID",
  "detail-type": "GuardDuty Runtime Protection Unhealthy",
  "source": "aws.guardduty",
  "account": "AWS 계정 ID",
  "time": "event timestamp (string)",
  "region": "AWS 리전",
  "resources": [
       ],
  "detail": {
    "schemaVersion": "1.0",
    "resourceAccountId": "string",
    "currentStatus": "string",
    "previousStatus": "string",
    "resourceDetails": {
        "resourceType": "ECS",
        "ecsClusterDetails": {
          "clusterName":"",
          "fargateDetails":{
            "issues":[],
            "managementType":""
          },
          "containerInstanceDetails":{
            "coveredContainerInstances":int,
            "compatibleContainerInstances":int
          }
        }
    },
    "issue": "string",
    "lastUpdatedAt": "timestamp"
  }
}
```

## Amazon ECS-Fargate 런타임 적용 범위 문제 해결
<a name="ecs-runtime-monitoring-coverage-issues-troubleshoot"></a>

Amazon ECS 클러스터의 적용 범위 상태가 **비정상**인 경우 **문제** 열에서 이유를 볼 수 있습니다.

다음 표에는 Fargate(Amazon ECS만 해당) 문제에 대한 권장 문제 해결 단계가 나와 있습니다. Amazon EC2 인스턴스 적용 범위에 대한 자세한 내용은 Amazon EC2 인스턴스용 [Amazon EC2 런타임 적용 범위 문제 해결](gdu-assess-coverage-ec2.md#ec2-runtime-monitoring-coverage-issues-troubleshoot)을 참조하세요.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/gdu-assess-coverage-ecs.html)