[Spring MVC] 이미지 업로드시 S3 Bucket 에 업로드하기 (1) - AWS 계정 설정, 버킷 생성, 권한 설정

Back-end/Spring

[Spring MVC] 이미지 업로드시 S3 Bucket 에 업로드하기 (1) - AWS 계정 설정, 버킷 생성, 권한 설정

조커린 2021. 6. 27. 14:58

이미지 업로드 할 때마다 로컬 서버의 메타 데이터에 저장되서 약간 싫었다... 여러 조원들이 함께 개발하는데 함께 이미지정도도 공유를 못한다는 게 살짝 개발효율이 떨어지기도 한다는 생각도 들고...

AWS S3 Bucket이 비싸지도 않고 편리했던 기억이 났다...

노드에서는 쉬웠는데... 한 번 해볼까?

 

그래서 자료조사를 해봤는데 부트 예제는 많았는데 소수의 한국어 예제 사이에서 스프링 MVC예제는 별로 없었다.. 근데 왠지 될 것 같았다 (?!)아..나의 쓸데없는 무한 긍정;;

지금 사용하는 레거시 스프링 서버에서는 잘 될지는 모르겠지만 한 번 도전해볼법 하다고 생각했다. 딱 하루만 도전해보자...난....카리스마있는...신녀성이니까....!(그리고 카리스마는 없었고 코드만 남았다.)

 

 

1. AWS에 가입후 유저 권한부여, 보안키 발급. 

루트유저, IAM유저로 키를 발급받는 두 가지 방법이 있는데, 나 같은 경우엔 IAM 유저 키를 발급받음

일단 AWS에 가입하고.. console접속~

여기 들어감

Access Management > Users > addUser 

Access type은 programmatic access

create group으로 group 추가를 해줌

그룹이 생겼으면

체크하고 다음단계~

쭉쭉 넘기면 마지막에 보안키를 csv형태로 다운로드 받을 수 있고, access Key, secretKey가 있습니다.. 

잘 보관해두시고 유출 안되게 조심해주시고

 

2. s3 Bucket 생성 및 설정

s3서비스에 접속 해주세요

그리고 버킷 생성(create Bucket) ,

Region은 ap-northeast-2/ Access는 모두가 접근 가능하게 Public으로

 

 

그런데 이름 뭐지요 asdf는 있을 거라 예상했는데 asdfas까진 후우...

사람들 생각하는 거... 다 똑같아

정말 레어템 누가 자꾸 가져가....

 

 

어이없어서 올려봅니다..

 

 

 3. bucket의 pernission policy 설정

 

permissions탭에 들어가세요

그리고 bucket policy를 설정합니다.

edit누름

 

 

 

arn 복사 해놓으세요

그리고 policy generator를 이용할 거에요

옵션에 put object, get object를 선택하시고, arn은 "<여러분의 arn>/*"

 

이케 설정하고 저장 ㄱㄱ갑니다

 

이제 이걸 사용할 준비가 되셨습니다 

노드에서도 스프링에서도 사용할 수 있어요