오늘도 한 뼘 더

[AWS] CloudWatch 로그 그룹 S3에 내보내기 본문

DevOps & Infra/AWS

[AWS] CloudWatch 로그 그룹 S3에 내보내기

나른한댕댕이🐶 2022. 8. 18. 18:46
728x90
반응형

AWS Elastic Beanstalk(이하 EB)의 로그는 EB 콘솔에 접근하여 볼 수 있지만 마지막 100줄과 전체만 볼 수 있다는 불편함이 있다. 

S3의 Select 기능을 사용하여 로그를 좀 더 편하게 보기 위해서 EB에 쌓이는 로그를 S3에 쌓도록 한다. 

 

CloudWatch의 로그 그룹을 S3로 내보내기

 

S3로 데이터 내보내기

 

S3 버킷 정책 추가

다음 내용을 참고하여 진행하였다.

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/S3ExportTasksConsole.html

 

콘솔을 사용하여 Amazon S3로 로그 데이터 내보내기 - Amazon CloudWatch Logs

기존 버킷에 이미 하나 이상의 정책이 연결된 경우 CloudWatch Logs 액세스용 명령문을 해당 정책이나 정책들에 추가합니다. 발생한 권한 집합이 버킷에 액세스하는 사용자에게 적절한지를 여부를

docs.aws.amazon.com

 

정책 예시

{
    "Version": "2012-10-17",
    "Statement": [
      {
          "Action": "s3:GetBucketAcl",
          "Effect": "Allow",
          "Resource": "arn:aws:s3:::{Bucket 이름}",
          "Principal": { "Service": "logs.{region}.amazonaws.com" }
      },
      {
          "Action": "s3:PutObject" ,
          "Effect": "Allow",
          "Resource": "arn:aws:s3:::{Bucket 이름}/{random-string(접두사)}*",
          "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } },
          "Principal": { "Service": "logs.{region}.amazonaws.com" }
      }
    ]
}

 

CloudWatch에서 내보내기

S3에서 정책을 업데이트하고 난 후 내보내기를 진행하면 다음과 같이 내보내기 테스크 생성이 잘 되었다고 뜬다. 

 

 

내보내기 테스크 보기를 클릭하여 보면 다음과 같이 로그 그룹과 이동된 S3 버킷 이름을 볼 수 있다. 

Status에 Completed successfully가 뜬 걸 확인할 수 있다. 

 

 

S3 버킷에서 확인하면 다음과 같이 지정한 문자열의 폴더가 생성된 것을 확인할 수 있다.

 

728x90
반응형
Comments