지난 AWS의 EC2를 이용해 스프링 프로젝트를 빌드하고, 배포해보는 작업을 수행했습니다.
이번 포스팅에서는 기존 로컬 폴더에 파일 업로드 하던 방식에서 AWS의 S3를 이용해 서버에 파일을 업로드하는 부분을 구현하기 이전에 기초 개념에 대해 살펴보고 다음 포스팅에 이어 구현해보도록 하겠습니다.
AWS S3 ?
S3는 Simple Storage Service의 약자로 주로 파일 서버로 사용되고, AWS가 제공하는 객체 스토리지 서비스 데이터를 저장, 검색, 삭제할 수 있습니다. 한마디로 구글 드라이브 같은 저장소 입니다.
S3는 물리적인 저장소의 한계를 논리적인 방식으로 극복하여 S3에서는 자동적으로 복제본을 생성해 손상이 되더라도 복제본이 남아있습니다.
S3 관련 용어
(1) 버킷 (Buckets)
- 저장된 객체를 담는 바구니라고 생각합시다. (컨테이너)
- 버킷주소 = https://버킷이름.리전이름.amazonaws.com/
- 리전을 지정하여 버킷을 생성해야 하고, 한 번 설정된 버킷의 이름은 다른 계정에서 사용할 수 없습니다.
(2) 객체 (Objects)
- Amazon S3에 저장되는 데이터로 객체데이터와 메타데이터(데이터의 데이터)를 구성하고 있는 구성 단위입니다.
- 객체는 키(이름) 및 버전 ID를 통해 버킷내에서 고유하게 식별됩니다.
(3) 키 (Keys)
- 키는 버킷 내 객체의 고유한 식별자입니다.
- 버킷 내 모든 객체는 하나의 키를 갖습니다.
- 예시 )
- 버킷주소 : https://버킷이름.리전이름.amazonaws.com/2023-08-17/zerozad.pdf
- 키 (key) : 2023-08-17/zerozae
(4) 리전 (Regions)
- Amazon S3에서 사용자가 만드는 버킷을 저장할 지리적 AWS 리전을 선택할 수 있다.
Storage Class
(1) Standard
- 기본 스토리지 클래스입니다.
- 객체를 업로드 할 때 스토리지 클래스를 지정하지 않으면 Standard 스토리지 클래스를 할당합니다.
- 트래픽 요금이 낮고 파일 보관요금이 높습니다.
(2) intelligent tiering
- 액세스 빈도가 불규칙 할 때 사용하는 스토리지 클래스입니다.
(3) Standard - IA (Infrequent Access)
- 사용도가 낮은 경우에 사용합니다.
- 자주 액세스 하지는 않지만 즉시 데이터를 액세스 할 수 있어야 합니다.
- 지리적으로 분리된 여러개의 AZ(가용 영역)에 중복되게 저장하여 손실에 대한 복원력이 있습니다.
- 기본 데이터나 다시 생성할 수 없는 데이터를 저장하는데 사용합니다.
(4) One Zone - IA (Infrequent Access)
- Standard - IA 와 같지만 Standard - IA 는 여러개의 AZ(가용영역)에 저장되지만, One Zone - IA의 경우 하나의 AZ에 저장되므로 손실에 대한 복원력이 없습니다.
- 다시 생성할 수 있는 데이터를 저장하는데 사용합니다.
(5) Glacier (글래시어)
- 빙하라는 뜻으로, 장기적으로 백업 데이터를 보관하기 위해 사용합니다.
- 저렴하지만 데이터를 반환하는데 시간이 오래 걸립니다.
- 트래픽 요금이 높고 , 파일 보관 요금이 낮습니다.
(6) Glacier Deep Archive
- 자주 액세스 하지 않고 10년 이상 장기적으로 데이터를 저장할 스토리지 클래스입니다.
< 참고 >
Amazon S3 란?
# Amazon S3 란? Amazon Simple Storage Service(S가 3개라서 S3), AWS에서 제공하는 객체 스토리지 서비스데이터를 저장하고 검색하고 삭제할 수 있다. 한마디로 구글 드라이브같은 저장소 이다. 물리적인 저
daaa0555.tistory.com