

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

# 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 인스턴스 비율입니다. 다음 등식은 이를 다음과 같이 나타냅니다.

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

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/) 콘솔의 **설정** 페이지를 참조하거나 [ListDetectors](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/) 콘솔의 **설정** 페이지를 참조하거나 [ListDetectors](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)을 참조하세요.

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



- ** 에이전트 보고 없음 **
  - **문제 메시지:** SSM 알림 대기 / **문제 해결 단계:** SSM 알림을 받는 데 몇 분 정도 걸릴 수 있습니다.<br />Amazon EC2 인스턴스가 SSM 관리형인지 확인합니다. 자세한 내용은의 *메서드 1 - AWS Systems Manager 사용* 아래 단계를 참조하세요[보안 에이전트 수동 설치](installing-gdu-security-agent-ec2-manually.md).
  - **문제 메시지:** (목적상 비어 있음) / **문제 해결 단계:** GuardDuty 보안 에이전트를 수동으로 관리하는 경우 [Amazon EC2 리소스에 대한 보안 에이전트 수동 관리](managing-gdu-agent-ec2-manually.md)의 단계를 따랐는지 확인하세요.
  - **문제 해결 단계:** 자동 에이전트 구성을 활성화한 경우.+  EC2 인스턴스가 SSM 관리형입니다. <br />+  보안 에이전트의 상태를 주기적으로 확인합니다. 자세한 내용은 [GuardDuty 보안 에이전트 설치 상태 검증](installing-gdu-security-agent-ec2-manually.md#validate-ec2-gdu-agent-installation-healthy) 단원을 참조하십시오. 
  - **문제 해결 단계:** Amazon EC2 인스턴스의 VPC 엔드포인트가 올바르게 구성되어 있는지 확인합니다. 자세한 내용은 [VPC 엔드포인트 구성 검증](validate-vpc-endpoint-config-runtime-monitoring.md) 단원을 참조하십시오.
  - **문제 해결 단계:** 조직에 서비스 제어 정책(SCP)이 있는 경우 권한 경계가 `guardduty:SendSecurityTelemetry` 권한을 제한하지 않는지 확인합니다. 자세한 내용은 [다중 계정 환경에서 조직 서비스 제어 정책 검증](prereq-runtime-monitoring-ec2-support.md#validate-organization-scp-ec2) 단원을 참조하십시오.
  - **문제 메시지:** 연결이 끊긴 에이전트트 / **문제 해결 단계:**  +  보안 에이전트의 상태를 확인합니다. 자세한 내용은 [GuardDuty 보안 에이전트 설치 상태 검증](installing-gdu-security-agent-ec2-manually.md#validate-ec2-gdu-agent-installation-healthy) 단원을 참조하십시오. <br />+  보안 에이전트 로그를 보고 잠재적 근본 원인을 식별합니다. 로그는 문제를 직접 해결하는 데 사용할 수 있는 자세한 오류를 제공합니다. 로그 파일은 `/var/log/amzn-guardduty-agent/`에서 사용할 수 있습니다. <br />Do `sudo journalctl -u amazon-guardduty-agent`.  

- ** 에이전트가 프로비저닝되지 않음 **
  - **문제 메시지:** 제외 태그가 있는 인스턴스는 Runtime Monitoring에서 제외됩니다. / **문제 해결 단계:** GuardDuty는 제외 태그 `GuardDutyManaged`:`false`가 있는 Amazon EC2 인스턴스로부터 런타임 이벤트를 수신하지 않습니다.<br />이 Amazon EC2 인스턴스에서 런타임 이벤트를 수신하려면 제외 태그를 제거합니다.
  - **문제 메시지:** 커널 버전이 지원되는 버전보다 낮습니다. / **문제 해결 단계:** OS 배포에서 지원되는 커널 버전에 대한 자세한 내용은 Amazon EC2 인스턴스용 [아키텍처 요구 사항 검증](prereq-runtime-monitoring-ec2-support.md#validating-architecture-req-ec2) 섹션을 참조하세요.
  - **문제 메시지:** 커널 버전이 지원되는 버전보다 높습니다. / **문제 해결 단계:** OS 배포에서 지원되는 커널 버전에 대한 자세한 내용은 Amazon EC2 인스턴스용 [아키텍처 요구 사항 검증](prereq-runtime-monitoring-ec2-support.md#validating-architecture-req-ec2) 섹션을 참조하세요.
  - **문제 메시지:** 인스턴스 ID 문서를 검색할 수 없습니다. / **문제 해결 단계:** 다음 단계를 따릅니다.1.  리소스가 하이브리드 비 EC2 인스턴스가 아닌 Amazon EC2 인스턴스인지 확인합니다. <br />2.  인스턴스 메타데이터 서비스(IMDS)가 활성화되어 있는지 확인합니다. 이렇게 하려면 *Amazon EC2 사용 설명서*의 [인스턴스 메타데이터 서비스 옵션 구성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)을 참조하세요. <br />3.  인스턴스 자격 증명 문서가 존재하는지 확인하세요. 이렇게 하려면 *Amazon EC2 사용 설명서*의 [인스턴스 ID 문서 검색](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/retrieve-iid.html)을 참조하세요. <br />4.  인스턴스 자격 증명 문서가 여전히 존재하지 않는 경우 인스턴스를 다시 시작합니다. 인스턴스 자격 증명 문서는 인스턴스를 중지했다가 시작하거나 다시 시작하거나 시작할 때 생성됩니다. 

- ** SSM 연결 생성 실패 **
  - **문제 메시지:** GuardDuty SSM 연결이 계정에 이미 있습니다. / **문제 해결 단계:**  1.  기존 연결을 수동으로 삭제합니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [연결 삭제하기](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-delete-association.html)를 참조하세요. <br />2.  연결을 삭제한 후 Amazon EC2에 대한 GuardDuty 자동 에이전트 구성을 비활성화했다가 다시 활성화합니다.  
  - **문제 메시지:** 계정에 SSM 연결이 너무 많습니다. / **문제 해결 단계:** 다음 두 가지 옵션 중 **하나**를 선택합니다.+  사용하지 않는 SSM 연결을 삭제합니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [연결 삭제하기](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-delete-association.html)를 참조하세요. <br />+  계정이 할당량 증가를 받을 수 있는지 확인하세요. 더 자세한 내용은 **AWS 일반 참조의 [Systems Manager 서비스 할당량](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)을 참조하세요. 

- ** SSM 연결 업데이트 실패 **
  - **문제 메시지:** GuardDuty SSM 연결이 계정에 존재하지 않습니다.
  - **문제 해결 단계:** 계정에 GuardDuty SSM 연결이 없습니다. 런타임 모니터링을 비활성했다가 다시 활성화합니다.

- ** SSM 연결 삭제 실패 **
  - **문제 메시지:** GuardDuty SSM 연결이 계정에 존재하지 않습니다.
  - **문제 해결 단계:** 계정에 SSM 연결이 없습니다. SSM 연결을 의도적으로 삭제한 경우 작업이 필요하지 않습니다.

- ** SSM 인스턴스 연결 실행 실패 **
  - **문제 메시지:** 아키텍처 요구 사항 또는 기타 사전 요구 사항이 충족되지 않습니다.
  - **문제 해결 단계:** 확인된 운영 체제 배포에 대한 자세한 내용은 [Amazon EC2 인스턴스 지원의 사전 조건](prereq-runtime-monitoring-ec2-support.md)을 참조하세요.<br />여전히 이 문제가 발생하는 경우 다음 단계를 통해 문제를 식별하고 해결할 수 있습니다.1.  [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) AWS Systems Manager 콘솔을 엽니다. <br />2.  탐색 창의 **노드 관리**에서 **상태 관리자**를 선택합니다. <br />3.  **문서 이름** 속성을 기준으로 필터링하고 를 입력합니다 **AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin**. <br />4.  해당 연결 ID를 선택하고 **실행 기록**을 확인합니다. <br />5.  실행 기록을 사용하여 실패를 보고 잠재적 근본 원인을 식별한 다음 해결해 보세요. 

- ** VPC 엔드포인트 생성 실패 **
  - **문제 메시지:** 공유 VPC {{vpcId}}에 대해 VPC 엔드포인트 생성이 지원되지 않음 / **문제 해결 단계:** 런타임 모니터링은 조직 내에서 공유 VPC 사용을 지원합니다. 자세한 내용은 [Runtime Monitoring과 함께 공유 VPC 사용](runtime-monitoring-shared-vpc.md) 단원을 참조하십시오.
  - **문제 메시지:** **자동화된 에이전트 구성과 함께 공유 VPC를 사용하는 경우에만**<br />공유 VPC {{vpcId}}의 소유자 계정 ID {{111122223333}}에는 런타임 모니터링, 자동 에이전트 구성 또는 둘 다 활성화되어 있지 않습니다 / **문제 해결 단계:** 공유 VPC 소유자 계정은 하나 이상의 리소스 유형(Amazon EKS 또는 Amazon ECS(AWS Fargate))에 대해 런타임 모니터링 및 자동 에이전트 구성을 활성화해야 합니다. 자세한 내용은 [GuardDuty 런타임 모니터링 관련 사전 조건](runtime-monitoring-shared-vpc.md#shared-vpc-runtime-monitoring-prereq-gd-setup) 단원을 참조하십시오.
  - **문제 메시지:** 프라이빗 DNS를 활성화하려면 {{vpcId}}(서비스: Ec2, 상태 코드:400, 요청 ID: {{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}})에 대해 `enableDnsSupport` 및 `enableDnsHostnames` VPC 속성 모두 `true`로 설정되어야 합니다. / **문제 해결 단계:** 다음 `enableDnsSupport` 및 `enableDnsHostnames` VPC 속성이 `true`로 설정되어야 합니다. 자세한 내용을 알아보려면 [VPC의 DNS 속성](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)을 참조하세요.<br />Amazon VPC 콘솔([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/))을 사용하여 Amazon VPC를 생성하는 경우 **DNS 호스트 이름 활성화**와 **DNS 확인 활성화**를 모두 선택합니다. 자세한 내용은 [VPC 구성 옵션](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html#create-vpc-options)을 참조하세요.<br />VPC 속성을 업데이트한 후에는 다음 중 하나를 변경하여 VPC 엔드포인트 생성 재시도를 가속화해야 합니다.+  Amazon EC2 인스턴스에 `GuardDutyManaged` 태그를 추가하거나 수정할 수 있습니다(권장). 예를 들어 `GuardDutyManaged`:`true`를 추가하여 Runtime Monitoring을 위한 인스턴스를 포함할 수 있습니다. <br />+  Amazon EC2 인스턴스 상태(중지 또는 다시 시작)를 변경할 수 있습니다. 

- **공유 VPC 엔드포인트 삭제 실패**
  - **문제 메시지:** 계정 ID {{111122223333}}, 공유 VPC {{vpcId}} , 소유자 계정 ID {{555555555555}}에는 공유 VPC 엔드포인트 삭제가 허용되지 않습니다.
  - **문제 해결 단계:** +  공유 VPC 참가자 계정의 런타임 모니터링 상태를 비활성화해도 공유 VPC 엔드포인트 정책 및 소유자 계정에 존재하는 보안 그룹에는 영향을 미치지 않습니다. <br />공유 VPC 엔드포인트 및 보안 그룹을 삭제하려면 공유 VPC 소유자 계정에서 런타임 모니터링 또는 자동화된 에이전트 구성 상태를 비활성화해야 합니다. <br />+  공유 VPC 참여자 계정에서는 공유 VPC 소유자 계정에서 호스팅되는 공유 VPC 엔드포인트 및 보안 그룹을 삭제할 수 없습니다. 

- ** 에이전트가 보고하지 않음 **
  - **문제 메시지:** (목적상 비어 있음)
  - **문제 해결 단계:** 문제 유형이 지원 종료에 도달했습니다. 이 문제가 계속 발생하고 아직 해결되지 않은 경우 Amazon EC2용 GuardDuty 자동 에이전트를 사용 설정하세요.<br />그래도 문제가 지속되면 런타임 모니터링을 몇 분 동안 비활성화했다가 다시 활성화하는 것이 좋습니다.

