개인 프로젝트를 하며 이미지 서버로 사용하기 위해 AWS S3 버킷을 만들고 Spring 을 연동하는 방법을 정리해보았다.
AWS S3 란?
S3는 Simple Storage Service 의 약자로 주로 파일 서버로 사용된다.
파일 서버는 트래픽이 증가함에 따라 서버 인프라 및 용량 계획을 변경해야 되는데, S3가 확장 및 성능 부분을 대신 처리해준다.
여러 영역에 여러 데이터 복사본을 저장하므로 한 영역이 다운되더라도 데이터를 사용할 수 있고, 복구가 가능하다.
Amazon S3는 계정 가입일을 기준을 12개월 동안 사용이 가능하며, 제한 범위는 다음과 같다.
파일과 파일정보로 구성된 저장단위로 그냥 파일이라 생각하면 된다.
다수의 객체를 관리하는 컨테이너로 파일시스템이라 보면된다.
(애플리케이션은 파일 조작 권한을 갖게하고, 권한 변경 필요 시에는 애플리케이션에 요청을 보내는 클라이언트의 파일 조작 권한은 스프링 시큐리티 권한 설정으로 하면 될 거 같다.)
S3에 접근하기 위해서는 IAM 사용자에게 S3 접근 권한을 주고, 엑세스 키를 만들어 액세스 키, 비밀 엑세스 키를 접근해야 한다.
외부에서 접속할 수 있도록 사용자의 엑세스 키를 만들어 주어야 한다.
(클릭 하면 엑세스 키 사용사례와 대안을 하단에 띄워주는 기능만 하기때문에 뭘 골라도 상관없다.)
(생성 완료 화면이 아니면 비밀 엑세스 키를 볼 수 없기 때문에 .csv 파일로 받아두는 것이 좋다)
참고 블로그 1 : https://gaeggu.tistory.com/33