[Spring boot] AWS S3 를 이용한 파일 업로드

5tr1ker·2024년 6월 12일
0

Spring

목록 보기
12/16

개인 프로젝트를 하며 이미지 서버로 사용하기 위해 AWS S3 버킷을 만들고 Spring 을 연동하는 방법을 정리해보았다.

개요

AWS S3 란?
S3는 Simple Storage Service 의 약자로 주로 파일 서버로 사용된다.

확장성(Scalability)

파일 서버는 트래픽이 증가함에 따라 서버 인프라 및 용량 계획을 변경해야 되는데, S3가 확장 및 성능 부분을 대신 처리해준다.

내구성(Durability)

여러 영역에 여러 데이터 복사본을 저장하므로 한 영역이 다운되더라도 데이터를 사용할 수 있고, 복구가 가능하다.

S3 무료 사용하기

Amazon S3는 계정 가입일을 기준을 12개월 동안 사용이 가능하며, 제한 범위는 다음과 같다.

S3 관련 용어 정리

객체(object)

파일과 파일정보로 구성된 저장단위로 그냥 파일이라 생각하면 된다.

버킷(Bucket)

다수의 객체를 관리하는 컨테이너로 파일시스템이라 보면된다.

AWS S3 생성하기

버킷 생성

1. AWS Console > S3 > 버킷 > 버킷 만들기 클릭

2. 버킷 이름을 입력하고 엑세스 차단 설정을 해제한다.

(애플리케이션은 파일 조작 권한을 갖게하고, 권한 변경 필요 시에는 애플리케이션에 요청을 보내는 클라이언트의 파일 조작 권한은 스프링 시큐리티 권한 설정으로 하면 될 거 같다.)

2) 사용자 생성

1. AWS console > IAM > 엑세스 관리 > 사용자 > 사용자 추가 클릭

S3에 접근하기 위해서는 IAM 사용자에게 S3 접근 권한을 주고, 엑세스 키를 만들어 액세스 키, 비밀 엑세스 키를 접근해야 한다.

2. 사용자 이름을 입력하고 다음을 클릭한다.

3. 직접 정책 연결을 클릭하고, AmozonS3FullAccess 를 선택하고 다음을 클릭한다.

4. 사용자 생성을 클릭하면 사용자가 생성된다.

엑세스 키 생성

외부에서 접속할 수 있도록 사용자의 엑세스 키를 만들어 주어야 한다.

  1. AWS Console > IAM > 엑세스 관리자 > 사용자 > 생성한 사용자 이름 클릭 > 보안 자격 증명 > 엑세스 키 만들기 클릭

  1. 아무거나 클릭하고 다음을 클릭한다.

(클릭 하면 엑세스 키 사용사례와 대안을 하단에 띄워주는 기능만 하기때문에 뭘 골라도 상관없다.)

  1. 태그를 입력하고 엑세스 키 만들기를 클릭한다.

  1. 엑세스 키 생성 완료 화면에서 생성된 공개키와 비밀키를 확인할 수 있다.

(생성 완료 화면이 아니면 비밀 엑세스 키를 볼 수 없기 때문에 .csv 파일로 받아두는 것이 좋다)

참고

참고 블로그 1 : https://gaeggu.tistory.com/33

profile
https://github.com/5tr1ker

0개의 댓글