온프레미스 서버에 CloudWatch 에이전트 설치 - Amazon CloudWatch

온프레미스 서버에 CloudWatch 에이전트 설치

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

온프레미스 서버에 CloudWatch 에이전트 다운로드

Systems Manager Run Command 또는 Amazon S3 다운로드 링크를 사용하여 CloudWatch 에이전트 패키지를 다운로드할 수 있습니다. Amazon S3 다운로드 링크 사용에 대한 자세한 내용은 CloudWatch 에이전트 패키지 다운로드 단원을 참조하세요.

Systems Manager를 사용하여 다운로드

Systems Manager Run Command를 사용하려면 Amazon EC2 Systems Manager에 온프레미스 서버를 등록해야 합니다. 자세한 내용은 AWS Systems Manager 사용 설명서하이브리드 환경에서 Systems Manager 설정 단원을 참조하세요.

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

Linux를 실행하는 서버에서 SSM Agent를 업데이트하는 방법에 대한 자세한 내용은 AWS Systems Manager 사용 설명서에서 하이브리드 환경(Linux)의 SSM Agent 설치 단원을 참조하세요.

Windows Server를 실행하는 서버에서 SSM Agent를 업데이트하는 방법에 대한 자세한 내용은 AWS Systems Manager 사용 설명서에서 하이브리드 환경(Windows)의 SSM Agent 설치 단원을 참조하세요.

SSM Agent를 사용하여 온프레미스 서버에 CloudWatch 에이전트 패키지를 다운로드하려면
  1. https://console.aws.amazon.com/systems-manager/에서 시스템 관리자 콘솔을 엽니다.

  2. 탐색 창에서 Run Command를 선택합니다.

    -또는-

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

  3. Run command(Run 명령)를 선택합니다.

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

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

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

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

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

  9. Run(실행)을 선택합니다.

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

(온프레미스 서버에 설치) IAM 자격 증명 및 AWS 리전 지정

CloudWatch 에이전트가 온프레미스 서버의 데이터를 보낼 수 있도록 하려면 이전에 생성한 IAM 사용자의 액세스 키 및 보안 키를 지정해야 합니다. 이 사용자 생성에 대한 자세한 내용은 CloudWatch 에이전트와 함께 사용하기 위한 IAM 역할 및 사용자 생성 단원을 참조하세요.

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

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

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

my_access_keymy_secret_key의 경우 Systems Manager 파라미터 스토어에 대한 쓰기 권한이 없는 IAM 사용자의 키를 사용합니다. CloudWatch 에이전트에 필요한 IAM 사용자에 대한 자세한 내용은 온프레미스 서버에서 CloudWatch 에이전트와 함께 사용할 IAM 사용자 생성 단원을 참조하세요.

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

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

CloudWatch 에이전트에 대한 AmazonCloudWatchAgent 프로파일을 생성하려면
  1. 아직 설치하지 않았다면 서버에 AWS Command Line Interface를 설치합니다. 자세한 내용은 AWS CLI 설치 단원을 참조하세요.

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

    sudo aws configure --profile AmazonCloudWatchAgent

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

    aws configure --profile AmazonCloudWatchAgent

(선택 사항) CloudWatch 에이전트에 대한 일반 구성 및 명명된 프로파일 수정

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 리전 지정 단원을 참조하세요.

    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에서는 \ 문자를 이스케이프 처리해야 합니다.

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

    shared_credential_file을 지정하는 경우 [credentials] 행의 시작 부분에서 #도 제거해야 합니다.

  • 프록시 설정 - 서버가 HTTP 또는 HTTPS 프록시를 사용하여 AWS 서비스에 연결하는 경우 http_proxyhttps_proxy 필드에 해당 프록시를 지정합니다. 프록시 설정에서 제외해야 하는 URL이 있다면 이를 쉼표로 구분하여 no_proxy 필드에 지정하세요.

CloudWatch 에이전트 시작

Systems Manager Run Command 또는 명령줄을 사용하여 CloudWatch 에이전트를 시작할 수 있습니다.

SSM Agent를 사용하여 온프레미스 서버에서 CloudWatch 에이전트를 시작하려면
  1. https://console.aws.amazon.com/systems-manager/에서 시스템 관리자 콘솔을 엽니다.

  2. 탐색 창에서 Run Command를 선택합니다.

    -또는-

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

  3. Run command(Run 명령)를 선택합니다.

  4. 명령 문서 목록에서 AmazonCloudWatch-ManageAgent 옆의 버튼을 선택합니다.

  5. 대상 영역에서 에이전트를 설치한 인스턴스를 선택합니다.

  6. 작업 목록에서 구성을 선택합니다.

  7. 모드 목록에서 onPremise를 선택합니다.

  8. [구성 위치(선택 사항)(Optional Configuration Location)] 상자에 마법사로 생성하여 파라미터 스토어에 저장한 에이전트 구성 파일의 이름을 입력합니다.

  9. Run(실행)을 선택합니다.

    구성 파일에 지정한 구성을 사용하여 에이전트가 시작됩니다.

명령줄을 사용하여 온프레미스 서버에서 CloudWatch 에이전트를 시작하려면
  • 이 명령에서 -a fetch-config는 에이전트가 최신 버전의 CloudWatch 에이전트 구성 파일을 로드하도록 하며 -s는 에이전트를 시작합니다.

    Linux: Systems Manager 파라미터 스토어에 구성 파일을 저장한 경우 다음을 입력합니다.

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c ssm:configuration-parameter-store-name

    Linux: 구성 파일을 로컬 컴퓨터에 저장한 경우 다음 명령을 입력합니다. configuration-file-path를 에이전트 구성 파일의 경로로 바꿉니다. 이 파일을 마법사로 생성한 경우 config.json이라고 하며 수동으로 생성한 경우 amazon-cloudwatch-agent.json이라고 할 수 있습니다.

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c file:configuration-file-path

    Windows Server: Systems Manager 파라미터 스토어에 에이전트 구성 파일을 저장한 경우 PowerShell 콘솔에서 다음을 입력합니다.

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c ssm:configuration-parameter-store-name

    Windows Server: 에이전트 구성 파일을 로컬 컴퓨터에 저장한 경우 PowerShell 콘솔에서 다음을 입력합니다. configuration-file-path를 에이전트 구성 파일의 경로로 바꿉니다. 이 파일을 마법사로 생성한 경우 config.json이라고 하며 수동으로 생성한 경우 amazon-cloudwatch-agent.json이라고 할 수 있습니다.

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c file:configuration-file-path