zappa
프레임워크를 사용해, Django 프로젝트를 AWS에 배포해 운영하고 있는 상황이다.
정적파일, 미디어 파일은 S3를 저장소로 활용 중이었는데 파일 업로드 기능을 추가하면서 문제가 생겼다.
파일 업로드를 시도하면 아래의 오류가 Response로 날아온다.
{"message": "Endpoint request timed out"}
최소 권한의 원칙에 따라 S3 권한을 줘보다가, AmazonS3FullAccess
를 주었는데도 동일한 문제가 발생했다.
-> 권한 문제는 아닌것 같다.
솔직히 VPC는 봐도 잘 모르겠어서 넘어갔다.
(게다가 VPC가 기본 VPC 하나여서, 문제될 부분이 없다고 생각했다.)
SG는 AllowAll
상태
-> 얘도 아닌 것 같다.
어디선가 VPC Endpoint를 Gateway
타입으로 만들어보라는 글을 보았고, 적용해보았다.
AWS 문서를 참고해 서울 리전 S3를 위한 VPC 엔드포인트를 Gateway
타입으로 추가했다.
(interface
타입으로는 존재하고 있는 상황: 다음에 이 둘의 차이에 대해 정리해보아야 겠다.)
Endpoint를 추가하면서 Lambda에서 사용하고 있는 라우팅 테이블을 지정해주었고,
그래서인지 라우팅 테이블에 생성한 Endpoint가 추가되어있었다.
깔끔하게 해결