[AWS] S3 이용하기 [01 / 02]

DevHwan·2022년 9월 4일
0
post-thumbnail

📌 들어가며


약 2개월의 기간동안 3D 리소스를 거래하는 플랫폼을 프로젝트로 진행하게 되었습니다. 많은 양의 이미지 파일과 리소스 파일을 업로드하고 다운로드를 실시간으로 진행 가능한 서비스가 필요했습니다. 따라서 AWS에서 지원하고 있는 S3를 이용하여 간단하게 처리하기로 했습니다.

📌 AWS S3에 대하여


AWS S3에 대한 정보를 AWS의 공식 사용서 자료를 가져왔습니다.

Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. 모든 규모와 업종의 고객은 Amazon S3를 사용하여 데이터 레이크, 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅 데이터 분석 등 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호할 수 있습니다. Amazon S3는 특정 비즈니스, 조직 및 규정 준수 요구 사항에 맞게 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공합니다.

다른 저장소 서비스도 존재하지만 AWS EC2를 사용하면서 동시에 사용하면 좋을 것 같아서 해당 서비스를 이용하기로 했습니다.

📌 AWS S3 시작하기


우선 가지고 있는 AWS 계정으로 접속하여 S3 서비스로 이동합니다.

AWS에서는 EC2와 마찬가지로 해당 서비스에 프리티어를 제공합니. 프리티어를 넘어가면 과금이 발생할 수 있으니 주의해서 이용해야 합니다.

해당 서비스는 인스턴스가 아니라 버킷이라는 이름으로 사용합니다.

바로 버킷 만들기를 통해서 저장소를 만들기 시작합니다.
버킷의 이름은 고유한 값으로 전역으로 사용됩니다. 내가 만드려는 서비스의 이름으로 이미 버킷이 사용중이라면 사용할 수 없습니다.. 따라서 구별가능한 버킷 이름을 설정해야 합니다.

객체의 소유권을 활성화해주고 버킷 소유자 선호 옵션을 선택한 후 진행합니다.

버킷의 퍼블릭 액세스를 차단하는 설정이 있는 데 본인의 서비스에 맞게 설정해주면 됩니다. 정적 웹 사이트 호스팅을 하는 경우에는 퍼블릭 액세스가 필요하기 때문에 퍼블릭 액세스 차단을 비 활성화하고 진행하면 됩니다.

이제 버킷을 사용하기 위해서 인증 확인 서비스를 이용해야 합니다. AWS IAM 서비스를 검색하여 이동합니다.

해당 서비스에서 사용자 탭으로 이동한 후 버킷을 관리하기 위한 새로운 사용자를 생성해줍니다.


사용사 이름을 설정해준 후 접근 자격 증명 유형을 액세스 키로 체크한 후 다음으로 진행합니다.

권한 설정 옵션에서 기존 정책 직접 연결을 선택한 후 이용할 서비스인 S3 모든 접근 정책을 선택한 후 진행합니다. 여기까지 마무리하면 사용자가 생성되는 데 파일을 따로 저장하여 보관하고 시크릿 키는 서비스에서 업로드 하는 데 이용되기 때문에 안전하게 보관합니다.

이제 사용자가 버킷을 사용할 수 있도록 버킷의 권한 설정을 해주어야 합니다. 이전에 만들었던 S3 서비스의 버킷으로 이동하여 권한 탭으로 이동합니다.

버킷 정책은 정책 생성기로 만들어서 이용합니다.

정책은 S3 버킷 정책을 클린 한 후 , 아래 Principal 칸에 전체 사용자를 의미하는 *를 입력합니다. 아래 액션에는 이제 객체를 넣는 액션인 PutObject 와 객체를 얻는 액션인 GetObject를 선택합니다. ARN은 내가 만든 버킷의 정보의 내용을 그대로 넣어주면 됩니다. 이렇게 정책을 만들게 되면 JSON 형태로 받게 되는 데 , 이를 정책 편집에 그대로 붙여넣기 한 후 저장해주면 완료됩니다.

📌 마무리


이제 서비스를 이용할 수 있는 설정 단계는 거의 완료되었습니다. 다음은 서버 계층에서 이미지 혹은 파일을 업로드하고 다운로드 받을 수 있는 방법에 대해 알아보도록 하겠습니다. 감사합니다.

profile
달리기 시작한 치타

0개의 댓글