먼저, S3(Simple Storage Service)
라는 것은 순수하게 파일들을 저장하고 접근 권한을 관리, 검색 등을 지원하는 파일 서버의 역할을 합니다.
이미지 파일을 비롯한 정적파일들을 관리하거나 자바 웹 애플리케이션의 JAR나 WAR같은 배포 파일들을 관리하는 등의 기능을 지원합니다.
이번 프로젝트에서 PDF 파일들을 업로드하게 되면 S3의 버킷 안에 저장되도록 구현하였으며, 저장된 파일을 갖고 파싱을 하여 사용하였습니다.
그러면 먼저 S3 버킷을 생성해 보겠습니다.
AWS 서비스에서 S3를 검색하여 이동합니다.
[버킷 만들기]를 클릭합니다.
본인이 원하는 버킷명을 작성합니다.
기본적으로 퍼블릭 액세스 차단이 되어있는데, 이것을 해제합니다.
버킷이 생성되면 버킷 목록에서 확인할 수 있습니다.
이제 이 만들어진 버킷에 버킷 정책을 설정합니다.
방금 만든 버킷을 클릭하여 들어가 [권한 -> 버킷 정책 -> 편집]을 클릭합니다.
버킷 ARN
을 복사 해두고 정책 생성기를 클릭합니다.
정책 생성기에 들어가 아래와 같이 설정한 후에, Add Statement를 클릭합니다.
Actions
에는 DeleteObject
, GetObject
, PutObject
를 체크합니다.
Add Statement를 클릭하게 되면 위에 추가한 정보들이 보이게 되며, 아래 Generate Policy를 클릭하여, 나온 정책을 복사합니다.
버킷 정책 편집에서 복사한 정책을 붙여넣기 하며, Resource 끝에 /*
을 추가합니다.
AWS S3에 접근하는 것을 허용하기 위해 IAM(Identity and Access Management)
을 생성해야 합니다.
IAM은 AWS에서 제공하는 서비스의 접근 방식과 권한을 관리합니다.
AWS에서 IAM을 검색하여 이동합니다.
IAM 왼쪽 사이드바에서 [사용자 -> 사용자 추가]를 차례로 클릭합니다.
사용자 이름을 입력합니다.
직접 정책 연결을 클릭하고, AmozonS3FullAccess
를 선택하고 다음을 클릭합니다.
사용자 생성을 클릭하면 사용자가 생성됩니다.
이제, 외부에서 접속할 수 있도록 사용자의 엑세스 키(Access key)를 만들어 줄 필요가 있습니다.
생성한 사용자 이름을 클릭하며, [보안 자격 증명] -> [액세스 키 만들기]를 클릭합니다.
아무거나 클릭하고 다음을 클릭합니다.
태그를 입력하고 [액세스 키 만들기]를 클릭합니다.
이제 생성된 공개키와 비밀키를 확인할 수 있을 것입니다.
(생성 완료 화면이 아니면 비밀 엑세스 키를 볼 수 없기 때문에 .csv
파일로 받아두는 것이 좋습니다.)
이상으로 AWS S3 버킷을 생성 후, 정책 설정, IAM까지 설정을 해봤습니다.