IDE: IntelliJ
Spring Boot: 3.4.1
Java: 21
EC2 Linux: Ubuntu
서버를 EC2에 배포한 후에 사이트의 기능들이 제대로 작동하는지 테스트하는 과정에서 사진 업로드가 되지 않는 버그가 발생했다. 원인을 알아보기 위해 아래 명령어로 EC2에서 서버 로그를 확인해 보았다.
docker logs [컨테이너 ID]
com.amazonaws.services.s3.model.AmazonS3Exception: The AWS Access Key Id you provided does not exist in our records. (Service: Amazon S3; Status Code: 403; Error Code: InvalidAccessKeyId)
로그를 살펴보니 내가 사용한 AWS 액세스 키가 AWS 서버에 존재하지 않는다는 거였다.
서버를 배포하는 과정에서 IAM 사용자를 생성하고 삭제하기를 반복했다. 그러면서 액세스 키도 다시 생성했는데 바뀐 액세스 키를 수정하지 않았던게 문제의 원인이었다.
#S3
cloud.aws.s3.bucket=snackball-static-files
spring.cloud.aws.region.static=ap-northeast-2
spring.cloud.aws.credentials.access-key=[액세스 키]
spring.cloud.aws.credentials.secret-key=[비밀 액세스 키]
application.properties에 액세스 키를 수정하니 이미지가 업로드 되지 않던 문제가 해결되었다!