

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

CloudWatch 에이전트를 처음 설치하기 전에 다음 사전 조건이 완료되었는지 확인합니다.

## CloudWatch 에이전트에 대한 IAM 역할 및 사용자
<a name="iam-setup"></a>

AWS 리소스에 액세스하려면 권한이 필요합니다. IAM 역할, IAM 사용자 또는 둘 다를 생성하여 CloudWatch 에이전트가 CloudWatch에 지표를 작성하는 데 필요한 권한을 부여합니다.

### Amazon EC2 인스턴스에 대한 IAM 역할 생성
<a name="iam-role-ec2"></a>

Amazon EC2 인스턴스에서 CloudWatch 에이전트를 실행하려는 경우 필요한 권한을 보유한 IAM 역할을 생성합니다.

1. AWS 관리 콘솔에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택하세요.

1. **신뢰할 수 있는 엔터티 유형(Trusted entity type)**에서 **AWS 서비스(AWS service)**를 선택해야 합니다.

1. **사용 사례**의 **일반 사용 사례**에서 **EC2**를 선택하세요.

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

1. 정책 목록에서 **CloudWatchAgentServerPolicy** 옆의 확인란을 선택합니다. 필요한 경우 검색 상자를 사용하여 정책을 찾습니다.

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

1. **역할 이름**에 역할의 이름(예: `CloudWatchAgentServerRole`)을 입력합니다. 필요한 경우 설명을 입력합니다. 그런 다음 **역할 생성**을 선택합니다.

(선택 사항) 에이전트가 CloudWatch Logs에 로그를 전송하고 에이전트가 이러한 로그 그룹에 대한 보존 정책을 설정할 수 있도록 하려면 역할에 `logs:PutRetentionPolicy` 권한을 추가해야 합니다.

### 온프레미스 서버에 대한 IAM 사용자 생성
<a name="iam-user-onprem"></a>

온프레미스 서버에서 CloudWatch 에이전트를 실행하려는 경우 필요한 권한을 보유한 IAM 사용자를 생성합니다.

**참고**  
이 시나리오에서는 프로그래밍 방식 액세스 권한과 장기 보안 인증이 있는 IAM 사용자가 필요하며 이는 보안 위험을 내포합니다. 이 위험을 줄이려면 이러한 사용자에게 작업을 수행하는 데 필요한 권한만 제공하고 더 이상 필요하지 않을 경우 이러한 사용자를 제거하는 것이 좋습니다.

1. AWS 관리 콘솔에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창에서 **사용자**, **사용자 추가**를 차례로 선택하세요.

1. 새 사용자의 사용자 이름을 입력합니다.

1. **액세스 키 - 프로그래밍 방식 액세스(Access key - Programmatic access)**를 선택하고 **다음: 권한(Next: Permissions)**을 선택합니다.

1. **기존 정책 직접 첨부**를 선택합니다.

1. 정책 목록에서 **CloudWatchAgentServerPolicy** 옆의 확인란을 선택합니다. 필요한 경우 검색 상자를 사용하여 정책을 찾습니다.

1. **다음: 태그**를 선택합니다.

1. 선택적으로 새 IAM 사용자에 대한 태그를 생성하고 **다음: 검토**를 선택하세요.

1. 올바른 정책이 나열되었는지 확인하고 **사용자 생성(Create user)**을 선택합니다.

1. 새 사용자 이름 옆에서 **표시**를 선택합니다. 에이전트를 설치할 때 사용할 수 있도록 액세스 키 및 보안 키를 파일에 복사한 다음, **닫기**를 선택하세요.

### Amazon EC2 인스턴스에 IAM 역할 연결
<a name="attach-iam-role"></a>

CloudWatch 에이전트가 Amazon EC2 인스턴스의 데이터를 보낼 수 있도록 하려면 생성한 IAM 역할을 인스턴스에 연결해야 합니다.

IAM 역할을 인스턴스에 연결하는 방법에 대한 자세한 내용은 Amazon Elastic Compute Cloud 설명서의 [인스턴스에 IAM 역할 연결](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)을 참조하세요.

### CloudWatch 에이전트가 로그 보존 정책을 설정하도록 허용
<a name="CloudWatch-Agent-PutLogRetention"></a>

CloudWatch 에이전트가 로그 이벤트를 전송하는 로그 그룹에 대한 보존 정책을 설정하도록 구성할 수 있습니다. 이렇게 하면 에이전트가 사용하는 IAM 역할 또는 사용자에게 `logs:PutRetentionPolicy`를 부여해야 합니다. 에이전트는 IAM 역할을 사용하여 Amazon EC2 인스턴스에서 실행하고 온프레미스 서버에는 IAM 사용자를 사용합니다.

**CloudWatch 에이전트의 IAM 역할에 로그 보존 정책을 설정할 수 있는 권한 부여**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **역할**을 선택합니다.

1. 검색 상자에 CloudWatch 에이전트의 IAM 역할 이름의 시작을 입력합니다. 역할을 생성했을 때 이 이름을 선택했습니다. 이름은 `CloudWatchAgentServerRole`이 될 수 있습니다.

   역할이 표시되면 역할의 이름을 선택합니다.

1. **권한(Permissions)** 탭에서 **권한 추가(Add permissions)**, **인라인 정책 생성(Create inline policy)**을 선택합니다.

1. **JSON** 탭을 선택하고 다음 정책을 상자에 복사하고 상자의 기본 JSON을 대체합니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "logs:PutRetentionPolicy",
         "Resource": "*"
       }
     ]
   }
   ```

------

1. **정책 검토**를 선택합니다.

1. **이름(Name)**의 경우 **CloudWatchAgentPutLogsRetention** 또는 이와 비슷한 것을 입력하고 **정책 생성(Create policy)**을 선택합니다.

**CloudWatch 에이전트의 IAM 사용자에게 로그 보존 정책을 설정할 수 있는 권한 부여**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **사용자**를 선택합니다.

1. 검색 상자에 CloudWatch 에이전트의 IAM 사용자 이름의 시작을 입력합니다. 사용자를 생성했을 때 이 이름을 선택했습니다.

   사용자가 표시되면 사용자의 이름을 선택합니다.

1. **권한(Permissions)** 탭에서 **인라인 정책 추가(Add inline policy)**를 선택합니다.

1. **JSON** 탭을 선택하고 다음 정책을 상자에 복사하고 상자의 기본 JSON을 대체합니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "logs:PutRetentionPolicy",
         "Resource": "*"
       }
     ]
   }
   ```

------

1. **정책 검토**를 선택합니다.

1. **이름(Name)**의 경우 **CloudWatchAgentPutLogsRetention** 또는 이와 비슷한 것을 입력하고 **정책 생성(Create policy)**을 선택합니다.

## 네트워크 요구 사항
<a name="network-requirements"></a>

**참고**  
서버가 퍼블릭 서브넷에 있는 경우 인터넷 게이트웨이에 대한 액세스 권한이 있는지 확인합니다. 서버가 프라이빗 서브넷에 있는 경우 NAT 게이트웨이 또는 VPC 엔드포인트를 통해 액세스됩니다. NAT 게이트웨이에 대한 자세한 내용은 [https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) 섹션을 참조하세요.

CloudWatch 또는 CloudWatch Logs에 데이터를 전송하려면 Amazon EC2 인스턴스에 아웃바운드 인터넷 액세스 권한이 있어야 합니다. 인터넷 액세스를 구성하는 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [인터넷 게이트웨이](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)를 참조하세요.

### VPC 엔드포인트 사용
<a name="vpc-endpoints"></a>

VPC를 사용하고 퍼블릭 인터넷 액세스 없이 CloudWatch 에이전트를 사용하려는 경우 CloudWatch 및 CloudWatch Logs에 대한 VPC 엔드포인트를 구성할 수 있습니다.

프록시에서 구성할 엔드포인트와 포트는 다음과 같습니다.
+ 에이전트를 사용하여 지표를 수집하는 경우 적절한 리전의 CloudWatch 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 [Amazon CloudWatch endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/cw_region.html)에 나열되어 있습니다.
+ 에이전트를 사용하여 로그를 수집하는 경우 적절한 리전의 CloudWatch Logs 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 [Amazon CloudWatch Logs endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html)에 나열되어 있습니다.
+ Systems Manager를 사용하여 에이전트를 설치하거나 파라미터 스토어를 사용하여 구성 파일을 저장하는 경우 적절한 리전의 Systems Manager 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 [AWS Systems Manager endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html)에 나열되어 있습니다.