에이전트 구성을 사용하여 EC2 인스턴스에 CloudWatch 에이전트 설치 - Amazon CloudWatch

에이전트 구성을 사용하여 EC2 인스턴스에 CloudWatch 에이전트 설치

CloudWatch 에이전트 구성을 파라미터 스토어에 저장했으면 다른 서버에 에이전트를 설치할 때 이를 사용할 수 있습니다.

인스턴스에 IAM 역할 연결

EC2 인스턴스에 CloudWatchAgentServerRole IAM 역할을 연결해야 인스턴스에서 CloudWatch 에이전트를 실행할 수 있습니다. 이 역할을 통해 CloudWatch 에이전트는 인스턴스에서 작업을 수행할 수 있습니다. 이 역할은 이전에 생성했어야 합니다. 자세한 정보는 CloudWatch 에이전트와 함께 사용하기 위한 IAM 역할 및 사용자 생성 섹션을 참조하세요.

자세한 내용은 Windows 인스턴스용 Amazon EC2 사용 설명서인스턴스에 IAM 역할 연결 단원을 참조하세요.

Amazon EC2 인스턴스에 CloudWatch 에이전트 패키지 다운로드

에이전트를 실행할 각 서버에 에이전트를 설치해야 합니다. CloudWatch 에이전트는 Amazon Linux 2023 및 Amazon Linux 2에서 패키지로 사용할 수 있습니다. 이 운영 체제를 사용하는 경우 다음 명령을 입력하여 패키지를 설치할 수 있습니다. 또한 인스턴스에 연결된 IAM 역할에 CloudWatchAgentServerPolicy가 연결되어 있는지 확인해야 합니다. 자세한 내용은 Amazon EC2 인스턴스에서 CloudWatch 에이전트와 함께 사용할 IAM 역할 생성 단원을 참조하세요.

sudo yum install amazon-cloudwatch-agent

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

참고

CloudWatch 에이전트를 설치하거나 업데이트하는 경우 제거 및 재설치(Uninstall and reinstall) 옵션만 지원됩니다. 현재 위치 업데이트(In-place update) 옵션을 사용할 수 없습니다.

Systems Manager를 사용하여 Amazon EC2 인스턴스에 CloudWatch 에이전트 다운로드

Systems Manager를 사용하여 CloudWatch 에이전트를 설치하려면 먼저, 인스턴스가 Systems Manager에 대해 올바르게 구성되어 있는지 확인해야 합니다.

SSM Agent 설치 또는 업데이트

Amazon EC2 인스턴스에서 CloudWatch 에이전트를 사용하려면 인스턴스가 2.2.93.0 이상 버전을 실행하고 있어야 합니다. CloudWatch 에이전트를 설치하기 전에 인스턴스에서 SSM Agent를 업데이트하거나 설치합니다(아직 하지 않은 경우).

Linux를 실행하는 인스턴스에 SSM Agent를 설치하거나 업데이트하는 방법에 대한 자세한 내용은 AWS Systems Manager 사용 설명서Linux 인스턴스에 SSM Agent 설치 및 구성 단원을 참조하세요.

Windows Server를 실행하는 인스턴스에 SSM Agent를 설치하거나 업데이트하는 방법에 대한 자세한 내용은 AWS Systems Manager 사용 설명서Windows 인스턴스에 SSM Agent 설치 및 구성 단원을 참조하세요.

(선택 사항) Systems Manager 사전 조건 확인

Systems Manager Run Command를 사용하여 CloudWatch 에이전트를 설치 및 구성하기 전에 인스턴스가 Systems Manager 최소 요구 사항을 충족하는지 확인하세요. 자세한 내용은 AWS Systems Manager 사용 설명서에서 AWS Systems Manager 설정을 참조하세요.

인터넷 액세스 확인

CloudWatch 또는 CloudWatch Logs에 데이터를 전송하려면 Amazon EC2 인스턴스에 아웃바운드 인터넷 액세스 권한이 있어야 합니다. 인터넷 액세스를 구성하는 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서인터넷 게이트웨이 단원을 참조하세요.

CloudWatch 에이전트 패키지 다운로드

Systems Manager Run Command를 사용하면 인스턴스의 구성을 관리할 수 있습니다. Systems Manager 문서 및 파라미터를 지정하고 하나 이상의 인스턴스에서 명령을 실행할 수 있습니다. 인스턴스의 SSM Agent는 명령을 처리하고 지정된 대로 인스턴스를 구성합니다.

Run Command를 사용하여 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(실행)을 선택합니다.

  10. (선택 사항) [대상 및 출력(Targets and outputs)] 영역에서 인스턴스 이름 옆의 버튼을 선택하고 [출력 보기(View output)]를 선택합니다. Systems Manager에 에이전트가 성공적으로 설치되었다고 표시되어야 합니다.

(선택 사항) 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가 사용됩니다.

    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 또는 명령줄을 사용하여 에이전트를 시작할 수 있습니다.

Systems Manager Run Command를 사용하여 CloudWatch 에이전트 시작

다음 단계에 따라 Systems Manager Run Command를 사용하여 에이전트를 시작할 수 있습니다.

Run Command를 사용하여 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. [대상(Targets)] 영역에서 CloudWatch 에이전트를 설치한 인스턴스를 선택합니다.

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

  7. Optional Configuration Source(구성 소스(선택 사항)) 목록에서 ssm을 선택합니다.

  8. CloudWatch 에이전트 구성 파일 생성에 설명된 대로 선택적 구성 위치 상자에서 Systems Manager Parameter Store에 생성 및 저장한 에이전트 구성 파일의 Systems Manager 매개변수 이름을 입력합니다.

  9. Optional Restart(재시작(선택 사항)) 목록에서 를 선택하여 해당 단계를 마친 후 에이전트가 시작되도록 합니다.

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

  11. (선택 사항) [대상 및 출력(Targets and outputs)] 영역에서 인스턴스 이름 옆의 버튼을 선택하고 [출력 보기(View output)]를 선택합니다. Systems Manager에 에이전트가 성공적으로 시작되었다고 표시되어야 합니다.

명령줄을 사용하여 Amazon EC2 인스턴스에서 CloudWatch 에이전트 시작

다음 단계에 따라 명령줄을 사용하여 Amazon EC2 인스턴스에 CloudWatch 에이전트를 설치할 수 있습니다.

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

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

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

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

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -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 ec2 -s -c ssm:configuration-parameter-store-name

    Windows Server: 에이전트 구성 파일을 로컬 컴퓨터에 저장한 경우 PowerShell 콘솔에서 다음을 입력합니다.

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