AWS Documentation


3. Storage

3.1. S3 (Simple Storage Service)

Features

Object Storage

오브젝트 스토리지는 블록 스토리지와는 다르게 데이터 자체가 단독으로 구성 key가 존재하는 평면적인 주소 공간에 데이터 오브젝트 그 자체가 저장되므로 접근과 indexing이 더 깔끔함
클라우드 서비스에서 기본적으로 사용되고 있으며, 찾고 싶은 데이터의 key(고유 식별자)만 알고 있다면, index을 이용해 접근이 편함

Lifecycle 구성

Transition Action: 특정 시간이 지나면 이동 ( -> Glacier) Expiration Action: 특정 시간이 지나면 삭제

S3 type

Components

버킷은 Amazon S3에 저장된 객체에 대한 컨테이너입니다. 모든 객체는 어떤 버킷에 포함됩니다. 예를 들어 photos/puppy.jpg로 명명된 객체는 미국 서부(오레곤) 리전의 awsexamplebucket1 버킷에 저장되며 URL https://awsexamplebucket1.s3.us-west-2.amazonaws.com/photos/puppy.jpg를 사용하여 주소를 지정할 수 있습니다.

버킷은 다음과 같은 여러 가지 용도로 사용됩니다.

Amazon S3 네임스페이스를 최상위 수준으로 구성합니다.
스토리지 및 데이터 전송 요금을 담당하는 계정을 식별합니다.
액세스 제어에 사용됩니다.
사용량 보고를 위한 집계 단위로 사용됩니다.

특정 AWS 리전에서 생성되도록 버킷을 구성할 수 있습니다. 객체가 추가될 때마다 Amazon S3에서 고유한 버전 ID를 생성하고 이를 객체에 할당하도록 버킷을 구성할 수도 있습니다. 자

객체는 Amazon S3에 저장되는 기본 개체입니다. 객체는 객체 데이터와 메타데이터로 구성됩니다. 데이터 부분은 Amazon S3에서 볼 수 없습니다. 메타데이터는 객체를 설명하는 이름-값 페어의 집합입니다. 여기에는 마지막으로 수정한 날짜와 같은 몇 가지 기본 메타데이터 및 Content-Type 같은 표준 HTTP 메타데이터가 포함됩니다. 객체를 저장할 때 사용자 정의 메타데이터를 지정할 수도 있습니다.

객체는 키(이름) 및 버전 ID를 통해 버킷 내에서 고유하게 식별됩니다.

키는 버킷 내 객체의 고유한 식별자입니다. 버킷 내 모든 객체는 정확히 하나의 키를 갖습니다. 버킷, 키 및 버전 ID의 조합은 각 객체를 고유하게 식별합니다. 따라서 Amazon S3을 “버킷 + 키 + 버전”과 객체 자체 사이의 기본 데이터 맵으로 생각할 수 있습니다. Amazon S3 내 모든 객체는 웹 서비스 엔드포인트, 버킷 이름, 키, 그리고 선택 사항인 버전의 조합을 통해 고유하게 주소를 지정할 수 있습니다. 예를 들어, https://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl이라는 URL에서 “doc“는 버킷의 이름이고 “2006-03-01/AmazonS3.wsdl“은 키입니다.

Amazon S3에서 사용자가 만드는 버킷을 저장할 지리적 AWS 리전을 선택할 수 있습니다. 지연 시간 최적화, 비용 최소화, 규정 요구 사항 준수 등 다양한 필요에 따라 리전을 선택할 수 있습니다. 특정 리전에 저장된 객체는 사용자가 명시적으로 객체를 다른 리전으로 전송하지 않는 한 해당 리전을 벗어나지 않습니다. 예를 들어 유럽(아일랜드) 리전에 저장된 객체는 해당 리전을 벗어나지 않습니다.


3.2. EBS (Elastic Block Store)

Block Storage

블록 스토리지는 파일이 균일한 블록에 저장되는 데이터 저장소를 의미합니다. 가장 일반적인 저장소의 역할을 수행합니다. 좀 더 자세하게 말하자면, 데이터를 블록 단위로 쪼개어서 별도로 ‘분리’ 해 저장하는 것을 의미합니다. 그 후 해당하는 데이터 요청 시 나누어진 데이터를 다시 결합해 제공,응답합니다. 주로 SAN(Storage Area Network) 환경에 배포됩니다.(컴퓨터에 HDD,SDD를 직접 꽃아 사용하는 것과 유사)

단일 AZ에 데이터를 저장

image

EBS type

SSD: IOPS(Input/Output Operations Per Second)가 높고 high performance
HDD: 처리량(Throughput)이 높고 작업 많을 때

추가로, 보안을 위해 KMS(Key Management Service)에서 제공되는 키 사용 가능, 스냅샷 기능 사용 가능


3.3. EFS (Elastic File System)

다중 AZ에 데이터를 저장, 연결


3.4. Storage Gateway

on-premise에서 S3으로 migration (CDC)과 같은 Hybrid Cloud Storage 환경 load 작업 시
대용량 데이터 작업 시 -> DataSync 사용

1) File Gateway
NFS(Network File System), SMB(Server Message Block) protocol 지원

2) FSx File Gateway
Windows File server 공유 할 때

3) Volume Gateway
자주 사용되는 데이터 caching 해서 사용, AWS에 비동기로 point-in-time 스냅샷 백업 시

4) Tape Gateway
Glacier에 저장할 때


3.5. DataSync

on-premise에서 S3, EFS(Elastic File System), FSx으로 대용량 load 작업 시


3.6. FSx

Windows File system
SMB(Server Message Block) protocol 지원