aws s3 를 이용해서 이미지 저장하는 기능을 구현하는 중 아래 에러가 발생해서 이미 저장이 되지 않는 문제가 발생함.
The AWS Access Key Id you provided does not exist in our records
해결 과정
이미지 저장을 어떻게 해야하나 구글링 해보니application.yaml 파일에 access-key 와 secret-key 를 저장하길래 JWT의 시크릿키값처럼 임의로 지정할 수 있는 값이라고 생각했는데 에러 메시지를 보고 든 생각은 AWS에서 키를 발급해줘야하는 건가? 라고 생각했다. 찾아보니 AWS에서 액세스키를 생성을 먼저 해줘야하는 걸 알게 됐다.
AWS의 액세스키는 CLI를 사용하거나 AWS 의 API를 호출할 때 자격증명용으로 사용된다고 한다.
AWS 액세스 키 발급 순서
AWS에서 IAM 검색
사용자 추가를 해준다.
set permissions 에서 정책을 연결해서 쓸 수 있는데 S3 목적으로 쓴다면 amazons3full 을 검색해서 추가한다.
해결
AWS IAM 사용자 추가
회고
AWS는 매우 방대한 거 같다. 정말 거대한 서비스! EC2로 가상 서버 구축해보고 RDS 정도만 써봤는데 오늘 S3로 써보고 S3를 제대로 쓰기 위해서 IAM 이란 것도 알게 됐다. AWS랑 더 친해진 거 같아서 좋다.
해당 문제에 대해 구글링하다보니 액세스키에 특수문자가 들어가면 에러가 발생하고 그 에러의 해결 방법은 액세스키에 특수문자가 없을 때까지 반복 생성하는 거라고 한다. 나에게는 해당 이슈가 발생하지 않아서 현재도 그런지는 모르겠지만 왜 그런 문제를 fix 하지 않는지, 해결됐다면 어떤 문제 때문에 해결하는 것까지 시간이 걸렸는지 좀 궁금해졌다.