

# 온프레미스 서버에 CloudWatch 에이전트 설치
<a name="install-CloudWatch-Agent-on-premise"></a>

 한 컴퓨터에 CloudWatch 에이전트를 다운로드하고 에이전트 구성 파일을 생성한 경우 해당 구성 파일을 사용하여 다른 온프레미스 서버에 에이전트를 설치할 수 있습니다.

## 온프레미스 서버에 CloudWatch 에이전트 다운로드
<a name="download-CloudWatch-Agent-onprem"></a>

Systems Manager Run Command 또는 Amazon S3 다운로드 링크를 사용하여 CloudWatch 에이전트 패키지를 다운로드할 수 있습니다.

### Systems Manager를 사용하여 다운로드
<a name="download-CloudWatch-Agent-onprem-fleet-sys"></a>

Systems Manager Run Command를 사용하려면 Amazon EC2 Systems Manager에 온프레미스 서버를 등록해야 합니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [하이브리드 환경에서 Systems Manager 설정](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html) 단원을 참조하세요.

서버를 이미 등록한 경우 SSM Agent를 최신 버전으로 업데이트합니다.

Linux를 실행하는 서버에서 SSM Agent를 업데이트하는 방법에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*에서 [하이브리드 환경(Linux)의 SSM Agent 설치](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html#sysman-install-managed-linux) 단원을 참조하세요.

Windows Server를 실행하는 서버에서 SSM Agent를 업데이트하는 방법에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*에서 [하이브리드 환경(Windows)의 SSM Agent 설치](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html#sysman-install-managed-win) 단원을 참조하세요.

**SSM Agent를 사용하여 온프레미스 서버에 CloudWatch 에이전트 패키지를 다운로드하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **명령 실행**을 선택합니다.

   -또는-

   AWS Systems Manager 홈페이지가 열리면 아래로 스크롤하여 [**Run Command 탐색(Explore Run Command)**]을 선택합니다.

1. **명령 실행**을 선택합니다.

1. **명령 문서** 목록에서 **AWS-ConfigureAWSPackage** 옆의 버튼을 선택합니다.

1. [**대상(Targets)**] 영역에서 CloudWatch 에이전트를 설치할 서버를 선택합니다. 특정 서버가 표시되지 않으면 Run Command에 대해 구성되지 않은 것일 수 있습니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*에서 [하이브리드 환경의 AWS Systems Manager 설정](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html) 단원을 참조하세요.

1. **작업** 목록에서 **설치**를 선택합니다.

1. **이름** 상자에 *AmazonCloudWatchAgent*를 입력합니다.

1. 최신 버전의 에이전트를 설치하도록 **버전**을 비워 둡니다.

1. **실행**을 선택합니다.

   에이전트 패키지가 다운로드되며 다음 단계는 이를 구성하고 시작하는 것입니다.

## (온프레미스 서버에 설치) IAM 자격 증명 및 AWS 리전 지정
<a name="install-CloudWatch-Agent-iam_user-SSM-onprem"></a>

CloudWatch 에이전트가 온프레미스 서버의 데이터를 보낼 수 있도록 하려면 이전에 생성한 IAM 사용자의 액세스 키 및 보안 키를 지정해야 합니다.

또한 `region` 필드를 사용하여 지표를 보낼 AWS 리전을 지정해야 합니다.

다음은 이 파일의 예입니다.

```
[AmazonCloudWatchAgent]
aws_access_key_id=my_access_key
aws_secret_access_key=my_secret_key
region = us-west-1
```

*my\$1access\$1key* 및 *my\$1secret\$1key*의 경우 Systems Manager 파라미터 스토어에 대한 쓰기 권한이 없는 IAM 사용자의 키를 사용합니다.

이 프로필의 이름을 `AmazonCloudWatchAgent`로 지정하면 아무 작업도 수행할 필요가 없습니다. 다음 단원에서 설명된 대로 필요한 경우 다른 이름을 지정하고 해당 이름을 ` common-config.toml` 파일에서 `shared_credential_profile`에 대한 값으로 지정할 수 있습니다.

다음은 **aws configure** 명령을 사용하여 CloudWatch 에이전트에 대한 명명된 프로파일을 생성하는 예입니다. 이 예에서는 `AmazonCloudWatchAgent`의 기본 프로필 이름을 사용하는 것으로 가정합니다.

**CloudWatch 에이전트에 대한 AmazonCloudWatchAgent 프로파일을 생성하려면**

1. 아직 설치하지 않았다면 서버에 AWS Command Line Interface를 설치합니다. 자세한 내용은 [AWS CLI 설치](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) 단원을 참조하세요.

1. Linux 서버에서 다음 명령을 입력하고 표시되는 메시지를 따릅니다.

   ```
   sudo aws configure --profile AmazonCloudWatchAgent
   ```

   Windows Server에서는 관리자 권한으로 PowerShell을 열고 다음 명령을 입력한 후 표시되는 메시지를 따릅니다.

   ```
   aws configure --profile AmazonCloudWatchAgent
   ```

## (선택 사항) CloudWatch 에이전트에 대한 일반 구성 및 명명된 프로파일 수정
<a name="CloudWatch-Agent-profile-onprem"></a>

CloudWatch 에이전트에는 `common-config.toml`이라는 구성 파일이 포함되어 있습니다. 필요한 경우 이 파일을 사용하여 프록시 및 리전 정보를 지정할 수 있습니다.

Linux를 실행하는 서버에서는 이 파일이 `/opt/aws/amazon-cloudwatch-agent/etc` 디렉터리에 있습니다. Windows Server를 실행하는 서버에서는 이 파일이 `C:\ProgramData\Amazon\AmazonCloudWatchAgent` 디렉터리에 있습니다.

기본 `common-config.toml`은 다음과 같습니다.

```
# This common-config is used to configure items used for both ssm and cloudwatch access
 
 
## Configuration for shared credential.
## Default credential strategy will be used if it is absent here:
##            Instance role is used for EC2 case by default.
##            AmazonCloudWatchAgent profile is used for onPremise case by default.
# [credentials]
#    shared_credential_profile = "{profile_name}"
#    shared_credential_file= "{file_name}"
 
## Configuration for proxy.
## System-wide environment-variable will be read if it is absent here.
## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy
## Note: system-wide environment-variable is not accessible when using ssm run-command.
## Absent in both here and environment-variable means no proxy will be used.
# [proxy]
#    http_proxy = "{http_url}"
#    https_proxy = "{https_url}"
#    no_proxy = "{domain}"
```

처음에는 모든 줄이 코멘트 아웃 처리되어 있습니다. 자격 증명 프로필이나 프록시 설정을 설정하려면 해당 줄에서 `#`을 제거하고 값을 지정하세요. 이 파일을 수동으로 편집하거나 다음과 같이 Systems Manager에서 `RunShellScript` Run Command를 사용하여 편집할 수 있습니다.
+ `shared_credential_profile` – 온프레미스 서버의 경우 이 줄은 CloudWatch에 데이터를 전송하는 데 사용할 IAM 사용자 자격 증명 프로파일을 지정합니다. 이 줄을 코멘트 아웃 처리된 상태로 유지할 경우 `AmazonCloudWatchAgent`가 사용됩니다. 이 프로필 생성에 대한 자세한 내용은 [(온프레미스 서버에 설치) IAM 자격 증명 및 AWS 리전 지정](#install-CloudWatch-Agent-iam_user-SSM-onprem) 단원을 참조하세요.

  EC2 인스턴스에서 이 줄을 사용하여 CloudWatch 에이전트가 이 인스턴스의 데이터를 다른 AWS 리전의 CloudWatch에 전송하도록 할 수 있습니다. 이렇게 하려면 보낼 리전의 이름을 지정하는 `region` 필드가 있는 명명된 프로필을 지정합니다.

  `shared_credential_profile`을 지정하는 경우 `[credentials]` 행의 시작 부분에서 `#`도 제거해야 합니다.
+ `shared_credential_file` – 에이전트가 기본 경로 이외의 다른 경로에 있는 파일에서 자격 증명을 찾도록 하려면 여기에 전체 경로 및 파일 이름을 지정합니다. 기본 경로는 Linux의 경우 `/root/.aws`이며 Windows Server의 경우 `C:\\Users\\Administrator\\.aws`입니다.

  아래의 첫 번째 예는 Linux 서버의 유효한 `shared_credential_file` 행 구문이고 두 번째 예는 Windows Server에 유효한 행 구문입니다. Windows Server에서는 \$1 문자를 이스케이프 처리해야 합니다.

  ```
  shared_credential_file= "/usr/username/credentials"
  ```

  ```
  shared_credential_file= "C:\\Documents and Settings\\username\\.aws\\credentials"
  ```

  `shared_credential_file`을 지정하는 경우 `[credentials]` 행의 시작 부분에서 `#`도 제거해야 합니다.
+ 프록시 설정 - 서버가 HTTP 또는 HTTPS 프록시를 사용하여 AWS 서비스에 연결하는 경우 `http_proxy` 및 `https_proxy` 필드에 해당 프록시를 지정합니다. 프록시 설정에서 제외해야 하는 URL이 있다면 이를 쉼표로 구분하여 `no_proxy` 필드에 지정하세요.