오늘도 AWS 주요 서비스에 대해 정리하는 시간을 가져본다.
Amazon S3는 Simple Storage Service를 말하며 앞글자 S만 따와서 간편하게 S3라고 부른다.
AWS에서는 S3를 어디서나 원하는 양의 데이터를 검색할 수 있도록 구축된 객체 스토리지라고 소개하고 있다.
언제 어디서든 데이터에 액세스 할 수 있고, 별도의 프로그램 없이 웹을 통해 접근할 수 있다.
기존 스토리지 서비스의 경우 별도의 프로그램을 통해 접근해야 했는데 http 접속만 가능한 환경이라면 어디서든 활용할 수 있다는 점이 큰 장점이다.
Amazon S3를 사용하기 위해 알아둬야 하는 기본적인 개념 및 특징에 대해 아래와 같이 정리했다.
Amazon S3 서비스의 개념 및 특징
개념 및 특징 | 설명 |
객체 (Object) | S3에 데이터가 저장되는 최소 단위. 객체를 하나의 파일이라고 생각하면 쉽다. |
버킷 (Bucket) | S3에서 생성할 수 있는 최상위 폴더 Bucket은 Object들을 그룹핑한 최상위 디렉토리고, Bucket 단위로 Region을 지정할 수 있고 Bucket를 단위로 인증 및 접속 제한을 걸 수 있다. |
버전관리 | 저장된 객체들의 변화를 저장하고 관리하여, 데이터가 삭제나 변경 되더라도 버전 관리 기능을 통해 복구할 수 있다. |
객체 수명 주기 관리 | 저장된 객체의 수명 주기를 관리하고 저장된 데이터의 접근 빈도 등에 따라 Storage를 다르게 하여 비용을 절감할 수 있다. (하단 Glacier와 객체 스토리지 계층 참고) |
접근 방식 | http 접속이 가능하며, REST, SOAP 인터페이스를 제공한다. 더불어 저장된 내용에 대해 인증을 통해 접근 제한을 걸 수 있다. |
아까 위에서 AWS에서 소개한 S3는 어디서나 원하는 양의 데이터를 검색할 수 있도록 구축된 객체 스토리지라고 소개했는데, 이 부분에서 S3의 특징이 나타난다.
- 객체에 대해 빠르고 내구성과 가용성이 높은 'Key' 기반 액세스 방식으로 구성되어 있고
- 이를 통해 데이터를 저장 및 검색이 가능하도록 구축된 객체 스토리지이다.
S3가 데이터를 저장하는 스토리지라고 얘기해서 파일 시스템이라고 생각할 수 있는데
파일 시스템이 아니라 객체 스토리지다.
객체 스토리지란?
클라이언트가 S3에서 제공하는 API를 통해 GET 요청 (특정 데이터를 조회/검색하기 위한 요청)을 보내면 Amazon S3 Bucket에서 요청한 객체를 반환하는 형태
Amazon S3 Storage Option
S3의 Storage는 두 가지 형태로 나눠지는데 기본적으로 표준 스토리지를 사용하겠지만 비용이 비싸기 때문에 저장하는 데이터 유형에 따라 RSS에 저장하는 것이 적합할 수 있다.
표준 스토리지 (Standard Storage) | 낮은 중복 스토리지 (RRS : Reduced Redundancy Storage) |
|
내구성 | 99.99999999999%의 높은 내구성 | 99.9%의 내구성 (높은 내구성이긴하나 표준 스토리지에 비해 낮음) |
비용 | 높은 비용 높은 내구성을 유지하기 위해 비용 발생 |
비용 절감 (20%) 데이터를 복제한 사본의 수를 줄여서 |
용도 | 중요한 데이터 저장 시 권장 유실되면 안되는 중요한 원본 등 |
원본이 아닌 데이터 동영상 이미지, 썸네일 등 원본을 통해 다시 만들 수 있거나 복원이 가능한 데이터를 저장하는데 적합함 |
Amazon S3 사용 예시
S3를 어떤 경우에 사용할 수 있을까?
보관하고자 하는 데이터가 있을 때, 이를 관리하고 검색할 수 있는 구조로 만들어야 할 때가 보편적인 사용 예시가 되겠다.
- 중요한 데이터의 백업/복원 용도, 저장 공간으로 사용할 때
- Cloud Native Application 구축 및 실행, 호스팅 용도. 웹 사이트 호스팅에도 사용할 수 있다.
- 미디어 호스팅 (요즘 제일 많이 사용하지 않을까 싶은 용도)
- 소프트웨어 전송
Amazon S3 Glacier
드디어 좀 아는 개념이 나왔다 ^_ㅠ
데이터 보관에 있어서 얼마나 자주 쓰는지에 따라 콘텐츠 수명 주기에 따른 보관 방법을 다르게 할 수 있는데 자주 쓰는 데이터일 수록데이터일수록 Hot 한 데이터라고 하고 자주 쓰지 않는 데이터일수록 반대의 개념을 차용하여 Cold 데이터라고 한다.
이런 측면에서 S3에서도 자주 쓰지 않지만 보관이 필요한 데이터를 보관할 수 있는 Storage를 제공한다.
Glacier는 매우 저렴하게 데이터를 보관할 수 있고 장기적으로 백업할 수 있는 Storage 이다.
S3 Glacier란 이름에서도 의미하듯이 '빙하'를 뜻한다.
이곳에 보관하는 데이터는 S3에 보관되었다가 특정 주기 (사용자가 설정하는)에 따라 Glacier로 옮겨지게 된다. 다만 한 번 S3에서 Glacier로 옮겨진 데이터를 다시 사용하기 위해서는 3시간에서 최대 12시간까지 시간이 소요된다.
앞에서 S3가 굉장히 다양한 기능을 제공했던 것과 달리, Glacier는 대용량 데이터를 보관하는데 특화되어 있기 때문에 특별한 기능이 제공되지는 않는다. 그래서 저렴하다. (1G에
따라서 비용이 저렴한 특징을 활용하여 대용량이면서 자주 사용하지 않는 데이터를 보관할 때 사용하면 좋다.
S3 Glacier의 주요 개념 및 특징에 대해 정리하면 아래와 같다.
개념/특징 | 설명 |
아카이브 (Archive) | 데이터 저장 최소 단위, Glacier Vault에 저장된 상태를 말함 |
볼트 (Vault) | Glacier에 생성되는 최상위 폴더 디렉터리를 말함 (S3와 비교하면 S3에서는 Bucket이 최상위 디렉토리 였음) Region 별로 설정해야 하며 각 Region별로 최대 1,000개까지 생성 가능하다. ** 특징적인 내용 볼트 잠금 정책이 존재하는데, 이를 통해 변경되면 안되는 데이터에 대해 편집을 제한할 수 있다. 볼트는 한 번 잠기면 수정할 수 없다. |
볼트 인벤토리 (Vault Inventory) | Vault에 저장된 Archive에 대한 정보, 하루에 한 번씩 업데이트 됨 |
반출 (Retrieval) | 데이터를 가져오는 작업 Vault Inventory를 가져오고 Archive를 다운로드 받는 과정을 뜻함. 3~5시간 정도 소요됨. 반출작업이 수행되고 24시간 동안 Archive를 다운로드 받을 수 있다. |
내구성 | 데이터의 안정성, 99.999999999%(9 11개) 의 데이터 내구성을 제공함 |
요금 | 사용량에 따라 책정됨 |
Amazon S3 Glacier 사용 사례
자주 사용되지 않는 데이터라는 특징을 가지는 Glacier에 저장된 데이터에는 어떤 것들이 있을까
주로 계속적으로 보관 관리해야 하는 아카이빙 자료가 이 Storage 보관 사례에 해당된다.
AWS에서 제안하는 사용 사례로는 계속적으로 누적 관리하는 미디어 자산 워크플로우, 의료 기록 관리를 위한 아카이빙, 규정/정책 등에 따라 보관 주기가 있는 데이터들을 보관하거나 디지털 보존, 장기 백업 보존 그리고 이제는 사용되지 않는 과거의 마그네틱 테이프 대체 등 생각보다 다양한 사용 사례가 있다.
그 외 알아두면 좋은 개념들
- S3 Intelligent-Tiering
: 데이터의 사용 빈도를 잘 몰라도 액세스 패턴에 따라 자동으로 스토리지를 계층화해주는 기능
: Frequent access tier (자주 접근하는 계층), Infrequent access tier (자주 접근하지 않는 계층)
: 모니터링 비용 자체가 크지 않아서 접근 패턴에 따른 비용 절감이 가능하다. - 객체 스토리지 계층화
객체 스토리지 | 설명 |
S3 Standard | 주로 사용하는 데이터 작은 Object (저장단위) 빅데이터 분석용 데이터 저장에 적합 작업용 임시 공간 |
S3 - IA | 파일 동기화 및 공유 서비스에 사용 아카이브 또는 백업 용도 미디어 트랜스 코딩 재해 복구용 |
Glacier | 장기 보존용 아카이브 백업, Cold 유형의 데이터 |
* 참고 자료
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/Welcome.html
https://aws.amazon.com/ko/s3/storage-classes/glacier/
'PROGRAM > AWS(Amazon Web Service)' 카테고리의 다른 글
[AWS] Amazon EBS : 대규모 고성능 블록 스토리지 (0) | 2022.06.28 |
---|---|
[AWS] Amazon EC2 : 클라우드 컴퓨팅을 위한 가상 서버 (3) | 2022.06.26 |
클라우드 컴퓨팅과 AWS 사용 전 주요 개념 (0) | 2022.06.19 |
[AWS Dev Day SEOUL 2019] keynote (0) | 2019.09.26 |
[AWS] AWS Summit Seoul 2019 - 2Day <Application에 맞는 Database 선택하기> (0) | 2019.04.20 |