CloudFront 로그 설정 중 “The S3 bucket that you specified for CloudFront logs does not enable ACL access:” 에러 해결

CloudFront 로그 설정 중에 나타나는 “The S3 bucket that you specified for CloudFront logs does not enable ACL access:” 라는 에러를 해결 하는 방법에 대해서 정리해 봤습니다.
2022.02.01

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 CloudFront 로그 설정 중에 나타나는 “The S3 bucket that you specified for CloudFront logs does not enable ACL access:” 라는 에러를 해결 하는 방법에 대해서 정리해 봤습니다.

CloudFront에서 로그 설정 방법은?

CloudFront 생성시, 표준 로깅 탭에서「켜기」를 선택하고 로그를 담을 S3 버킷을 지정해주면 됩니다.

이 상태에서 배포 생성을 누르면

“The S3 bucket that you specified for CloudFront logs does not enable ACL access:” 라는 에러 메시지가 나옵니다.

해결 방법은?

여기서 AWS 공식 문서를 살펴보면,

버킷 소유자로 설정된 S3 객체 소유권이 적용된 Amazon S3 버킷을 선택하지 마십시오. 이 설정은 버킷과 그 안의 객체에 대한 ACL을 비활성화하여 CloudFront에서 버킷으로 로그 파일을 전송하지 못하도록 합니다.

라고 쓰여진 것을 확인할 수 있습니다.

S3를 생성할 때 디폴트로「ACL 비활성화됨(권장)」으로 선택되어 있기 때문에 그대로 생성하는 경우가 많습니다. 이 때「ACL 활성화됨」을 선택해주시면 됩니다.

이미 생성 된 S3 버킷을 사용할 경우 권한 탭을 클릭합니다.

그리고 아래로 내려와서「객체 소유권」에서 편집을 클릭합니다.

「ACL 활성화됨」을 선택하고「ACL이 복원된다는 것을 확인합니다.」에 체크하고 저장합니다.

다시 CloudFront에서 로그를 설정하고 접속해 보면, S3 버킷에 로그가 저장되는 것을 확인할 수 있습니다.

참고