프리티어 기간이 곧 만료될 거라는 이메일을 받고 새로운 계정을 만들어서 S3 버킷에 복제했다. 그러고 나서 .env 파일과 헤로쿠 세팅에서 AWS 키 값을 바꿔 주었다.
Amazon S3 > 버킷 > 내 버킷 > 권한
탭에서 public 설정과 CORS 설정도 전 버킷에서 설정했던과 동일하게 설정한 후, 새롭게 빌드하여 헤로쿠 서버에 빌드했다.
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"헤로쿠에서 배포한 홈페이지 URL",
"http://localhost:4000"
],
"ExposeHeaders": []
}
]
그러고 나서 잘 되는지 동영상을 업로드 해봤다.
그런데...
Bad Request이 뜨며 status 400이 떴다.
에러 코드를 찾아보니 원인은 바로 내 버킷이 ACL(접근 제어 목록)을 허용하지 않기 때문이라고 한다.
해결 방법은 의외로 간단한데 안전한지는 잘 모르겠지만 일단 이렇게 설정하면 업로드는 잘 된다.
(💬 AWS 설정 너무 어려웡)
Amazon S3 > 버킷 > 내 버킷 > 권한 > 객체 소유권
객체 소유권 섹션에서 편집을 클릭하여 ACL 활성화됨
을 선택하고, 객체 소유권은 버킷 소유자 선호
를 선택하여 변경 사항을 저장한다.
이렇게 했더니 내 버킷으로 파일이 잘 업로드 된다.
💬 ㅎㅎ 이제 헤로쿠 대체제도 알아봐야지 ㅠㅠ...
좋은 시절 다 지나갔구만 흑