CloudWatch Logs를 S3 버킷으로 내보내지 못하는 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 5월 26일

Amazon CloudWatch 로그 데이터를 Amazon Simple Storage Service(Amazon S3) 버킷으로 내보내고 싶습니다. 하지만 내보내기 작업이 실패했습니다. CloudWatch Logs를 S3 버킷으로 내보내지 못하는 이유는 무엇입니까?

해결 방법

생성 중에 실패한 작업의 문제를 해결하려면 다음 설정을 확인하십시오.

  • 리전 – CloudWatch Logs 로그 스트림과 S3 버킷이 동일한 리전에 있는지 확인합니다.
  • S3 버킷 정책 – 기본적으로 모든 S3 버킷과 객체는 비공개입니다. 리소스 소유자(버킷을 생성한 AWS 계정)만 버킷과 그 버킷에 포함된 객체에 액세스할 수 있습니다. 버킷 정책을 사용하여 S3 버킷에서 CloudWatch Logs로 액세스하기 위한 권한을 설정하십시오.
  • S3 버킷 접두사 – S3 버킷 정책을 설정할 때 무작위로 생성된 문자열을 버킷의 접두사로 포함하는 것이 좋습니다. 접두사를 사용하는 경우, 내보내기 작업을 생성할 때 S3 버킷 접두사 설정에서 무작위로 생성된 문자열도 지정해야 합니다. 그렇지 않으면 내보내기 작업 생성이 실패합니다.
  • AWS Identity and Access Management(IAM) 정책 – 내보내기 작업을 생성한 IAM 사용자(IAM 역할)가 Amazon S3 및 CloudWatch Logs에 대한 완전한 액세스 권한이 있는지 확인합니다.
  • 리소스 할당량 – 각 리전에는 계정별로 실행되거나 보류 중인 내보내기 작업 수를 제한하는 CloudWatch Logs 서비스 할당량이 있습니다. 허용된 할당량 내에서 작업하고 있는지 확인합니다.
  • 서버 측 암호화 유형 – 지원되는 서버 측 암호화 유형을 사용하고 있는지 확인합니다. SSE-KMS로 암호화된 S3 버킷으로의 내보내기 작업은 지원되지 않습니다. AES-256으로 암호화된 S3 버킷으로의 내보내기 작업은 지원됩니다.

생성 후 실패한 작업의 문제를 해결하려면 [시간 범위] 설정을 확인하십시오. 대량의 데이터가 포함된 로그 스트림을 내보내고 시간 범위를 길게 지정하면 내보내기 작업이 실패할 수 있습니다. 이 경우, 시간 범위를 더 짧게 설정하십시오.

참고: 내보내기에 사용 가능한 로그를 준비하는 데 최대 12시간이 소요될 수 있으며, 내보내기 작업 자체도 다소 시간이 걸릴 수 있습니다. 실시간으로 처리하거나 새 데이터를 S3에 연속적으로 보관하려면 구독 필터를 사용하십시오. Amazon Kinesis Data Firehose로 스트리밍하고 Amazon S3를 대상으로 설정할 수 있습니다. 기록 데이터를 S3에 보관하려면 데이터를 Amazon S3로 내보내십시오.