# AWS Cloud Practitioner_module5_storage, database

안규원·2024년 8월 13일
0

Infra

목록 보기
12/23

인스턴스 스토어 및 Amazon EBS


Amazon EBS(Elastic Block Store)

어플리케이션은 CPU, 메모리, 네트워크, 스토리지 액세스 필요

블록 수준 스토리지 액세스는 모든 블록을 업데이트하지 않기 때문에, 데이터베이스/엔터프라이즈 SW/파일 시스템에 최적화된 하드 드라이브임.

  • EC2 인스턴스 유형에 따라 인스턴스 스토리지 볼륨이라는 로컬 저장소 제공
  • EC2 인스턴스가 실행되는 호스트에 물리적으로 연결됨
    물리적 호스트에 연결되므로, 인스턴스 중지/종료시 데이터가 삭제됨
  • 휘발적인 특성 때문에 임시 파일, 스크래치 데이터관리에 유용

데이터 백업을 위해 EBS(Amazon Elastic Block Store)
EBS 볼륨이라고 하는 가상 하드 드라이브를 만들어 EC2 인스턴스에 연결

  • 로컬 인스턴스 볼륨과는 다른 드라이브로, 호스트에 바로 연결되지 않아 그대로 유지됨
  • 다양한 크기와 유형으로 제공됨
  • 볼륨을 프로비저닝해 인스턴스에 연결
  • 애플리케이션이 쓰기 작업을 할 수 있는 하드드라이브를 가지는 것

스냅샷이라고 하는 데이터 증분 백업을 만들 수 있음
드라이브가 손상되어도 데이터가 손실되지 않으며, 복구할 수 있음
증분 백업이므로 처음 볼륨을 백업하면 모든 데이터가 복사되고, 이후의 백업에서는 가장 최근의 스냅샷 이후 변경된 데이터 블록만 저장

Amazon S3(Simple Storage Service)


데이터 저장 및 검색할 수 있는 데이터 저장소
데이터는 객체로 저장되지만 파일 디렉토리가 아닌 버킷에 저장됨

하드 드라이브에 있는 파일은 객체이며 파일 디렉토리는 버킷으로 이해

객체의 버전을 관리해 삭제 방지
여러 버킷을 생성해 다양한 데이터 클래스나 계층에 저장
객체 액세스 제어

스토리지 사용 사례에 맞게 계층 분리(자주 액세스하는 데이터/수년간 유지해야 하는 감사데이터)

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에 적합

  • 웹 지원
  • 모든 객체에 URL
  • 이미지 접근에 대한 권한제어
  • 리전별 분산
  • EBS에서 동일한 스토리지 로드에 비해 비용절감
  • 서버리스로 EC2 인스턴스 필요하지 않음

오류를 수정해야 하는 80GB 동영상 파일

객체 스토리지는 모든 파일을 완성된 개별 객체로 취급
전체 객체로서 업로드되고 사용되는 문서, 이미지와 동영상 파일에 적합
객체가 변경될 때마다 전체 파일을 다시 업로드해야 함. 증분 업데이트 지원되지 않음

S3을 사용하면 변경 사항을 저장할 때마다 시스템에서 80GB 전체를 업로드해야함
완성 객체를 사용하거나 변경 횟수가 적을 때 사용

블록 스토리지는 이러한 파일을 작은 구성 요소(블록)으로 나눔
80GB 영상의 한 장면을 편집하고 변경 사항을 저장하면 엔진은 해당 비트가 있는 블록만 업데이트
복잡한 읽기/쓰기/변경 기능

EBS에 적합

Amazon EFS(Elastic File System)


관리형 파일 시스템
(as-is) 공유 파일 시스템에 저장된 대량의 데이터에 대한 분석을 수행하는 여러 서버가 있을 때, 이 데이터는 온프레미스에서 호스팅되었음. 저장 중인 데이터 양을 스토리지가 계속 감당할 수 있는지 확인해야 함. 백업이 수행되었는지, 데이터가 중복으로 저장되었는지 확인 필요했음.
(to-be) 규모 조정 및 복제라는 작업을 AWS에일임 가능. 여러 인스턴스가 액세스 가능.

EBS에서도 EC2 인스턴스에서 액세스할 수 있는 파일을 저장할 수 있는데?
EBS 볼륨은 EC2 인스턴스에 연결되며 가용영역 수준의 리소스(하드 드라이브). 자동으로 볼륨을 확장해주지는 않음.

Amazon RDS(Relational Database Service)


고객이 음료를 여러 번 주문한다면, 다음 구매 시 사용할 수 있는 할인 쿠폰을 주는 행위와 같다.
AWS 클라우드에서 관계형 데이터베이스를 실행할 수 있는 서비스

RDBMS

관계형 데이터베이스 관리 시스템
주요 DB엔진.. MySQL, PostgreSQL, Oracle, Microsoft SQL Server 지원
온프레미스 RDBMS를 클라우드로 마이그레이션

자동 패치, 백업, 이중화, 장애조치 지원

Amazon Aurora

데이터베이스 워크로드 실행
마이그레이션/배포
관리기능이 뛰어난 RDBMS 옵션
MySQL, PostgreSQL와 호환되며 상용데이터베이스 비용의 1/10
S3로의 지속적 백업

Amazon DynamoDB


서버리스 데이터베이스로 기본 인스턴스/인프라 관리할 필요 없음
테이블 생성: 데이터 저장/쿼리
데이터: 항목/속성 두가지 요소

테이블에 항목이 몇 개가 있든 DynamoDB가 사용자를 대신해 기본 스토리지 관리
AZ 전체에 데이터 중복 저장

SQL을 사용하지 않음. 비관계형 NoSQL DB
고정적인 스키마가 아닌, 단순하고 유연한 스키마로 테이블에 있는 항목에서 속성을 추가하거나 제거할 수 있음

키로 지정되는 작은 속성 하위 집합을 기반으로 쿼리 작성

AWS Redshift


데이터가 복잡해 기존 관계형 데이터베이스로 관리가 힘들어지면 데이터 웨어하우스로 빅 데이터 관리/운영 분석이 아닌 기록 분석 가능

비즈니스 질문이 과거를 향한다면 해당 비즈니스 인텔리전스에는 데이터 웨어하우스가 올바른 솔루션

데이터 웨어하우스가 조율되고 복원력을 가지며 지속적으로 규모를 조정하도록 하는 획일적인 작업 부담을 줄이기 위해 AWS Redshift 사용

서비스로서의 데이터 웨어하우징 제품

데이터 레이크에서 실행되는 수 엑사바이트의 비정형 데이터를 대상으로 단일 SQL 쿼리 실행

빅데이터 BI솔루션이 필요할 때 RedShift 서비스를 통해 단일 API 호출로 작업 시작

AWS DMS(Database Migration Service)


기존 데이터베이스를 안전하고 쉽게 AWS로 마이그레이션
마이그레이션 중에도 소스 데이터베이스의 모든 기능이 정상 작동하므로 가동 중지시간 최소화
원본과 대상 DB의 유형이 동일할 필요 없음

스키마 구조, 데이터 유형, 데이터베이스 코드가 원본과 대상 사이에서 호환

소스: 온프레미스, Amazon EC2, Amazon RDS
타겟: Amazon EC2, Amazon RDS

이종 데이터베이스(원본과 대상 데이터베이스의 유형이 다를 때) 이종 마이그레이션

  • 원본과 대상의 스키마 유형, 데이터 유형, 데이터베이스 코드가 다르므로 AWS Schema Conversion Tool을 사용해 변환해 스키마/데이터베이스 코드 일치하도록 변환
  • DMS를 사용해 원본 데이터베이스의 데이터를 대상 데이터베이스로 마이그레이션

개발 및 테스트 데이터베이스 마이그레이션: 프로덕션 사용자에게 영향을 주지 않고 프로덕션 데이터를 통해 테스트. 개발/테스트 데이터베이스로 마이그레이션
데이터베이스 통합: 여러 데이터베이스를 단일 데이터베이스로 통합
연속 복제: 일회성 마이그레이션을 수행하는 것이 아니라 데이터의 진행 중 복제본을 다른 대상 원본으로 전송

Etc


모든 목적에 적합한 데이터베이스는 없음.

Amazon Document DB: 콘텐츠 관리, 카탈로그, 사용자 프로필에 적합하며 mongoDB 호환
Amazon Neptune: 그래프 데이터베이스로 소셜 네트워킹 및 추천 엔진을 고려해 설계
Amazon Managed Blockchain: 오픈소스 프레임워크를 사용해 블록체인(여러 당사자가 중앙기관 없이 거래를 실행하고 데이터를 공유하는 분산현 원장 시스템) 네트워크를 생성하고 관리
Amazon QLDB(Quantum Ledger Database): 원장 데이터베이스. 애플리케이션 데이터에 발생한 모든 변경 사항의 전체 기록 검토. 어떤 항목도 감사에서 제거할 수 없는 변경 불가능한 시스템
데이터베이스 엑셀러레이터
Amazon ElasticCache: 캐싱 기능을 추가해 일반 요청을 밀리초에서 마이크로초로3배 개선
Amazon DynamoDB Accelerator: 비관계형 데이터 개선

0개의 댓글