

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

# Amazon EC2 인스턴스의 런타임 범위 및 문제 해결
<a name="gdu-assess-coverage-ec2"></a>

Amazon EC2 리소스의 경우 런타임 적용 범위는 인스턴스 수준에서 평가됩니다. Amazon EC2 인스턴스는 AWS 환경의 다른 애플리케이션과 워크로드 중에서도 여러 유형의 애플리케이션과 워크로드를 실행할 수 있습니다. 이 기능은 Amazon ECS 관리형 Amazon EC2 인스턴스도 지원하며, Amazon EC2 인스턴스에서 실행 중인 Amazon ECS 클러스터가 있는 경우 인스턴스 수준에서의 커버리지 문제는 Amazon EC2 런타임 커버리지에 표시됩니다.

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

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

자체 계정 또는 멤버 계정과 연결된 Amazon EC2 인스턴스의 적용 범위 통계는 선택한 AWS 리전의 모든 Amazon EC2 인스턴스에 대한 정상 Amazon EC2 인스턴스 비율입니다. 다음 등식은 이를 다음과 같이 나타냅니다.

*(정상 인스턴스/모든 인스턴스)\$1100*

Amazon ECS 클러스터를 위한 GuardDuty 보안 에이전트도 배포한 경우, Amazon EC2 인스턴스에서 실행되는 Amazon ECS 클러스터와 관련된 모든 인스턴스 수준 커버리지 문제는 Amazon EC2 인스턴스 런타임 커버리지 문제로 나타납니다.

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

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

------
#### [ API/CLI ]
+ 자체 유효한 탐지기 ID, 현재 리전 및 서비스 엔드포인트를 사용하여 [ListCoverage](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListCoverage.html) API를 실행합니다. 이 API를 사용하여 인스턴스 목록을 필터링 및 정렬할 수 있습니다.
  + `CriterionKey`에 대한 다음 옵션 중 하나를 사용하여 예시 `filter-criteria`를 변경할 수 있습니다.
    + `ACCOUNT_ID`
    + `RESOURCE_TYPE`
    + `COVERAGE_STATUS`
    + `AGENT_VERSION`
    + `MANAGEMENT_TYPE`
    + `INSTANCE_ID`
    + `CLUSTER_ARN`
  + `RESOURCE_TYPE`가 **EC2**로 `filter-criteria`를 포함하는 경우 런타임 모니터링은 **ISSUE**를 `AttributeName`로 사용하는 것을 지원하지 않습니다. 이를 사용하면 API 응답에 `InvalidInputException`가 발생합니다.

    다음 옵션을 사용하여 `sort-criteria`에서 예시 `AttributeName`을 변경할 수 있습니다.
    + `ACCOUNT_ID`
    + `COVERAGE_STATUS`
    + `INSTANCE_ID`
    + `UPDATED_AT`
  + *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": "EKS_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` - 적용 범위 상태별로 집계된 EKS 클러스터의 적용 범위 통계를 나타냅니다.
    + `COUNT_BY_RESOURCE_TYPE` - 목록의 AWS 리소스 유형에 따라 집계된 적용 범위 통계입니다.
    + 명령에서 예시 `filter-criteria`를 변경할 수 있습니다. `CriterionKey`에 대해 다음 옵션을 사용할 수 있습니다.
      + `ACCOUNT_ID`
      + `RESOURCE_TYPE`
      + `COVERAGE_STATUS`
      + `AGENT_VERSION`
      + `MANAGEMENT_TYPE`
      + `INSTANCE_ID`
      + `CLUSTER_ARN`
  + 계정 및 현재 리전에 대한 `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"}}] }'
  ```

------

EC2 인스턴스의 적용 범위 상태가 **비정상**인 경우 [Amazon EC2 런타임 적용 범위 문제 해결](#ec2-runtime-monitoring-coverage-issues-troubleshoot)을 참조하세요.

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

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

### 샘플 알림 스키마
<a name="ec2-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)을 참조하세요.

또한 다음 예시 알림 스키마를 사용하여 사용자 지정 이벤트 패턴을 생성할 수 있습니다. 계정에 대한 값을 바꿔야 합니다. Amazon EC2 인스턴스의 적용 범위가 `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": "EC2",
        "ec2InstanceDetails": {
          "instanceId":"",
          "instanceType":"",
          "clusterArn": "",
          "agentDetails": {
            "version":""
          },
          "managementType":""
        }
    },
    "issue": "string",
    "lastUpdatedAt": "timestamp"
  }
}
```

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

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

EC2 인스턴스가 EKS 클러스터와 연결되어 있고 EKS용 보안 에이전트가 수동 또는 자동 에이전트 구성을 통해 설치된 경우 적용 범위 문제를 해결하려면 [Amazon EKS 클러스터의 런타임 범위 및 문제 해결](eks-runtime-monitoring-coverage.md)을 참조하세요.

다음 표에는 문제 유형과 해당 문제 해결 단계가 나와 있습니다.

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