Amazon CloudWatch Logs
사용 설명서

빠른 시작: 실행 중인 EC2 Linux 인스턴스에 CloudWatch Logs 에이전트를 설치 및 구성

작은 정보

CloudWatch는 EC2 인스턴스 및 온프레미스 서버에서 로그와 지표를 모두 수집할 수 있는 통합 에이전트가 새롭게 추가되었습니다. 이미 이전 CloudWatch Logs 에이전트의 사용을 중단하였다면 새롭게 통합된 CloudWatch 에이전트 사용을 권장합니다. 자세한 내용은 CloudWatch Logs 시작하기 단원을 참조하십시오.

이번 단원의 나머지에서는 이전 CloudWatch Logs 에이전트의 사용에 대해서 설명하겠습니다.

실행 중인 EC2 Linux 인스턴스에서 이전 CloudWatch Logs 에이전트 구성

기존 EC2 인스턴스에서 CloudWatch Logs 에이전트 설치 프로그램을 사용하여 CloudWatch Logs 에이전트를 설치 및 구성할 수 있습니다. 설치가 완료되면 로그가 자동으로 인스턴스에서 에이전트 설치 도중 생성한 로그 스트림으로 흐릅니다. 에이전트는 인스턴트가 시작되었고 비활성화를 할 때까지 실행이 유지되는지 확인합니다.

에이전트를 사용하는 외에도 AWS CLI, CloudWatch Logs SDK 또는 CloudWatch Logs API를 사용하여 로그 데이터를 게시할 수도 있습니다. AWS CLI는 명령줄에서, 또는 스크립트를 통해 데이터를 게시하기에 가장 적합합니다. CloudWatch Logs SDK는 애플리케이션에서 직접 로그 데이터를 게시하거나 자체적으로 로그 게시 애플리케이션을 구축하기에 가장 적합합니다.

1단계: CloudWatch Logs에 대한 IAM 역할 또는 사용자 구성

CloudWatch Logs 에이전트는 IAM 역할 및 사용자를 지원합니다. 인스턴스가 이미 IAM 역할에 연결되어 있으면 아래의 IAM 정책이 포함되어 있는지 확인합니다. 인스턴스에 IAM 역할이 할당되어 있지 않으면 다음 단계에서 IAM 자격 증명을 사용하거나 해당 인스턴스에 IAM 역할을 할당할 수 있습니다. 자세한 내용은 IAM 역할을 인스턴스에 연결을 참조하십시오.

CloudWatch Logs에 대한 IAM 역할이나 사용자를 구성하려면

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다.

  3. 역할 이름을 선택하여 역할을 선택합니다(이름 옆의 확인란은 선택하지 않음).

  4. 정책 연결에서 정책 생성을 선택합니다.

    새 브라우저 탭 또는 창이 열립니다.

  5. JSON 탭을 선택하고 다음 JSON 정책 문서를 입력합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  6. 작업이 완료되면 정책 검토를 선택합니다. 정책 검사기가 모든 구문 오류를 보고합니다.

  7. 정책 검토 페이지에서 생성하는 정책에 대한 이름설명(선택 사항)을 입력합니다. 정책 요약을 검토하여 정책이 부여한 권한을 확인합니다. 그런 다음 정책 생성을 선택하여 작업을 저장합니다.

  8. 브라우저 탭 또는 창을 닫고, 역할의 권한 추가 페이지로 돌아옵니다. 새로 고침을 선택한 후 새 정책을 선택하여 역할에 연결합니다.

  9. Attach Policy(정책 연결)를 선택합니다.

2단계: 기존 Amazon EC2 인스턴스에 CloudWatch Logs를 설치 및 구성

CloudWatch Logs 에이전트 설치 프로세스는 Amazon EC2 인스턴스가 Amazon Linux, Ubuntu, CentOS 또는 Red Hat 중 무엇을 실행하느냐에 따라 다릅니다. 인스턴스에서 Linux 버전에 적합한 단계를 사용합니다.

기존 Amazon Linux 인스턴스에 CloudWatch Logs을 설치 및 구성하려면

2014년 9월에 출시된 Amazon Linux AMI 버전부터는 CloudWatch Logs 에이전트를 awslogs 패키지에서 RPM 설치 프로그램으로 사용할 수 있습니다. 이전 버전의 Amazon Linux은 sudo yum update -y 명령을 통해 인스턴스를 업데이트하여 awslogs 패키지에 액세스할 수 있습니다. CloudWatch Logs 설치 프로그램을 사용하는 대신 RPM으로 awslogs 패키지를 설치하면 CloudWatch Logs 에이전트를 수동으로 재설치할 필요 없이 인스턴스가 AWS에서 정기적으로 패키지에 대한 업데이트 및 패치를 수신할 수 있습니다.

주의

이전에 Python 스크립트를 사용해 에이전트를 설치한 경우에는 RPM 설치 방법을 이용해 CloudWatch Logs 에이전트를 업데이트하지 마십시오. 이로 인해 구성 문제가 발생하여 CloudWatch Logs 에이전트가 CloudWatch에 로그를 전송하지 못할 수 있습니다.

  1. Amazon Linux 인스턴스에 연결합니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스에 연결을 참조하십시오.

    연결 문제에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 연결 문제 해결을 참조하십시오.

  2. Amazon Linux 인스턴스를 업데이트하여 패키지 리포지토리에서 최신 변경 사항을 찾아냅니다.

    sudo yum update -y
  3. awslogs 패키지를 설치합니다. 이는 Amazon Linux 인스턴스에서 awslogs를 설치하는 데 있어 권장되는 방법입니다.

    sudo yum install -y awslogs
  4. /etc/awslogs/awslogs.conf 파일을 편집하여 추적할 로그를 구성합니다. 이 파일을 편집하는 방법에 대한 자세한 내용은 CloudWatch Logs 에이전트 참조 단원을 참조하십시오.

  5. 기본적으로 /etc/awslogs/awscli.conf는 us-east-1 리전을 가리킵니다. 다른 리전으로 로그를 푸시하려면 awscli.conf 파일을 편집하고 해당 리전을 지정합니다.

  6. awslogs 서비스를 시작합니다.

    sudo service awslogs start

    Amazon Linux 2를 실행 중인 경우 다음 명령과 함께 awslogs 서비스를 시작합니다.

    sudo systemctl start awslogsd
  7. (선택 사항) 서비스 시작 시 기록된 오류에 대해서는 /var/log/awslogs.log 파일을 확인하십시오.

  8. (선택 사항) 다음 명령을 실행하여 시스템 부팅 때마다 awslogs 서비스를 시작합니다.

    sudo chkconfig awslogs on

    Amazon Linux 2를 실행 중인 경우 다음 명령으로 각 시스템 부팅에서 서비스를 시작합니다.

    sudo systemctl enable awslogsd.service
  9. 에이전트가 몇 분 동안 실행된 이후에 CloudWatch 콘솔에 새로 생성된 로그 그룹 및 로그 스트림이 나타납니다.

    자세한 내용은 CloudWatch Logs에 전송된 로그 데이터 보기 단원을 참조하십시오.

기존의 Ubuntu Server, CentOS 또는 Red Hat 인스턴스에 CloudWatch Logs을 설치 및 구성하려면

Ubuntu Server, CentOS 또는 Red Hat을 실행하는 AMI를 사용하고 있는 경우에는 다음 절차를 이용해 인스턴스에 CloudWatch Logs 에이전트를 수동으로 설치합니다.

  1. EC2 인스턴스에 연결합니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스에 연결을 참조하십시오.

    연결 문제에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 연결 문제 해결을 참조하십시오.

  2. 두 옵션 중 하나를 사용하여 CloudWatch Logs 에이전트 설치 프로그램을 실행합니다. 인터넷에서 직접 실행하거나 파일을 다운로드하여 독립적으로 실행할 수 있습니다.

    참고

    CentOS 6.x, Red Hat 6.x, 또는 Ubuntu 12.04를 사용 중인 경우 독립 실행형 설치 관리자의 다운로드 및 실행 단계를 사용합니다. 이들 시스템에서는 CloudWatch Logs 에이전트를 인터넷에서 직접 설치하는 것이 지원되지 않습니다.

    참고

    아래 명령을 실행하기 전에 Ubuntu에서 apt-get update를 실행합니다.

    인터넷에서 직접 실행하려면 다음 명령을 사용하고 프롬프트의 메시지를 따릅니다.

    curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
    sudo python ./awslogs-agent-setup.py --region us-east-1

    위의 명령이 작동하지 않으면 다음 작업을 시도합니다.

    sudo python3 ./awslogs-agent-setup.py --region us-east-1

    단독으로 다운로드 및 실행하려면 다음 명령을 사용하고 프롬프트의 메시지를 따릅니다.

    curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
    curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/AgentDependencies.tar.gz -O
    tar xvf AgentDependencies.tar.gz -C /tmp/
    sudo python ./awslogs-agent-setup.py --region us-east-1 --dependency-path /tmp/AgentDependencies

    us-east-1, us-west-1, us-west-2, ap-south-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-northeast-1, eu-central-1, eu-west-1, or sa-east-1 리전을 지정하여 CloudWatch Logs 에이전트를 설치할 수 있습니다.

    참고

    최신 버전과 awslogs-agent-setup의 버전 이력에 대한 자세한 내용은 CHANGELOG.txt를 참조하십시오.

    CloudWatch Logs 에이전트 설치 프로그램은 설정 단계에서 특정 정보를 요구합니다. 시작에 앞서 모니터링할 로그 파일과 타임스탬프 형식을 알아야 합니다. 또한 다음 정보를 이미 확보하고 있어야 합니다.

    항목 설명

    AWS 액세스 키 ID

    IAM 역할을 사용하고 있는 경우에는 Enter 키를 누릅니다. 아니면 AWS 액세스 키 ID를 입력합니다.

    AWS 보안 액세스 키

    IAM 역할을 사용하고 있는 경우에는 Enter 키를 누릅니다. 아니면 AWS 보안 액세스 키를 입력합니다.

    기본 리전 이름

    Enter를 누릅니다. 기본값은 us-east-2입니다. 이를 us-east-1, us-west-1, us-west-2, ap-south-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-northeast-1, eu-central-1, eu-west-1, or sa-east-1로 설정할 수 있습니다.

    기본 출력 형식

    공백으로 남겨 두고 Enter를 누릅니다.

    업로드할 로그 파일의 경로

    전송할 로그 데이터가 포함된 파일의 위치입니다. 설치 프로그램이 경로를 제안합니다.

    대상 로그 그룹 이름

    로그 그룹의 이름. 설치 프로그램이 로그 그룹 이름을 제안합니다.

    대상 로그 스트림 이름

    기본적으로 이 이름은 호스트 이름입니다. 설치 프로그램이 호스트 이름을 제안합니다.

    타임스탬프 형식

    지정된 로그 파일 내의 타임스탬프 형식을 지정합니다. 사용자 지정을 선택해서 자체 형식을 지정합니다.

    초기 위치

    데이터가 업로드된 방법입니다. 이를 start_of_file로 설정하면 데이터 파일에 모든 것이 업로드됩니다. end_of_file로 설정하면 새로 추가된 데이터만 업로드됩니다.

    이러한 단계가 완료되면 설치 프로그램이 또 다른 로그 파일 구성에 대해 묻습니다. 각 로그 파일에서 원하는 횟수 만큼 프로세스를 실행할 수 있습니다. 더 이상 모니터링할 로그 파일이 없고 설치 프로그램에 또 다른 로그를 설정하라는 프롬프트 메시지가 나타나면 N을 선택합니다. 에이전트 구성 파일을 설정하는 방법에 대한 자세한 내용은 CloudWatch Logs 에이전트 참조 단원을 참조하십시오.

    참고

    단일 로그 스트림으로 데이터를 전송하기 위해 여러 개의 로그 소스를 구성하는 것이 불가능합니다.

  3. 에이전트가 몇 분 동안 실행된 이후에 CloudWatch 콘솔에 새로 생성된 로그 그룹 및 로그 스트림이 나타납니다.

    자세한 내용은 CloudWatch Logs에 전송된 로그 데이터 보기 단원을 참조하십시오.