

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

# Amazon EKS 클러스터에 대한 보안 에이전트 수동 관리
<a name="managing-gdu-agent-eks-manually"></a>

이 섹션에서는 런타임 모니터링(또는 EKS 런타임 모니터링)을 활성화한 후 Amazon EKS 애드온 에이전트(GuardDuty 에이전트)를 관리하는 방법에 대해 설명합니다. 런타임 모니터링을 사용하려면 런타임 모니터링을 활성화하고 Amazon EKS 애드온 기능인 `aws-guardduty-agent`를 구성해야 합니다. GuardDuty가 잠재적 위협을 탐지하고 [GuardDuty 런타임 모니터링 조사 결과 유형](findings-runtime-monitoring.md)를 생성하려면 두 단계를 모두 수행해야 합니다.

에이전트를 수동으로 관리하려면 VPC 엔드포인트를 사전 조건으로 생성해야 합니다. 이렇게 하면 GuardDuty가 런타임 이벤트를 수신하는 데 도움이 됩니다. 그런 다음 GuardDuty가 Amazon EKS 리소스에서 런타임 이벤트를 수신하기 시작하도록 보안 에이전트를 설치할 수 있습니다. GuardDuty에서 이 리소스에 대한 새 상담원 버전을 출시하면 계정에서 상담원 버전을 업데이트할 수 있습니다.

**Topics**
+ [사전 조건 - Amazon VPC 엔드포인트 생성](eksrunmon-prereq-deploy-security-agent.md)
+ [Amazon EKS 리소스에 GuardDuty 보안 에이전트 수동 설치](eksrunmon-deploy-security-agent.md)
+ [Amazon EKS 리소스에 대한 보안 에이전트 수동 업데이트](eksrunmon-update-security-agent.md)

# 사전 조건 - Amazon VPC 엔드포인트 생성
<a name="eksrunmon-prereq-deploy-security-agent"></a>

GuardDuty 보안 에이전트를 설치하려면 먼저 Amazon Virtual Private Cloud(Amazon VPC) 엔드포인트를 생성해야 합니다. 이렇게 하면 GuardDuty가 Amazon EKS 리소스의 런타임 이벤트를 수신하는 데 도움이 됩니다.

**참고**  
VPC 엔드포인트 사용에 대한 추가 비용은 없습니다.

선호하는 액세스 방법을 선택하여 Amazon VPC 엔드포인트를 생성합니다.

------
#### [ Console ]

**VPC 엔드포인트 생성하기**

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

1. 탐색 창의 **Virtual Private Cloud**에서 **엔드포인트**를 선택합니다.

1. **엔드포인트 생성**을 선택합니다.

1. **엔드포인트 생성** 페이지에서 **서비스 범주**에 대해 **기타 엔드포인트 서비스**를 선택합니다.

1. **서비스 이름**에 **com.amazonaws.*us-east-1*.guardduty-data**를 입력합니다.

   *us-east-1*을 올바른 리전으로 바꿉니다. ID에 속하는 EKS 클러스터와 동일한 리전이어야 합니다 AWS 계정 .

1. **서비스 확인**을 선택합니다.

1. 서비스 이름이 성공적으로 확인되면 클러스터가 상주하는 **VPC**를 선택합니다. 다음 정책을 추가하여 VPC 엔드포인트 사용을 지정된 계정으로만 제한합니다. 이 정책 아래에 제공된 조직 `Condition`을 사용하여 다음 정책을 업데이트하고 엔드포인트에 대한 액세스를 제한할 수 있습니다. 조직의 특정 계정 ID에 VPC 엔드포인트 지원을 제공하려면 [Organization condition to restrict access to your endpoint](#gdu-shared-vpc-endpoint-org) 섹션을 참조하세요.

------
#### [ JSON ]

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [
   		{
   			"Action": "*",
   			"Resource": "*",
   			"Effect": "Allow",
   			"Principal": "*"
   		},
   		{
   			"Condition": {
   				"StringNotEquals": {
   					"aws:PrincipalAccount": "111122223333" 
   				}
   			},
   			"Action": "*",
   			"Resource": "*",
   			"Effect": "Deny",
   			"Principal": "*"
   		}
   	]
   }
   ```

------

   `aws:PrincipalAccount` 계정 ID는 VPC 및 VPC 엔드포인트를 포함하는 계정과 일치해야 합니다. 다음 목록은 VPC 엔드포인트를 다른 AWS 계정 ID와 공유하는 방법을 보여줍니다.

**엔드포인트 액세스를 제한하는 조직 조건**
   + VPC 엔드포인트에 액세스할 계정을 여러 개 지정하려면 `"aws:PrincipalAccount": "111122223333"`을 다음과 같이 바꿉니다.

     ```
     "aws:PrincipalAccount": [
               "666666666666",
               "555555555555"
         ]
     ```
   + 조직의 모든 멤버가 VPC 엔드포인트에 액세스할 수 있도록 허용하려면 `"aws:PrincipalAccount": "111122223333"`을 다음과 같이 바꿉니다.

     ```
     "aws:PrincipalOrgID": "o-abcdef0123"
     ```
   + 리소스 액세스를 조직 ID로 제한하려면 정책에 `ResourceOrgID`를 추가합니다.

     자세한 내용은 [ResourceOrgID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceorgid)를 참조하세요.

     ```
     "aws:ResourceOrgID": "o-abcdef0123"
     ```

1. **추가 설정**에서 **DNS 이름 활성화**를 선택합니다.

1. **서브넷**에서 클러스터가 상주하는 서브넷을 선택합니다.

1. **보안 그룹**에서 VPC(또는 EKS 클러스터)로부터 인바운드 포트 443이 활성화된 보안 그룹을 선택합니다. 인바운드 포트 443이 활성화된 보안 그룹이 아직 없는 경우 [보안 그룹을 생성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group)합니다.

   VPC(또는 인스턴스)에 대한 인바운드 권한을 제한하는 동안 문제가 있는 경우 모든 IP 주소 `(0.0.0.0/0)`에서 인바운드 443 포트를 사용할 수 있습니다. 그러나 GuardDuty는 VPC의 CIDR 블록과 일치하는 IP 주소를 사용할 것을 권장합니다. 자세한 내용은 *Amazon VPC 사용 설명서*에서 [VPC CIDR 블록](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-cidr-blocks.html)을 참조하세요.

------
#### [ API/CLI ]

**VPC 엔드포인트 생성하기**
+ [CreateVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpoint.html)를 간접적으로 호출합니다.
+ 파라미터에 대해 다음 값을 사용합니다.
  + **서비스 이름**에 **com.amazonaws.*us-east-1*.guardduty-data**를 입력합니다.

    *us-east-1*을 올바른 리전으로 바꿉니다. ID에 속하는 EKS 클러스터와 동일한 리전이어야 합니다 AWS 계정 .
  + [DNSOptions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DnsOptions.html)에서 `true`로 설정하여 프라이빗 DNS 옵션을 활성화합니다.
+ 의 경우 [create-vpc-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-vpc-endpoint.html)를 AWS Command Line Interface참조하세요.

------

단계를 따른 후 [VPC 엔드포인트 구성 검증](validate-vpc-endpoint-config-runtime-monitoring.md)를 참조하여 VPC 엔드포인트가 올바르게 설정되었는지 확인합니다.

# Amazon EKS 리소스에 GuardDuty 보안 에이전트 수동 설치
<a name="eksrunmon-deploy-security-agent"></a>

이 섹션에서는 특정 EKS 클러스터에 GuardDuty 보안 에이전트를 처음 배포하는 방법을 설명합니다. 이 섹션을 진행하기 전에 사전 조건을 이미 설정하고 계정에 대한 런타임 모니터링을 활성화했는지 확인하세요. 런타임 모니터링을 활성화하지 않은 경우 GuardDuty 보안 에이전트(EKS 추가 기능)가 작동하지 않습니다.

선호하는 액세스 방법을 선택하여 GuardDuty 보안 에이전트를 처음 배포하세요.

------
#### [ Console ]

1. [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters)에서 Amazon EKS 콘솔을 엽니다.

1. **클러스터 이름**을 선택합니다.

1. **추가 기능** 탭을 선택합니다.

1. **추가 기능 더 가져오기**를 선택합니다.

1. **추가 기능 선택** 페이지에서 **Amazon GuardDuty EKS 런타임 모니터링**을 선택합니다.

1. GuardDuty는 최신 및 기본 에이전트 **버전**을 선택할 것을 권장합니다.

1. **선택한 추가 기능 설정 구성** 페이지에서 기본 설정을 사용합니다. EKS 추가 기능의 **상태**가 **활성화 필요**인 경우 **GuardDuty 활성화**를 선택합니다. 이 작업을 수행하면 GuardDuty 콘솔이 열리고 계정에 대한 런타임 모니터링을 구성할 수 있습니다.

1. 계정에 대해 런타임 모니터링을 구성한 후에는 Amazon EKS 콘솔로 다시 전환합니다. EKS 추가 기능의 **상태**가 **설치 준비 완료**로 변경되었을 것입니다.

1. 

**(선택 사항) EKS 애드온 기능 구성 스키마 제공**

   애드온 **버전**의 경우 **v1.5.0** 이상을 선택하면 Runtime Monitoring이 GuardDuty 에이전트의 특정 파라미터 구성을 지원합니다. 매개 변수 범위에 대한 자세한 내용은 [EKS 추가 기능 파라미터 구성](guardduty-configure-security-agent-eks-addon.md)를 참조하세요.

   1. 구성 가능한 파라미터와 예상 값 및 형식을 보려면 **선택적 구성 설정**을 확장합니다.

   1. 매개변수를 설정합니다. 값은 [EKS 추가 기능 파라미터 구성](guardduty-configure-security-agent-eks-addon.md)에 제공된 범위 내에 있어야 합니다.

   1. **변경 사항 저장**을 선택하여 고급 구성을 기반으로 추가 기능을 생성합니다.

   1. **충돌 해결 방법**의 경우 파라미터 값을 기본값이 아닌 값으로 업데이트할 때 선택한 옵션을 사용하여 충돌을 해결합니다. 나열된 옵션에 대한 자세한 내용은 *Amazon EKS API 참조*의 [resolveConflicts](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html#AmazonEKS-UpdateAddon-request-resolveConflicts)를 참조하세요.

1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 세부 정보를 확인한 다음 **생성**을 선택합니다.

1. 클러스터 세부 정보로 돌아가서 **리소스** 탭을 선택합니다.

1. 접두사가 **aws-guardduty-agent**인 새 포드를 확인할 수 있습니다.

------
#### [ API/CLI ]

다음 옵션 중 하나를 사용하여 Amazon EKS 추가 기능 에이전트(`aws-guardduty-agent`)를 구성할 수 있습니다.
+ 계정에 대해 [CreateAddon](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateAddon.html)을 간접적으로 실행합니다.
+ 
**참고**  
애드온 `version`의 경우 **v1.5.0 이상**을 선택하면 Runtime Monitoring이 GuardDuty 에이전트의 특정 파라미터 구성을 지원합니다. 자세한 내용은 [EKS 추가 기능 파라미터 구성](guardduty-configure-security-agent-eks-addon.md) 단원을 참조하십시오.

  요청 파라미터에 대해 다음 값을 사용합니다.
  + `addonName`에 `aws-guardduty-agent`를 입력합니다.

    추가 기능 버전 `v1.5.0` 이상에 지원되는 구성 가능한 값을 사용할 때 다음 AWS CLI 예제를 사용할 수 있습니다. 빨간색으로 강조 표시된 자리 표시자 값과 구성된 값과 연결된 `Example.json`를 교체해야 합니다.

    ```
    aws eks create-addon --region us-east-1 --cluster-name myClusterName --addon-name aws-guardduty-agent --addon-version v1.12.1-eksbuild.2 --configuration-values 'file://example.json'
    ```  
**Example.json**  

    ```
    {
    	"priorityClassName": "aws-guardduty-agent.priorityclass-high",
    	"dnsPolicy": "Default",
    	"resources": {
    		"requests": {
    			"cpu": "237m",
    			"memory": "512Mi"
    		},
    		"limits": {
    			"cpu": "2000m",
    			"memory": "2048Mi"
    		}
    	}	
    }
    ```
  + 지원되는 `addonVersion`에 대한 내용은 [GuardDuty 보안 에이전트가 지원하는 Kubernetes 버전](prereq-runtime-monitoring-eks-support.md#gdu-agent-supported-k8-version) 섹션을 참조하세요.
+ 또는를 사용할 수 있습니다 AWS CLI. 자세한 내용은 [create-addon](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html)을 참조하세요.

------

**VPC 엔드포인트의 프라이빗 DNS 이름**  
기본적으로 보안 에이전트는 VPC 엔드포인트의 프라이빗 DNS 이름을 확인하고 연결합니다. 비 FIPS 엔드포인트의 경우 프라이빗 DNS는 다음 형식으로 표시됩니다.  
비 FIPS 엔드포인트 - `guardduty-data.us-east-1.amazonaws.com`  
 AWS 리전*us-east-1*은 리전에 따라 변경됩니다.

# Amazon EKS 리소스에 대한 보안 에이전트 수동 업데이트
<a name="eksrunmon-update-security-agent"></a>

GuardDuty 보안 에이전트를 수동으로 관리할 때는 계정에 맞게 업데이트해야 합니다. 새 에이전트 버전에 대한 알림을 받으려면 [GuardDuty 보안 에이전트 릴리스 버전](runtime-monitoring-agent-release-history.md)에 대한 RSS 피드를 구독할 수 있습니다.

보안 에이전트를 최신 버전으로 업데이트하여 추가 지원 및 개선 사항을 활용할 수 있습니다. 현재 사용 중인 에이전트 버전이 표준 지원 종료 시점에 도달한 경우 Runtime Monitoring(또는 EKS Runtime Monitoring)을 계속 사용하려면 다음으로 이용 가능한 또는 최신 에이전트 버전으로 업데이트해야 합니다.

**사전 조건**  
보안 에이전트 버전을 업데이트하기 전에, 지금 사용하려는 에이전트 버전이 사용 중인 Kubernetes 버전과 호환되는지 확인하세요. 자세한 내용은 [GuardDuty 보안 에이전트가 지원하는 Kubernetes 버전](prereq-runtime-monitoring-eks-support.md#gdu-agent-supported-k8-version) 단원을 참조하십시오.

------
#### [ Console ]

1. [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters)에서 Amazon EKS 콘솔을 엽니다.

1. **클러스터 이름**을 선택합니다.

1. **클러스터 정보**에서 **애드온** 탭을 선택합니다.

1. **애드온** 탭에서 **GuardDuty EKS Runtime Monitoring**을 선택합니다.

1. **편집**을 선택하여 에이전트 세부 정보를 업데이트합니다.

1. **GuardDuty EKS Runtime Monitoring 구성** 페이지에서 세부 정보를 업데이트합니다.

1. 

**(선택 사항) 선택적 구성 설정 업데이트**

   EKS 애드온 **버전**이 *1.5.0* 이상인 경우 애드온 구성 스키마를 업데이트할 수도 있습니다.

   1. 구성 스키마를 보려면 **선택적 구성 설정을** 확장합니다.

   1. [EKS 추가 기능 파라미터 구성](guardduty-configure-security-agent-eks-addon.md)에 제공된 범위에 따라 파라미터 값을 업데이트합니다.

   1. **변경 사항 저장**을 선택하여 업데이트를 시작합니다.

   1. **충돌 해결 방법**의 경우 파라미터 값을 기본값이 아닌 값으로 업데이트할 때 선택한 옵션을 사용하여 충돌을 해결합니다. 나열된 옵션에 대한 자세한 내용은 *Amazon EKS API 참조*의 [resolveConflicts](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html#AmazonEKS-UpdateAddon-request-resolveConflicts)를 참조하세요.

------
#### [ API/CLI ]

Amazon EKS 클러스터의 GuardDuty 보안 에이전트를 업데이트하려면 [추가 기능 업데이트](https://docs.aws.amazon.com/eks/latest/userguide/managing-add-ons.html#updating-an-add-on)를 참조하세요.

**참고**  
애드온 `version`의 경우 **1.5.0 이상**을 선택하면 Runtime Monitoring이 GuardDuty 에이전트의 특정 파라미터 구성을 지원합니다. 매개 변수 범위에 대한 자세한 내용은 [EKS 추가 기능 파라미터 구성](guardduty-configure-security-agent-eks-addon.md)를 참조하세요.

추가 기능 버전 1.5.0 이상에서 지원되는 구성 가능한 값을 사용할 때 다음 AWS CLI 예제를 사용할 수 있습니다. ** 빨간색으로 강조 표시된 자리 표시자 값과 구성된 값과 연결된 `Example.json`를 교체해야 합니다.

```
aws eks update-addon --region us-east-1 --cluster-name myClusterName --addon-name aws-guardduty-agent --addon-version v1.12.1-eksbuild.2 --configuration-values 'file://example.json'
```

**Example.json**  

```
{
	"priorityClassName": "aws-guardduty-agent.priorityclass-high",
	"dnsPolicy": "Default",
	"resources": {
		"requests": {
			"cpu": "237m",
			"memory": "512Mi"
		},
		"limits": {
			"cpu": "2000m",
			"memory": "2048Mi"
		}
	}	
}
```

------

Amazon EKS 애드온 버전이 1.5.0 이상이고 애드온 스키마를 구성한 경우 클러스터에 대해 값이 올바르게 표시되는지 확인할 수 있습니다. 자세한 내용은 [구성 스키마 업데이트 확인](guardduty-configure-security-agent-eks-addon.md#gdu-verify-eks-add-on-configuration-param) 단원을 참조하십시오.