SSM을 사용하여 CloudWatch 에이전트 다운로드, 구성, 실행 - Amazon CloudWatch

SSM을 사용하여 CloudWatch 에이전트 다운로드, 구성, 실행

이 단원에서는 Systems Manager를 사용하여 에이전트를 다운로드하는 방법과 에이전트 구성 파일을 생성하는 방법을 설명합니다. Systems Manager를 사용하여 에이전트를 다운로드하려면 먼저, 인스턴스가 Systems Manager에 대해 올바르게 구성되어 있는지 확인해야 합니다.

SSM Agent 설치 또는 업데이트

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

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

SSM Agent 설치 또는 업데이트에 대한 자세한 내용은 AWS Systems Manager 사용 설명서SSM Agent 작업 단원을 참조하세요.

Systems Manager 사전 조건 확인

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

인터넷 액세스 확인

Amazon EC2 인스턴스는 CloudWatch 엔드포인트에 연결할 수 있어야 합니다. 인터넷 게이트웨이, NAT 게이트웨이 또는 CloudWatch 인터페이스 VPC 엔드포인트를 기준으로 할 수 있습니다. 인터넷 액세스를 구성하는 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서인터넷 게이트웨이 단원을 참조하세요.

프록시에서 구성할 엔드포인트와 포트는 다음과 같습니다.

  • 에이전트를 사용하여 지표를 수집하는 경우 적절한 리전의 CloudWatch 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 Amazon Web Services 일반 참조의 Amazon CloudWatch에 나열되어 있습니다.

  • 에이전트를 사용하여 로그를 수집하는 경우 적절한 리전의 CloudWatch Logs 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 Amazon Web Services 일반 참조의 Amazon CloudWatch Logs에 나열되어 있습니다.

  • Systems Manager를 사용하여 에이전트를 설치하거나 파라미터 스토어를 사용하여 구성 파일을 저장하는 경우 적절한 리전의 Systems Manager 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 Amazon Web Services 일반 참조의 AWS Systems Manager에 에 나열되어 있습니다.

CloudWatch 에이전트 패키지를 첫 번째 인스턴스에 다운로드

다음 단계에 따라 Systems Manager를 사용하여 CloudWatch 에이전트 패키지를 다운로드합니다.

Systems Manager를 사용하여 CloudWatch 에이전트 다운로드
  1. https://console.aws.amazon.com/systems-manager/에서 Systems Manager 콘솔을 엽니다.

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

    -또는-

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

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

  4. 명령 문서 목록에서 AWS-ConfigureAWSPackage를 선택합니다.

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

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

  7. 이름 필드에 AmazonCloudWatchAgent를 입력합니다.

  8. 최신 버전의 에이전트를 설치하도록 버전최신 상태로 설정한 채로 유지합니다.

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

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

에이전트 구성 파일 생성 및 수정

CloudWatch 에이전트를 다운로드했으면 서버에서 에이전트를 시작하기 전에 구성 파일을 생성해야 합니다.

에이전트 구성 파일을 Systems Manager 파라미터 스토어에 저장하려는 경우 EC2 인스턴스를 사용하여 파라미터 스토어에 저장해야 합니다. 또한 먼저, 해당 인스턴스에 CloudWatchAgentAdminRole IAM 역할을 연결해야 합니다. 역할 연결에 대한 자세한 내용은 Amazon EC2 사용 설명서의 인스턴스에 IAM 역할 연결 섹션을 참조하세요.

CloudWatch 에이전트 구성 파일 생성에 대한 자세한 내용은 CloudWatch 에이전트 구성 파일 생성 단원을 참조하세요.

에이전트 구성을 사용하여 추가 EC2 인스턴스에 CloudWatch 에이전트를 설치하고 시작

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

각 서버에 대해 이 섹션의 앞에 나열된 단계에 따라 Systems Manager 사전 요구 사항, SSM Agent 버전, 인터넷 액세스를 확인합니다. 그런 다음 생성한 CloudWatch 에이전트 구성 파일을 사용하여 다음 지침에 따라 추가 인스턴스에 CloudWatch 에이전트를 설치합니다.

1단계: CloudWatch 에이전트 다운로드 및 설치

CloudWatch 데이터를 다른 리전으로 전송할 수 있도록 이 인스턴스에 연결한 IAM 역할에 해당 리전의 CloudWatch 데이터에 대한 쓰기 권한이 있는지 확인합니다.

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

CloudWatch 에이전트에 대한 AmazonCloudWatchAgent 프로파일을 생성하려면
  • Linux 서버에서 다음 명령을 입력하고 표시되는 메시지를 따릅니다.

    sudo aws configure --profile AmazonCloudWatchAgent

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

    aws configure --profile AmazonCloudWatchAgent

에이전트 구성을 사용하여 추가 EC2 인스턴스에 CloudWatch 에이전트를 설치하고 시작

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

각 서버에 대해 이 섹션의 앞에 나열된 단계에 따라 Systems Manager 사전 요구 사항, SSM Agent 버전, 인터넷 액세스를 확인합니다. 그런 다음 생성한 CloudWatch 에이전트 구성 파일을 사용하여 다음 지침에 따라 추가 인스턴스에 CloudWatch 에이전트를 설치합니다.

1단계: CloudWatch 에이전트 다운로드 및 설치

에이전트를 실행할 각 서버에 에이전트를 설치해야 합니다. CloudWatch 에이전트는 Amazon Linux 2023 및 Amazon Linux 2에서 패키지로 사용할 수 있습니다. 이 운영 체제를 사용하는 경우 Systems Manager를 사용하여 다음 단계에 따라 패키지를 설치할 수 있습니다.

참고

또한 인스턴스에 연결된 IAM 역할에 CloudWatchAgentServerPolicy가 연결되어 있는지 확인해야 합니다. 자세한 내용은 Amazon EC2 인스턴스에서 CloudWatch 에이전트와 함께 사용할 IAM 역할 생성 섹션을 참조하세요.

Systems Manager를 사용하여 CloudWatch 에이전트 패키지 설치
  1. https://console.aws.amazon.com/systems-manager/에서 Systems Manager 콘솔을 엽니다.

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

    -또는-

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

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

  4. 명령 문서 목록에서 AWS-RunShellScript를 선택합니다. 그런 다음 다음을 명령 파라미터에 붙여넣습니다.

    sudo yum install amazon-cloudwatch-agent
  5. 실행을 선택합니다.

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

참고

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

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

Run Command를 사용하여 CloudWatch 에이전트를 다운로드하려면
  1. https://console.aws.amazon.com/systems-manager/에서 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에 에이전트가 성공적으로 설치되었다고 표시되어야 합니다.

2단계: 에이전트 구성 파일을 사용하여 CloudWatch 에이전트 시작

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

보안이 강화된 Linux(SELinux)가 활성화된 시스템에서 에이전트를 설정하는 방법에 대한 내용은 보안이 강화된 Linux(SELinux)로 CloudWatch 에이전트 설정 섹션을 참조하세요.

Run Command를 사용하여 CloudWatch 에이전트를 시작하려면
  1. https://console.aws.amazon.com/systems-manager/에서 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에 에이전트가 성공적으로 시작되었다고 표시되어야 합니다.

(선택 사항) 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 필드에 지정하세요.