S3 버킷으로 내보내지 못하는 CloudWatch 로그의 문제를 해결하려면 어떻게 해야 하나요?

3분 분량
0

Amazon Simple Storage Service(Amazon S3) 버킷으로 내보내지 못하는 Amazon CloudWatch 로그 문제를 해결하고 싶습니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

내보내기 작업을 생성한 시점 또는 그 이후에 실패하는지 여부에 따라 Amazon S3 버킷으로 내보내지 못한 로그 문제를 해결합니다.

내보내기 작업 생성 중

작업을 생성할 때 실패하는 문제를 해결하려면 다음 작업을 수행하세요.

  • AWS 리전: CloudWatch 로그 스트림과 Amazon S3 버킷이 동일한 리전에 있는지 확인하세요.
  • Amazon S3 버킷 정책: 기본적으로 Amazon S3 버킷과 객체는 비공개입니다. 리소스 소유자는 버킷과 버킷의 객체에만 액세스할 수 있습니다. 자세한 내용은 3단계: S3 버킷에 권한 설정을 참조하세요.
  • Amazon S3 버킷 접두사: Amazon S3 버킷 정책을 설정할 때는 무작위로 생성된 문자열을 버킷의 접두사로 포함하는 것이 가장 좋습니다. 접두사를 사용하는 경우 내보내기 작업을 생성할 때 Amazon S3 버킷 접두사 설정에서 생성된 문자열을 지정해야 합니다. 생성된 문자열을 지정하지 않으면 내보내기 작업 생성이 실패합니다.
  • AWS Identity and Access Management(IAM) 정책: 내보내기 작업을 생성한 AWS Identity and Access Management(IAM) 사용자 또는 역할이 Amazon S3 및 CloudWatch 로그에 액세스할 수 있는지 확인합니다. 자세한 내용은 2단계: 액세스 권한 설정을 참조하세요.
  • CloudTrail 로그 확인: AWS CloudTrail에서 CreateExportTask 이벤트를 검색하여 오류 메시지를 식별하세요. CreateExportTask는 비동기 작업입니다. 필요한 정보를 모두 제공하면 내보내기 작업이 시작되고 작업 ID가 반환됩니다. 작업이 시작되면 DescribeExportTasks를 사용하여 상태를 확인합니다. 자세한 내용은 오류를 참고하세요.
  • 리소스 할당량: CloudWatch Logs 서비스 할당량은 리전별 AWS 계정당 실행 중이거나 보류 중인 내보내기 작업을 하나만 허용합니다. 이 할당량은 변경할 수 없습니다. 허용된 할당량 이내인지 확인하세요.
  • 서버 측 암호화 유형: Amazon S3 버킷에 지원되는 서버 측 암호화를 사용해야 합니다. 지원되는 암호화에는 Advanced Encryption Standard(AES)-256과 AWS Key Management Service(AWS KMS) 키가 있는 서버 측 암호화가 포함됩니다. 지원되는 이러한 암호화를 SSE-KMS라고 합니다.

내보내기 작업 생성 후

작업을 생성한 후 실패하는 문제를 해결하려면 시간 범위 설정을 확인하세요. 데이터 양이 많은 로그 스트림을 내보내고 시간 범위를 길게 지정하는 경우 내보내기 작업이 실패할 수 있습니다. 이 문제를 해결하려면 데이터 양이 적은 로그 스트림을 내보내도록 더 짧은 시간 범위를 구성하세요.

시간 범위 설정 상태를 확인하려면 다음 AWS CLI describe-export-tasks 명령을 실행하세요.

aws logs describe-export-tasks --task-id example-task-id

참고: example-task-id 대신 작업 ID를 입력합니다.

Amazon S3으로 데이터를 내보내려면 다음 AWS CLI create-export-task 명령을 실행합니다.

aws logs create-export-task --task-name "example-task-name" --log-group-name "/aws/lambda/example-log-group-name" --destination "example-bucket-name --from 1710378735 --to 1710465135

참고: example-task-name 대신 작업 이름을 입력합니다. example-log-group-name 대신 로그 그룹 이름을 입력합니다. example-bucket-name 대신 대상 버킷을 입력합니다.

내보내기 작업의 상태를 확인하려면 다음 AWS CLI describe-export-tasks 명령을 실행하세요.

aws logs describe-export-tasks --task-id example-task-id

참고: example-task-id 대신 작업 ID를 입력합니다.

로그를 내보내는 것이 가능하려면 최대 12시간이 걸릴 수 있습니다. 내보내기 작업을 처리하는 데 최대 몇 시간이 걸릴 수도 있습니다. 이 프로세스는 내보내는 데이터의 크기에 따라 달라집니다. 로그 그룹 수준 구독 필터를 사용하여 실시간으로 처리하거나 새 데이터를 Amazon S3에 지속적으로 보관하는 것이 가장 좋습니다. 자세한 내용은 구독을 통한 로그 데이터의 실시간 처리를 참조하세요.

관련 정보

Amazon S3로 로그 데이터를 내보내도록 Amazon CloudWatch를 구성했지만 로그 데이터가 누락되었거나 유효하지 않습니다. 이 문제를 해결하려면 어떻게 해야 하나요?

CloudWatch 로그에서 로그 데이터를 검색하려면 어떻게 해야 하나요?

Amazon S3로 로그 데이터 내보내기

AWS 공식
AWS 공식업데이트됨 10달 전