Amazon S3 서버 액세스 로그가 전송되지 않는 이유는 무엇입니까?

최종 업데이트 날짜: 2019년 11월 19일

Amazon Simple Storage Service(Amazon S3) 서버 액세스 로깅을 활성화했습니다. 하지만 로그는 전송될 것으로 예상되는 버킷을 채우지 않습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

다음 사항을 확인하십시오.

  • Log Delivery 그룹(전송 계정)은 대상 버킷에 액세스할 수 있습니다.
  • 대상 버킷의 버킷 정책이 로그에 대한 액세스를 거부해서는 안 됩니다.
  • 대상 버킷에서 Amazon S3 객체 잠금을 활성화하면 안 됩니다.
  • 대상 버킷에서 기본 암호화가 활성화된 경우 암호화 키로 AES256(SSE-S3)을 선택해야 합니다.
  • 최근 로깅 구성 변경 사항이 적용될 때까지 잠시 기다립니다.

해결 방법

Log Delivery 그룹은 대상 버킷에 액세스할 수 있습니다.

서버 액세스 로그는 Log Delivery 그룹이라는 전송 계정을 통해 대상 버킷(로그가 전송되는 버킷)으로 전달됩니다. 서버 액세스 로그를 수신하려면 Log Delivery 그룹에 대상 버킷에 대한 쓰기 액세스 권한이 있어야 합니다. 대상 버킷의 ACL(액세스 제어 목록)을 확인하여 Log Delivery 그룹에 쓰기 액세스 권한이 있는지 확인합니다.

다음 단계에 따라 Amazon S3 콘솔을 사용하여 대상 버킷의 ACL을 확인하고 수정합니다.

  1. Amazon S3 콘솔을 엽니다.
  2. 버킷 목록에서 서버 액세스 로그가 전송될 대상 버킷을 선택합니다.
  3. [Permissions] 탭을 선택합니다.
  4. [Access Control List]를 선택합니다.
  5. [S3 log delivery group]에서 그룹에 [Write objects]에 대한 액세스 권한이 있는지 확인합니다. 그룹에 [Write objects]에 대한 액세스 권한이 없는 경우 다음 단계로 진행합니다.
  6. [ Log Delivery]를 선택합니다.
  7. [LogDelivery] 대화 상자의 [Access to the objects]에서 [Write objects]를 선택합니다.
  8. [Save]을 선택합니다.

대상 버킷의 버킷 정책이 로그에 대한 액세스를 거부해서는 안 됩니다.

대상 버킷의 버킷 정책을 확인합니다. 버킷 정책에서 "Effect": "Deny"가 포함된 문을 검색합니다. 그리고 거부 문이 액세스 로그가 버킷에 기록되는 것을 방지하는지 확인합니다.

서버 액세스 로그에 별도의 버킷을 사용하는 것이 모범 사례입니다. 기본적으로 S3 버킷은 프라이빗이므로 버킷에 대한 무단 액세스를 방지하기 위해 버킷 정책에서 거부문을 사용할 필요가 없습니다. AWS Identity and Access Management(IAM) 사용자 또는 역할이 버킷과 동일한 AWS 계정에 있고 IAM 자격 증명이 IAM 정책에서 버킷에 대한 권한을 가지고 있는 경우 사용자 또는 역할은 버킷에 액세스할 수 있습니다.

대상 버킷에서 Amazon S3 객체 잠금을 활성화하면 안 됩니다.

대상 버킷에 객체 잠금이 활성화되어 있는지 확인합니다. 객체 잠금을 사용하면 서버 액세스 로그가 전달되지 않으므로 로그를 전송할 버킷에서 객체 잠금을 비활성화해야 합니다.

대상 버킷에서 기본 암호화가 활성화된 경우 AES256(SSE-S3)을 선택해야 합니다.

대상 버킷에서 기본 암호화를 사용하는 경우 암호화 키로 AES-256(SSE-S3)이 선택되어 있는지 확인합니다. AWS-KMS(SSE-KMS)를 사용한 암호화는 지원되지 않습니다. Amazon S3 콘솔을 사용하여 기본 암호화를 구성하는 방법에 대한 지침은 Amazon S3 버킷에 대해 기본 암호화를 활성화하려면 어떻게 해야 합니까?를 참조하십시오.

최근 로깅 구성 변경 사항이 적용될 때까지 일정 시간 허용

서버 액세스 로깅을 처음 활성화하거나 로그의 대상 버킷을 변경하는 경우 완전히 구현되는 데 시간이 걸릴 수 있습니다. 로깅을 활성화한 후 한 시간 동안 일부 요청이 로깅되지 않을 수 있습니다. 대상 버킷을 변경한 후 한 시간 동안 일부 로그는 이전 대상 버킷으로 계속 전송될 수 있습니다. 로깅에 대한 구성을 변경한 후 로그를 확인하기 위해 변경 후 1시간 정도 기다려야 합니다. 자세한 내용은 Best Effort Server Log Delivery 단원을 참조하십시오.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?