Amazon EBS(Elastic Block Store)
어플리케이션은 CPU, 메모리, 네트워크, 스토리지 액세스 필요
블록 수준 스토리지 액세스는 모든 블록을 업데이트하지 않기 때문에, 데이터베이스/엔터프라이즈 SW/파일 시스템에 최적화된 하드 드라이브임.
데이터 백업을 위해 EBS(Amazon Elastic Block Store)
EBS 볼륨이라고 하는 가상 하드 드라이브를 만들어 EC2 인스턴스에 연결
스냅샷이라고 하는 데이터 증분 백업을 만들 수 있음
드라이브가 손상되어도 데이터가 손실되지 않으며, 복구할 수 있음
증분 백업이므로 처음 볼륨을 백업하면 모든 데이터가 복사되고, 이후의 백업에서는 가장 최근의 스냅샷 이후 변경된 데이터 블록만 저장
데이터 저장 및 검색할 수 있는 데이터 저장소
데이터는 객체로 저장되지만 파일 디렉토리가 아닌 버킷에 저장됨
하드 드라이브에 있는 파일은 객체이며 파일 디렉토리는 버킷으로 이해
객체의 버전을 관리해 삭제 방지
여러 버킷을 생성해 다양한 데이터 클래스나 계층에 저장
객체 액세스 제어
스토리지 사용 사례에 맞게 계층 분리(자주 액세스하는 데이터/수년간 유지해야 하는 감사데이터)
Amazon S3 Standard
99.9% 내구성
AWS가 별개의 스토리지 시설 두 곳에서 발생하는 동시 데이터 손실을 감당할 수 있음(데이터가 3개 이상의 시설에 저장됨)
정적 웹사이트 호스팅(HTML파일 모음)
각 파일은 실제 사이트의 물리적 페이지와 비슷
모든 HTML, 정적 웹 자산 등을 버킷에 업로드해 정적 웹사이트로 호스팅 가능
Amazon S3-IA(Amazon S3 Standard-Infrequent Access)
액세스 빈도는 낮지만 필요할 때는 빠르게
백업, 재해 복구 파일, 장기 보관 파일
Amazon S3 Glacier
데이터를 Glacier로 옮기거나 저장소를 만든 다음 아카이브로 채움
저장소 잠금 정책 적용 가능(한번 쓰기/여러번 읽기와 같은 옵션 적용)
수명 주기 관리: 계층 사이에서 데이터를 자동으로 이동
ex) Standard 90일 -> S3-IA 30일 -> Glacier 영구
EBS vs S3
16TiB 크기/인스턴스 종료 후에도 생존/SSD(플래시 메모리)와 HDD(자기 디스크) 제공 vs
리전 객체 스토리지로 무한대의 스토리지 제공/최대 5TB의 개별 객체/한번 쓰기와 여러번 읽기 최적화/99.99 내구성
사진 분석 웹사이트
사진 업로드 -> 비슷한 동물 검출
동물사진 수백만 장 인덱싱, 사용자 수천명이 동시에 볼 수 있어야 함
S3에 적합
오류를 수정해야 하는 80GB 동영상 파일
객체 스토리지는 모든 파일을 완성된 개별 객체로 취급
전체 객체로서 업로드되고 사용되는 문서, 이미지와 동영상 파일에 적합
객체가 변경될 때마다 전체 파일을 다시 업로드해야 함. 증분 업데이트 지원되지 않음
S3을 사용하면 변경 사항을 저장할 때마다 시스템에서 80GB 전체를 업로드해야함
완성 객체를 사용하거나 변경 횟수가 적을 때 사용
블록 스토리지는 이러한 파일을 작은 구성 요소(블록)으로 나눔
80GB 영상의 한 장면을 편집하고 변경 사항을 저장하면 엔진은 해당 비트가 있는 블록만 업데이트
복잡한 읽기/쓰기/변경 기능
EBS에 적합
관리형 파일 시스템
(as-is) 공유 파일 시스템에 저장된 대량의 데이터에 대한 분석을 수행하는 여러 서버가 있을 때, 이 데이터는 온프레미스에서 호스팅되었음. 저장 중인 데이터 양을 스토리지가 계속 감당할 수 있는지 확인해야 함. 백업이 수행되었는지, 데이터가 중복으로 저장되었는지 확인 필요했음.
(to-be) 규모 조정 및 복제라는 작업을 AWS에일임 가능. 여러 인스턴스가 액세스 가능.
EBS에서도 EC2 인스턴스에서 액세스할 수 있는 파일을 저장할 수 있는데?
EBS 볼륨은 EC2 인스턴스에 연결되며 가용영역 수준의 리소스(하드 드라이브). 자동으로 볼륨을 확장해주지는 않음.
고객이 음료를 여러 번 주문한다면, 다음 구매 시 사용할 수 있는 할인 쿠폰을 주는 행위와 같다.
AWS 클라우드에서 관계형 데이터베이스를 실행할 수 있는 서비스
RDBMS
관계형 데이터베이스 관리 시스템
주요 DB엔진.. MySQL, PostgreSQL, Oracle, Microsoft SQL Server 지원
온프레미스 RDBMS를 클라우드로 마이그레이션
자동 패치, 백업, 이중화, 장애조치 지원
Amazon Aurora
데이터베이스 워크로드 실행
마이그레이션/배포
관리기능이 뛰어난 RDBMS 옵션
MySQL, PostgreSQL와 호환되며 상용데이터베이스 비용의 1/10
S3로의 지속적 백업
서버리스 데이터베이스로 기본 인스턴스/인프라 관리할 필요 없음
테이블 생성: 데이터 저장/쿼리
데이터: 항목/속성 두가지 요소
테이블에 항목이 몇 개가 있든 DynamoDB가 사용자를 대신해 기본 스토리지 관리
AZ 전체에 데이터 중복 저장
SQL을 사용하지 않음. 비관계형 NoSQL DB
고정적인 스키마가 아닌, 단순하고 유연한 스키마로 테이블에 있는 항목에서 속성을 추가하거나 제거할 수 있음
키로 지정되는 작은 속성 하위 집합을 기반으로 쿼리 작성
데이터가 복잡해 기존 관계형 데이터베이스로 관리가 힘들어지면 데이터 웨어하우스로 빅 데이터 관리/운영 분석이 아닌 기록 분석 가능
비즈니스 질문이 과거를 향한다면 해당 비즈니스 인텔리전스에는 데이터 웨어하우스가 올바른 솔루션
데이터 웨어하우스가 조율되고 복원력을 가지며 지속적으로 규모를 조정하도록 하는 획일적인 작업 부담을 줄이기 위해 AWS Redshift 사용
서비스로서의 데이터 웨어하우징 제품
데이터 레이크에서 실행되는 수 엑사바이트의 비정형 데이터를 대상으로 단일 SQL 쿼리 실행
빅데이터 BI솔루션이 필요할 때 RedShift 서비스를 통해 단일 API 호출로 작업 시작
기존 데이터베이스를 안전하고 쉽게 AWS로 마이그레이션
마이그레이션 중에도 소스 데이터베이스의 모든 기능이 정상 작동하므로 가동 중지시간 최소화
원본과 대상 DB의 유형이 동일할 필요 없음
스키마 구조, 데이터 유형, 데이터베이스 코드가 원본과 대상 사이에서 호환
소스: 온프레미스, Amazon EC2, Amazon RDS
타겟: Amazon EC2, Amazon RDS
이종 데이터베이스(원본과 대상 데이터베이스의 유형이 다를 때) 이종 마이그레이션
개발 및 테스트 데이터베이스 마이그레이션: 프로덕션 사용자에게 영향을 주지 않고 프로덕션 데이터를 통해 테스트. 개발/테스트 데이터베이스로 마이그레이션
데이터베이스 통합: 여러 데이터베이스를 단일 데이터베이스로 통합
연속 복제: 일회성 마이그레이션을 수행하는 것이 아니라 데이터의 진행 중 복제본을 다른 대상 원본으로 전송
모든 목적에 적합한 데이터베이스는 없음.
Amazon Document DB: 콘텐츠 관리, 카탈로그, 사용자 프로필에 적합하며 mongoDB 호환
Amazon Neptune: 그래프 데이터베이스로 소셜 네트워킹 및 추천 엔진을 고려해 설계
Amazon Managed Blockchain: 오픈소스 프레임워크를 사용해 블록체인(여러 당사자가 중앙기관 없이 거래를 실행하고 데이터를 공유하는 분산현 원장 시스템) 네트워크를 생성하고 관리
Amazon QLDB(Quantum Ledger Database): 원장 데이터베이스. 애플리케이션 데이터에 발생한 모든 변경 사항의 전체 기록 검토. 어떤 항목도 감사에서 제거할 수 없는 변경 불가능한 시스템
데이터베이스 엑셀러레이터
Amazon ElasticCache: 캐싱 기능을 추가해 일반 요청을 밀리초에서 마이크로초로3배 개선
Amazon DynamoDB Accelerator: 비관계형 데이터 개선