Introduction to Storage
컴퓨터는 작업을 완료하기 위해 data를 사용하며, 이 데이터는 접근하기 위해 저장되어야 함
- 일부 데이터는 컴퓨터 내부에 저장
- 클라우드의 서버에 더 많은 데이터를 저장할 수 있음
On-Premises vs. Cloud Storage
On-premises storage(사내 스토리지)란 서버가 조직의 인프라 내에서 호스팅되며 물리적으로 현장에 존재(physically onsite)
- 회사에서 서버를 controls, administers, maintains
- 데이터는 local network를 통해 컴퓨터 간에 공유됨
cloud storage를 사용하면 AWS와 같은 외부 서비스 프로바이더가 데이터를 호스팅
- 클라우드 공급자는 모든 하드웨어, 소프트웨어 및 기타 지원 인프라스트럭처를 데이터 센터에서 구입, 설치 및 유지 관리
- 소비자는 인터넷을 통해서 이 서비스들에 접속하고 계정 관리
Benefits of Cloud Storage
Cost efficient
Secure
Accessible
Scalable
Managed
- 서버 고려x, 데이터와 애플리케이션에 집중 가능
Backed up
- 데이터 복사본은 장애 발생 시 서로 다른 물리적 위치에 저장됨
Type of Cloud Storage
Block storage (EBS)
- 데이터를 블록으로 나눈 다음, 블록을 각각 고유한 식별자를 가진 별개의 조각pieces으로 저장
- 여러 시스템에 걸쳐 이러한 블록을 저장, 각 블록은 다른 os와 함께 작동하도록 구성 가능
File storage (EFS)
- 공유 파일 시스템에서 사용자, 응용프로그램 및 서비스의 데이터 액세스를 지원하는 방법론(methodology)
Object storage
- 파일이 attributes(속성) 및 metadata를 기반 objects로 저장됨
- 각 object는 data, metadata, object key로 구성됩니다
- 메타데이터에는 데이터에 대한 정보(객체 크기, 목적 등)
- object 키는 객체의 고유 식별자
Storage Use Cases
Block storage use cases: 주로 root volume. (fast, high-throughput, low-latency)
- Hosting database instances
- Big data analytics 빅 데이터 분석
- Enterprise applications 기업 응용 프로그램
Object storage use cases:
- Disaster recovery재해복구
- Data lakes
- Cloud-native applications
ex for website static files
AWS Core Storage Services
Amazon Elastic Block Store (EBS)
- EC2용으로 설계된 확장 가능한 고성능 블록 스토리지 장치(scalable, high-performance block-storage device)
Amazon Elastic File System (EFS)
- provisioning 또는 managing storage 없이 파일 데이터를 공유할 수 있는 간편하고 탄력적인 파일 시스템
스토리지 관리
Amazon Simple Storage Service (S3)
- 데이터를 buckets 내의 객체로 저장하는 객체 저장 서비스
- 개체는 파일 및 파일을 설명하는 메타데이터
- bucket은 object을 담는 용기
Introduction to Amazon S3
Amazon S3는 선택한 영역 내 버킷 내부에 개체를 저장
Amazon S3 Physical Architecture
S3을 provision(준비)할 때 데이터를 저장할 Region(지역) 선택
S3에 파일을 업로드하면 최소 3개의 Availability Zones(가용성 영역)에 걸쳐 개체가 자동으로 복제
- strategically(전략적으로) 각각의 AZ는 물리적으로 분리, dedicated ultra-low latency connections(전용 초저지연 접속) 사용
- 하나의 AZ에서 장애가 발생하면 파일이 존재하며 동일한 지역의 다른 AZ에서 사용
이 architecture는 높은 수준의 durability내구성과 availability가용성을 제공
Benefits of Amazon S3
Scalability 확장성
- Amazon S3는 완벽하게 확장 가능한 서비스로서 사용자와 함께 성장하도록 설계됨
Data durability and availability
- durability: objects의 average annual expected loss을 측정
- 모든 Amazon S3 스토리지 클래스는 99.9999999999%의 내구성을 제공
- availability: objects를 복구할 수 있는 1년 당 시간(amount of time per year)
- 모든 Amazon S3 스토리지 클래스의 가용성 99.9% 이상
Performance
Security
- 세 가지 형태의 암호화(encryption) 사용
Basic S3 Workflow
Amazon S3는 모든 파일 형식을 허용
- 저장할 수 있는 데이터의 양에 제한X
- 그러나 individual objects는 5TB 미만이어야 함
각 개체에는 고유한 identifier(식별자) 존재
- 식별자를 사용하면 응용프로그램에서 개체를 사용하거나 데이터 분석 가능
Object-Level Storage
Again, objects는 data, metadata로 구성
- 메타데이터는 데이터에 대한 정보
- 객체의 키는 고유 식별자의 역할
objects는 컴퓨터의 디렉토리 또는 폴더와 유사한 버킷에 저장
- 버킷에 개체를 저장할 때 bucket name, key, version ID의 조합이 개체를 고유하게 식별
Object storage에는 간단한 HTTP API가 필요
객체 스토리지 시스템은 일반적으로 기존 파일 시스템 위에 계층화됨
Object Storage: Example
Dropbox: 클라우드 상에서 object-based storage의 좋은 예
- 파일 시스템이 application level에서 실행됨
- Dropbox에서 파일을 이동한다고 해서 파일의 실제 블록을 이동X
- 파일이 이동된 것처럼 사용자가 보기만 함
Active and Archive Storage
데이터에 액세스해야 하는 빈도를 기준으로 object storage를 분류 가능
Active storage
- 항상 사용하는 데이터의 경우
- 데이터에 신속하게 access가 중요 (액세스 빈도가 낮은 데이터도 포함되긴 함)
- 예: static website의 파일
Archive storage
- 거의 액세스하지 않지만 유지해야 하는 데이터의 경우
- 예: compliance 또는 비즈니스 계속 운영을 위한 데이터
Amazon S3 Storage Classes
Amazon S3 storage classes : 백업 및 복구의 거의 모든 스토리지 use case를 지원
Storage classes는 워크로드의 데이터 접근, 복원력(resiliency) 및 비용 요구 사항을 기반으로 함
Amazon S3 Storage Classes Use Cases
Amazon S3 Standard
- General Purpose
- 정적 컨텐츠만 포함하는 웹 사이트
- 로그 파일 저장소
- application installers, configuration files(구성 파일)을 위한 저장소
Amazon S3 Standard-Infrequent Access
- 시스템 백업
- 거의 access안하지만 필요한 경우 신속하게 access해야 하는 파일
Amazon S3 One Zone-Infrequent Access
- 다른 S3 버킷에서 cross-Region replication(지역 간 복제 백업)을 위한 저장소
- on-premises backups(사내 백업) 복사본의 Off-site storage
Amazon S3 Glacier Flexible Retrieval
- long-term backups(장기백업) 저장
- magnetic tapes 대체
- 대용량 미디어 파일을 위한 Digital media asset archive
- standard: a few hours, expedited: 1~5분
Amazon S3 Glacier Deep Archive
- compliance 목적으로 보관해야 하는 archives 또는 datasets
- Long-term data libraries
- 12시간
Amazon S3 Intelligent-Tiering
- Unpredictable workloads 예측 불가능한 작업량
- Unknown workloads 알 수 없는 작업량
- Rapidly changing workloads 급변하는 작업량
Choosing a Storage Class – Scenario 1
A user uploads a video to your application and your application generates a thumbnail preview of the video. Your user agreement permits a user to access the video thumbnail for one year. However, your usage data indicates that most thumbnail previews are not often accessed after 60 days but must be assessed quickly
사용자가 동영상을 응용 프로그램에 업로드하고 응용 프로그램은 동영상의 썸네일 미리보기를 생성합니다. 사용자 동의에 따라 사용자는 1년 동안 동영상 썸네일에 액세스할 수 있습니다. 그러나 사용 데이터에 따르면 대부분의 썸네일 미리보기는 60일이 지난 후에는 자주 액세스되지 않지만 빠르게 평가되어야 합니다
▪ Which Amazon S3 storage class would you recommend? Amazon S3 Standard-Infrequent Access
Choosing a Storage Class – Scenario 2
A business wants to implement stronger business continuity practices and keep backups of their data for a long period of time. They do not anticipate needing to access the data often. But they want to be able to have the data within a few hours in the event of disaster recovery.
기업은 보다 강력한 비즈니스 연속성 관행을 구현하고 장기간 동안 데이터 백업을 유지하기를 원합니다. 데이터에 자주 액세스해야 할 것으로 예상하지는 않습니다. 그러나 재해 복구 시 몇 시간 내에 데이터를 확보할 수 있기를 원합니다.
▪ Which Amazon S3 storage class would you recommend? Amazon S3 Glacier Flexible Retrieval
Amazon S3 Costs
가격은 선택한storage class와 필요한 기능(features)에 따라 달라짐:
- GB per month
- 다른 지역 또는 인터넷으로 전송 (Transfers OUT)
- PUT, COPY, POST, LIST, GET requests
돈 안드는거:
- Amazon S3로 전송 (Transfer IN)
- 동일한 지역에 있는 S3 버킷 간 전송Transfer
- 동일한 지역에 있는 Amazon EC2로 OUT 전송 (Transfer OUT)
- 같은 지역에 있는 Amazon CloudFront로 OUT 전송 (Transfer OUT)
- DELETE 및 CANCEL requests
Amazon S3 Costs: Free Tier
New AWS customers receive 5GB of Amazon S3 for the first 12 months
Each month of the first 12 months includes:
- 20,000 GET requests
- 2,000 PUT, COPY, POST, or LIST requests
- 100 GB of data transfer out
신규 AWS 고객 첫 12개월간 아마존 S3 5GB 제공:
월당
- 20,000 GET requests
- 2,000 PUT, COPY, POST, or LIST requests
- 100 GB of data transfer out