통합 CloudWatch Logs로 노드 로그 전송(CloudWatch 에이전트) - AWS Systems Manager

통합 CloudWatch Logs로 노드 로그 전송(CloudWatch 에이전트)

Amazon CloudWatch 에이전트를 구성하고 사용하면, 이러한 태스크에 대해 AWS Systems Manager Agent(SSM Agent)를 사용하는 대신, 노드로부터 지표 및 로그를 수집할 수 있습니다. CloudWatch 에이전트를 사용하면 SSM Agent를 사용할 때보다 EC2 인스턴스에 대한 지표를 더 많이 수집할 수 있습니다. 또한 CloudWatch 에이전트를 사용하면 온프레미스 서버로부터 지표를 수집할 수 있습니다.

CloudWatch 에이전트에 사용하기 위해 Systems Manager Parameter Store에 에이전트 구성 설정을 저장할 수도 있습니다. Parameter Store는 AWS Systems Manager의 기능입니다.

참고

AWS Systems Manager는 64비트 버전의 Windows에서만 로그 및 지표를 수집하기 위해 SSM Agent에서 통합 CloudWatch 에이전트로의 마이그레이션을 지원합니다. 다른 운영 체제에서 통합 CloudWatch 에이전트 설정에 대한 자세한 내용과 CloudWatch 에이전트 사용에 대한 전체 내용은 Amazon CloudWatch 사용 설명서CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버로부터 지표 및 로그 수집을 참조하세요.

지원되는 다른 운영 체제에서 CloudWatch 에이전트를 사용할 수 있지만 Systems Manager를 사용하여 도구 마이그레이션을 수행할 수는 없습니다.

SSM Agent는 실행, 예약된 작업, 오류 및 상태에 대한 정보를 각 노드의 로그 파일에 씁니다. 노드에 수동으로 연결하여 로그 파일을 보고 SSM Agent 문제를 해결하려면 많은 시간이 소요됩니다. 보다 효율적으로 노드를 모니터링하려면 SSM Agent 자체 또는 CloudWatch 에이전트가 이 로그 데이터를 Amazon CloudWatch Logs에 보내도록 구성합니다.

중요

통합 CloudWatch 에이전트가 Amazon CloudWatch Logs에 로그 데이터를 전송하기 위한 도구로 SSM Agent를 대체했습니다. SSM Agent aws:cloudWatch 플러그인은 지원되지 않습니다. 로그 수집 프로세스에 통합된 CloudWatch 에이전트만 사용하는 것이 좋습니다. 자세한 정보는 다음 주제를 참조하세요.

CloudWatch Logs를 사용하면 로그 데이터를 실시간으로 모니터링하고, 하나 이상의 지표 필터를 생성하여 로그 데이터를 검색 및 필터링하고, 필요 시 기록 데이터를 보관 및 가져올 수 있습니다. CloudWatch Logs에 대한 자세한 내용은 Amazon CloudWatch Logs User Guide를 참조하세요.

로그 데이터를 Amazon CloudWatch Logs로 보내도록 에이전트를 구성하면 다음과 같은 이점을 얻을 수 있습니다.

  • 모든 SSM Agent 로그 파일에 대한 로그 파일 스토리지 중앙 집중화

  • 파일에 더 빠르게 액세스하여 오류 확인

  • 무기한 로그 파일 보존(구성 가능)

  • 노드의 상태에 상관없이 로그 유지 관리 및 액세스 가능

  • 지표, 경보 등의 다른 CloudWatch 기능에 액세스

Session Manager 활동 모니터링에 대한 자세한 내용은 세션 활동 감사세션 활동 로깅 활성화 및 비활성화 섹션을 참조하세요.

Windows 서버 노드 로그 수집을 CloudWatch 에이전트로 마이그레이션

지원되는 Windows Server 노드에서 SSM Agent를 사용하여 SSM Agent 로그 파일을 Amazon CloudWatch Logs로 전송하고 있는 경우 Systems Manager를 사용하면 로그 수집 도구를 SSM Agent에서 CloudWatch 에이전트로 마이그레이션하고 구성 설정을 마이그레이션할 수 있습니다.

CloudWatch 에이전트는 Windows Server의 32비트 버전에서 지원되지 않습니다.

Windows Server용 64비트 EC2 인스턴스의 경우 CloudWatch 에이전트로의 마이그레이션을 자동 또는 수동으로 수행할 수 있습니다. 온프레미스 서버 및 가상 머신의 경우, 수동으로만 프로세스를 수행해야 합니다.

참고

마이그레이션 프로세스 중 CloudWatch로 전송된 데이터가 중단되거나 중복될 수 있습니다. 마이그레이션이 완료되면 지표 및 로그 데이터가 CloudWatch에 다시 정확하게 기록됩니다.

전체 플릿을 CloudWatch 에이전트에 마이그레이션하기 전에 제한된 수의 노드에 대해 마이그레이션을 테스트해 보는 것이 좋습니다. 마이그레이션한 후 SSM Agent를 사용하여 로그를 수집하려면 이를 다시 사용하도록 설정을 변경하면 됩니다.

중요

다음과 같은 경우에는 이 주제에서 설명하는 단계를 사용하여 CloudWatch 에이전트에 마이그레이션을 수행할 수 없습니다.

  • SSM Agent에 대한 기존 구성이 여러 리전이 지정되어 있는 경우

  • SSM Agent에 대한 기존 구성에 여러 세트의 액세스/보안 키 자격 증명이 지정되어 있는 경우

이러한 경우 마이그레이션 프로세스 없이 SSM Agent의 로그 수집을 해제하고 CloudWatch 에이전트를 설치해야 합니다. 자세한 내용은 Amazon CloudWatch User Guide의 다음 주제를 참조하세요.

시작하기 전 준비 사항

로그 수집을 위해 CloudWatch 에이전트로 마이그레이션을 시작하기 전에, 마이그레이션을 수행할 노드가 다음 요건을 충족하는지 확인합니다.

  • OS가 Windows 서버 64비트 버전입니다.

  • SSM Agent 2.2.93.0 이상이 노드에 설치되어 있습니다.

  • SSM Agent가 노드에서 모니터링하도록 구성되어 있습니다.

CloudWatch 에이전트로 자동 마이그레이션

Windows Server용 EC2 인스턴스에서만 AWS Systems Manager 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 로그 수집 도구로 CloudWatch 에이전트에 자동으로 마이그레이션할 수 있습니다.

참고

AWS Systems Manager는 64비트 버전의 Windows에서만 로그 및 지표를 수집하기 위해 SSM Agent에서 통합 CloudWatch 에이전트로의 마이그레이션을 지원합니다. 다른 운영 체제에서 통합 CloudWatch 에이전트 설정에 대한 자세한 내용과 CloudWatch 에이전트 사용에 대한 전체 내용은 Amazon CloudWatch 사용 설명서CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버로부터 지표 및 로그 수집을 참조하세요.

지원되는 다른 운영 체제에서 CloudWatch 에이전트를 사용할 수 있지만 Systems Manager를 사용하여 도구 마이그레이션을 수행할 수는 없습니다.

마이그레이션이 성공하면 CloudWatch에서 결과를 확인하여 원하는 지표, 로그 또는 Windows 이벤트 로그를 전송 받고 있는지 확인합니다. 결과에 만족하는 경우 선택적으로 Parameter Store에 CloudWatch 에이전트 구성 설정 저장를 수행할 수 있습니다. 마이그레이션에 실패하거나 원하는 결과가 아닌 경우 SSM Agent를 사용한 로그 수집으로 롤백을 시도할 수 있습니다.

참고

{hostname} 항목을 포함하는 소스 구성 파일을 마이그레이션하려는 경우 마이그레이션이 완료된 이후에 {hostname} 항목으로 인해 필드 값이 변경될 수 있다는 사실을 염두에 두어야 합니다. 예를 들어 다음 "LogStream": "{hostname}" 항목이 MyLogServer001 서버로 매핑된다고 가정합니다.

{ "Id": "CloudWatchIISLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "us-east-1", "LogGroup": "Production-Windows-IIS", "LogStream": "{hostname}" } }

마이그레이션 후 이 항목은 도메인(예: ip-11-1-1-11.production)에 매핑됩니다. ExampleCompany.com. 로컬 호스트 이름 값을 유지하려면 {hostname} 대신 {local_hostname}을 지정합니다.

CloudWatch 에이전트로 자동으로 마이그레이션하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Run Command를 선택한 후 명령 실행을 선택합니다.

  3. Command 문서(Command document) 목록에서 AmazonCloudWatch-MigrateCloudWatchAgent를 선택합니다.

  4. 상태에서 활성을 선택합니다.

  5. Targets(대상) 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.

    작은 정보

    예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

  6. Rate control(속도 제어)에서

    • Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.

      참고

      관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.

    • Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

  7. (선택 사항) Output options(출력 옵션)에서 명령 출력을 파일에 저장하려면 Write command output to an S3 bucket(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.

    참고

    데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성이나 하이브리드 환경을 위한 IAM 서비스 역할 생성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

  8. SNS notifications(SNS 알림) 섹션에서, 명령 실행 상태에 대한 알림이 전송되도록 하려면 Enable SNS notifications(SNS 알림 활성화) 확인란을 선택합니다.

    Run Command에 대한 Amazon SNS 알림 구성에 대한 자세한 내용은 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링 섹션을 참조하세요.

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

CloudWatch 에이전트로 자동으로 마이그레이션하려면(AWS CLI)
  • 다음 명령을 실행합니다.

    aws ssm send-command --document-name AmazonCloudWatch-MigrateCloudWatchAgent --targets Key=instanceids,Values=ID1,ID2,ID3

    ID1, ID2ID3i-02573cafcfEXAMPLE와 같이 업데이트하려는 노드의 ID를 나타냅니다.

CloudWatch 에이전트로 수동 마이그레이션

온프레미스 Windows Server 노드 또는 Windows Server용 EC2 인스턴스에서 로그 수집을 Amazon CloudWatch 에이전트로 수동 마이그레이션하려면 다음 단계를 따릅니다.

참고

{hostname} 항목을 포함하는 소스 구성 파일을 마이그레이션하려는 경우 마이그레이션이 완료된 이후에 {hostname} 항목으로 인해 필드 값이 변경될 수 있다는 사실을 염두에 두어야 합니다. 예를 들어 다음 "LogStream": "{hostname}" 항목이 MyLogServer001 서버로 매핑된다고 가정합니다.

{ "Id": "CloudWatchIISLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "us-east-1", "LogGroup": "Production-Windows-IIS", "LogStream": "{hostname}" } }

마이그레이션 후 이 항목은 도메인(예: ip-11-1-1-11.production.ExampleCompany.com)에 매핑됩니다. 로컬 호스트 이름 값을 유지하려면 {hostname} 대신 {local_hostname}을 지정합니다.

1단계: CloudWatch 에이전트를 설치하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Run Command를 선택한 후 명령 실행을 선택합니다.

  3. Command 문서(Command document) 목록에서 AWS-ConfigureAWSPackage를 선택합니다.

  4. 작업(Action)에서 Install을(를) 선택합니다.

  5. 이름AmazonCloudWatchAgent를 입력합니다.

  6. 버전(Version)latest를 입력합니다(기본적으로 아직 제공되지 않은 경우).

  7. Targets(대상) 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.

    작은 정보

    예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

  8. Rate control(속도 제어)에서

    • Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.

      참고

      관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.

    • Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

  9. (선택 사항) Output options(출력 옵션)에서 명령 출력을 파일에 저장하려면 Write command output to an S3 bucket(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.

    참고

    데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성이나 하이브리드 환경을 위한 IAM 서비스 역할 생성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

  10. SNS notifications(SNS 알림) 섹션에서, 명령 실행 상태에 대한 알림이 전송되도록 하려면 Enable SNS notifications(SNS 알림 활성화) 확인란을 선택합니다.

    Run Command에 대한 Amazon SNS 알림 구성에 대한 자세한 내용은 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링 섹션을 참조하세요.

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

2단계: 구성 데이터 JSON 형식 업데이트
  • CloudWatch 에이전트에 대한 기존 구성 설정의 JSON 형식을 업데이트하려면 AWS Systems Manager의 기능인 Run Command를 사용하거나 RDP 연결로 노드에 직접 로그인하여 다음 Windows PowerShell 명령을 노드에 한 번에 하나씩 실행합니다.

    cd ${Env:ProgramFiles}\\Amazon\\AmazonCloudWatchAgent
    .\\amazon-cloudwatch-agent-config-wizard.exe --isNonInteractiveWindowsMigration

    {Env:ProgramFiles}는 CloudWatch 에이전트가 포함되어 있는 Amazon 디렉터리를 찾을 수 있는 위치를 나타내며, 위치는 주로 C:\Program Files입니다.

3단계: CloudWatch 에이전트를 구성하고 시작하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Run Command를 선택한 후 명령 실행을 선택합니다.

  3. Command 문서(Command document) 목록에서 AWS-RunPowerShellScript를 선택합니다.

  4. 명령(Commands)에 다음 두 명령을 입력합니다.

    cd ${Env:ProgramFiles}\Amazon\AmazonCloudWatchAgent
    .\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m ec2 -c file:config.json -s

    {Env:ProgramFiles}는 CloudWatch 에이전트가 포함되어 있는 Amazon 디렉터리를 찾을 수 있는 위치를 나타내며, 위치는 주로 C:\Program Files입니다.

  5. Targets(대상) 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.

    작은 정보

    예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

  6. Rate control(속도 제어)에서

    • Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.

      참고

      관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.

    • Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

  7. (선택 사항) Output options(출력 옵션)에서 명령 출력을 파일에 저장하려면 Write command output to an S3 bucket(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.

    참고

    데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성이나 하이브리드 환경을 위한 IAM 서비스 역할 생성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

  8. SNS notifications(SNS 알림) 섹션에서, 명령 실행 상태에 대한 알림이 전송되도록 하려면 Enable SNS notifications(SNS 알림 활성화) 확인란을 선택합니다.

    Run Command에 대한 Amazon SNS 알림 구성에 대한 자세한 내용은 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링 섹션을 참조하세요.

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

4단계: SSM Agent에서 로그 수집을 해제하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Run Command를 선택한 후 명령 실행을 선택합니다.

  3. Command 문서(Command document) 목록에서 AWS-ConfigureCloudWatch를 선택합니다.

  4. 상태(Status)에서 사용 중지됨(Disabled)을 선택합니다.

  5. Targets(대상) 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.

    작은 정보

    예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

  6. 상태(Status)에서 Disabled를 선택합니다.

  7. Rate control(속도 제어)에서

    • Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.

      참고

      관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.

    • Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

  8. (선택 사항) Output options(출력 옵션)에서 명령 출력을 파일에 저장하려면 Write command output to an S3 bucket(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.

    참고

    데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성이나 하이브리드 환경을 위한 IAM 서비스 역할 생성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

  9. SNS notifications(SNS 알림) 섹션에서, 명령 실행 상태에 대한 알림이 전송되도록 하려면 Enable SNS notifications(SNS 알림 활성화) 확인란을 선택합니다.

    Run Command에 대한 Amazon SNS 알림 구성에 대한 자세한 내용은 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링 섹션을 참조하세요.

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

    이러한 단계를 수행했으면 CloudWatch에서 결과를 확인하여 원하는 지표, 로그 또는 Windows 이벤트 로그를 전송 받고 있는지 확인합니다. 결과에 만족하는 경우 선택적으로 Parameter Store에 CloudWatch 에이전트 구성 설정 저장를 수행할 수 있습니다. 마이그레이션에 실패하거나 원하는 결과가 아닌 경우 SSM Agent를 사용한 로그 수집으로 롤백을 수행할 수 있습니다.

Parameter Store에 CloudWatch 에이전트 구성 설정 저장

Parameter Store에 CloudWatch 에이전트 구성 파일의 내용을 저장할 수 있습니다. 이러한 구성 데이터를 파라미터에 유지하면 여러 노드가 그로부터 구성 설정을 가져올 수 있으며, 사용자가 노드에 구성 파일을 생성하거나 수동으로 업데이트하지 않아도 됩니다. 예를 들어 Run Command를 사용하여 여러 노드의 구성 파일에 파라미터 내용을 쓰거나 AWS Systems Manager의 기능인 State Manager을 사용하여 노드 플릿에 대해 CloudWatch 에이전트 구성 설정의 구성 편차를 방지할 수 있습니다.

CloudWatch 에이전트 구성 마법사를 실행하면 마법사가 Parameter Store에 새로운 파라미터로 구성 설정을 저장하도록 선택할 수 있습니다. CloudWatch 에이전트 구성 마법사를 실행하는 방법에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서마법사로 CloudWatch 에이전트 구성 파일 생성을 참조하세요.

마법사를 실행했지만 설정을 파라미터로 저장하도록 하는 옵션을 선택하지 않았거나 CloudWatch 에이전트 구성 파일을 수동으로 생성한 경우 다음 파일에 노드의 파라미터로 저장할 데이터를 가져올 수 있습니다.

${Env:ProgramFiles}\Amazon\AmazonCloudWatchAgent\config.json

{Env:ProgramFiles}는 CloudWatch 에이전트가 포함되어 있는 Amazon 디렉터리를 찾을 수 있는 위치를 나타내며, 위치는 주로 C:\Program Files입니다.

노드 자체가 아닌 다른 위치의 이 파일에 JSON 백업을 유지하는 것이 좋습니다.

파라미터 생성에 대한 자세한 내용은 Systems Manager 파라미터 생성 섹션을 참조하세요.

CloudWatch 에이전트에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버로부터 지표 및 로그 수집을 참조하세요.

SSM Agent를 사용한 로그 수집으로 롤백

SSM Agent를 사용하여 로그를 수집하도록 다시 되돌리려면 다음 단계를 따르십시오.

1단계: SSM Agent로부터 구성 데이터 가져오기
  1. SSM Agent를 사용하여 로그를 수집하도록 되돌리려는 노드에서 SSM Agent 구성 파일의 내용을 찾습니다. 이 JSON 파일은 일반적으로 다음 위치에서 찾을 수 있습니다.

    ${Env:ProgramFiles}\\Amazon\\SSM\\Plugins\\awsCloudWatch\\AWS.EC2.Windows.CloudWatch.json

    {Env:ProgramFiles}Amazon 디렉터리를 찾을 수 있는 위치를 나타내며, 위치는 주로 C:\Program Files입니다.

  2. 추후 단계에서 사용할 수 있도록 이 데이터를 텍스트 파일에 복사합니다.

    노드 자체가 아닌 다른 위치에 JSON 백업을 저장해 두는 것이 좋습니다.

2단계: CloudWatch 에이전트를 제거하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Run Command를 선택한 후 명령 실행을 선택합니다.

  3. Command 문서(Command document) 목록에서 AWS-ConfigureAWSPackage를 선택합니다.

  4. 작업(Action)에서 제거(Uninstall)를 선택합니다.

  5. 이름AmazonCloudWatchAgent를 입력합니다.

  6. Targets(대상) 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.

    작은 정보

    예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

  7. Rate control(속도 제어)에서

    • Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.

      참고

      관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.

    • Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

  8. (선택 사항) Output options(출력 옵션)에서 명령 출력을 파일에 저장하려면 Write command output to an S3 bucket(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.

    참고

    데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성이나 하이브리드 환경을 위한 IAM 서비스 역할 생성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

  9. SNS notifications(SNS 알림) 섹션에서, 명령 실행 상태에 대한 알림이 전송되도록 하려면 Enable SNS notifications(SNS 알림 활성화) 확인란을 선택합니다.

    Run Command에 대한 Amazon SNS 알림 구성에 대한 자세한 내용은 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링 섹션을 참조하세요.

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

3단계: SSM Agent에 로그 수집을 다시 설정하려면(콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Run Command를 선택한 후 명령 실행을 선택합니다.

  3. Command 문서(Command document) 목록에서 AWS-ConfigureCloudWatch를 선택합니다.

  4. 상태(Status)에서 Enabled를 선택합니다.

  5. 속성(Properties) 상자에 저장한 이전 구성 데이터의 내용을 텍스트 파일에 붙여 넣습니다.

  6. Targets(대상) 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.

    작은 정보

    예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

  7. Rate control(속도 제어)에서

    • Concurrency(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.

      참고

      관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.

    • Error threshold(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

  8. (선택 사항) Output options(출력 옵션)에서 명령 출력을 파일에 저장하려면 Write command output to an S3 bucket(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.

    참고

    데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성이나 하이브리드 환경을 위한 IAM 서비스 역할 생성을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

  9. SNS notifications(SNS 알림) 섹션에서, 명령 실행 상태에 대한 알림이 전송되도록 하려면 Enable SNS notifications(SNS 알림 활성화) 확인란을 선택합니다.

    Run Command에 대한 Amazon SNS 알림 구성에 대한 자세한 내용은 Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링 섹션을 참조하세요.

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