AWS

[AWS] SQS/S3 Event - Unable to validate the following destination configurations

비번변경 2023. 9. 7. 01:11

현상

AWS S3 Event를 사용해 S3 버킷에 객체가 생성되면 SQS로 이벤트 알림을 보내도록 연동하고 있다. 그런데 새 S3 이벤트를 설정하려고 했더니 아래와 같은 오류 메시지가 발생하면서 이벤트 설정이 완료되지 않았다.

설정값을 잘못 지정했나 싶었으나 기존에 잘 동작하고 있는 S3 Event도 편집이 되지 않는 이상한 상태였다.

 

 

원인

에러 메시지로 구글링을 해보면 대개 S3와 SQS의 액세스 정책이 원인으로 보인다. 하지만 이 글의 경우, 새로 정책을 설정하는 사례가 아녔기 때문에 권한 및 정책 문제는 없었다.

알아보니 S3 버킷에 등록된 S3 이벤트 중 전달 대상으로 설정된 SQS가 실제로는 존재하지 않으면, 해당 S3 버킷에 등록된 모든 S3 이벤트를 수정할 수 없고 새로 S3 이벤트를 생성할 수도 없다고 한다. 과거에 더 이상 사용하지 않는 SQS를 삭제하면서 S3 이벤트는 같이 삭제하지 않았던 게 원인이었다.

 

 

해결

연결된 SQS가 없는 S3 이벤트를 삭제하면 된다. S3 이벤트 목록에서는 이벤트 알림을 전달하는 대상의 존재 여부가 확인되지 않는다. 따라서 SQS 목록을 확인하거나, 대상의 하이퍼링크를 클릭해 전달 대상의 존재 여부를 직접 확인해야 한다.

전달하도록 설정한 SQS가 없는 이벤트를 삭제하면 해당 버킷에서 S3 이벤트를 생성하거나 수정할 수 있게 된다.