AWS Cloud Practitioner Essentials Module 5 Storage and Database

CHAN LIM·2022년 6월 18일
0

AWS Cloud Practitioner

목록 보기
5/12
post-thumbnail

출처 : https://explore.skillbuilder.aws/


Module 5. Storage and Database

인스턴스 스토어 및 Amazon Block Store (Amazon EBS)

블록 수준 스토리지

: 블록 수준 스토리지는 디스크의 블록에 저장되는 일련의 바이트로 구성된 파일을 저장하는 곳
: 파일이 업데이트되면 모든 블록에 덮어쓰기가 실행되지는 않고 변경된 부분만 업데이트합니다.
: 데이터베이스, 엔터프라이즈 소프트웨어 또는 파일 시스템 같은 애플리케이션을 다룰 때 효율적인 스토리지 유형입니다.
: 블록 수준 스토리지 볼륨은 물리적 하드 드라이브처럼 동작합니다.

인스턴스 스토어

: Amazon EC2 인스턴스에 임시 블록 수준 스토리지를 제공
: 물리적으로 EC2 인스턴스의 호스트 컴퓨터에 연결되어 있고, 따라서 인스턴스와 수명이 동일한 디스크 스토리지
: 인스턴스가 종료되면 인스턴스 스토어의 데이터가 손실됩니다.


1. 인스턴스 스토어가 연결된 Amazon EC2 인스턴스가 실행 중입니다.

2. 인스턴스가 중지 또는 종료됩니다.

3. 연결된 인스턴스 스토어에서 모든 데이터가 삭제됩니다.

요약
Amazon EC2 인스턴스는 가상 서버입니다. 인스턴스를 중지된 상태에서 시작하면 인스턴스가 이전에 사용한 인스턴스 스토어 볼륨이 없는 다른 호스트에서 시작될 수 있습니다.
따라서 인스턴스 스토어는 장기적으로 필요하지 않은 임시 데이터가 포함된 사용 사례에 사용하는 것이 좋습니다.

Amazon Elastic Block Store, EBS

: Amazon EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공하는 서비스
: Amazon EC2 인스턴스를 중지 또는 종료하더라도 연결된 EBS 볼륨의 모든 데이터를 사용할 수 있습니다.
: EBS 볼륨을 생성하려면 구성(예: 볼륨 크기 및 유형)을 정의하고 볼륨을 프로비저닝합니다.
: EBS 볼륨을 생성한 다음 볼륨을 Amazon EC2 인스턴스에 연결할 수 있습니다.
: EBS 볼륨은 보존해야 하는 데이터를 위한 것이므로 데이터 백업이 중요합니다.
: Amazon EBS 스냅샷을 생성하여 EBS 볼륨을 증분 백업할 수 있습니다.

Amazon EBS 스냅샷

: 증분 백업
- (백업이 실행될 때마다 스토리지 볼륨의 모든 데이터가 복사되는 전체 백업과는 다릅니다.)
- (전체 백업에는 가장 최근의 백업 이후 변경되지 않은 데이터도 포함됩니다.)
: 즉, 처음 볼륨을 백업하면 모든 데이터가 복사되고, 이후의 백업에서는 가장 최근의 스냅샷 이후 변경된 데이터 블록만 저장됩니다.


Amazon Simple Storage Service (Amazon S3)

객체 스토리지

: 객체 스토리지에서 각 객체는 데이터, 메타데이터, 키로 구성됩니다.

데이터는 이미지, 동영상, 텍스트 문서 또는 기타 유형의 파일일 수 있습니다.
메타데이터에는 데이터의 내용, 사용 방법, 객체 크기 등에 대한 정보가 포함되어 있습니다.
객체의 키는 고유한 식별자입니다.

Amazon S3 스토리지 클래스

: 사용한 만큼만 비용을 지불합니다.
: 데이터를 검색할 빈도, 필요한 데이터 가용성에 따라 Amazon S3 스토리지 클래스를 선택해야 합니다.

  • S3 Standard
    - 자주 액세스하는 데이터용으로 설계
    - 최소 3개의 가용 영역에 데이터를 저장

    : 객체에 대한 고가용성을 제공합니다.
    : 웹 사이트, 콘텐츠 배포, 데이터 분석 등 광범위한 사용 사례에 적합합니다.
    : 자주 액세스하지 않는 데이터 및 보관 스토리지를 위한 다른 스토리지 클래스보다 비용이 높습니다.
  • S3 Standard-Infrequent Access(S3 Standard-IA)
    - 자주 액세스하지 않는 데이터에 이상적
    - S3 Standard와 비슷하지만 스토리지 가격은 더 저렴하고 검색 가격은 더 높음

    : 자주 액세스하지 않지만 필요에 따라 고가용성이 요구되는 데이터에 이상적입니다.
    : S3 Standard 및 S3 Standard-IA는 모두 최소 3개의 가용 영역에 데이터를 저장합니다.
    : S3 Standard와 동일한 수준의 가용성을 제공하지만 스토리지 가격은 더 저렴하고 검색 가격은 더 높습니다.
  • S3 One Zone-Infrequent Access(S3 One Zone-IA)
    - 단일 가용 영역에 데이터를 저장
    - S3 Standard-IA보다 낮은 스토리지 가격

    - 스토리지 비용을 절감하려는 경우
    - 가용 영역 장애가 발생할 경우 데이터를 손쉽게 재현할 수 있는 경우

  • S3 Intelligent-Tiering
    - 액세스 패턴을 알 수 없거나 자주 변화하는 데이터에 이상적
    - 객체당 소량의 월별 모니터링 및 자동화 요금을 부과

    : 스토리지 클래스에서는 Amazon S3가 객체의 액세스 패턴을 모니터링합니다.
    : 사용자가 30일 연속 객체에 액세스하지 않으면 Amazon S3는 자동으로 해당 객체를 자주 사용하지 않는 액세스 계층인 S3 Standard-IA로 이동합니다.
    : 사용자가 자주 사용하지 않는 액세스 계층에 저장된 객체에 액세스하면 Amazon S3는 자동으로 해당 객체를 자주 사용하는 액세스 계층인 S3 Standard로 이동합니다.

  • S3 Glacier
    - 데이터 보관용으로 설계된 저비용 스토리지
    - 객체를 몇 분에서 몇 시간 이내에 검색

    : 데이터 보관에 이상적인 저비용 스토리지 클래스입니다.
    : 보관된 고객 레코드나 이전 사진 또는 비디오 파일을 저장할 수 있습니다.

  • S3 Glacier Deep Archive
    - 보관에 이상적인 가장 저렴한 객체 스토리지 클래스
    - 객체를 12시간 이내에 검색

    : S3 Glacier 스토리지 클래스에 저장된 객체는 몇 분에서 몇 시간 이내에 검색할 수 있습니다.
    : S3 Glacier Deep Archive 스토리지 클래스에 저장된 객체는 12시간 이내에 검색할 수 있습니다.

EBS vs S3

: 작은 편집을 다수 수행하는 것이 완벽한 사용 사례
: S3를 사용한다면 변경 사항을 저장할 때마다 시스템에서 80GB 전체를 업로드해야 합니다. 매번,
: EC2 인스턴스에 볼륨 연결
: 가용 영역 수준 리소스
: EC2 인스턴스 연결하려면 동일한 가용 영역에 있어야 함
: 볼륨이 자동으로 확장되지 않는다.

: 웹 지원
: 리전별 분산
: 비용 절감 효과 제공
: 서버리스

완성 객체를 사용하거나 변경 횟수가 적다면 S3를 사용해야 한다는 뜻
복잡한 읽기, 쓰기, 변경 기능을 수행한다면 승자는 당연히 EBS가 됩니다.
여러분의 개별적인 워크로드를 바탕으로 승자를 선택하면 됩니다.


Amazon Elastic File System (Amazon EFS)

파일 스토리지

: 여러 클라이언트(예: 사용자, 애플리케이션, 서버 등)가 공유 파일 폴더에 저장된 데이터에 액세스할 수 있습니다.
: 이 접근 방식에서는 스토리지 서버가 블록 스토리지를 로컬 파일시스템과 함께 사용하여 파일을 구성합니다.
: 클라이언트는 파일 경로를 통해 데이터를 액세스합니다.

블록 스토리지 및 객체 스토리지와 비교하면,
파일 스토리지는 많은 수의 서비스 및 리소스가 동시에 동일한 데이터에 액세스해야 하는 사용 사례에 이상적입니다.

Amazon Elastic File System (Amazon EFS)

: AWS 클라우드 서비스 및 온프레미스 리소스와 함께 사용되는 확장 가능한 파일 시스템입니다.
: 파일을 추가 또는 제거하면 Amazon EFS가 자동으로 확장하거나 축소됩니다.
: 애플리케이션을 중단하지 않고 온디맨드로 페타바이트 규모로 확장할 수 있습니다.


Amazon EBS vs Amazon EFS

EBS

: 볼륨은 단일 가용 영역에 데이터를 저장합니다.
: Amazon EC2 인스턴스를 EBS 볼륨에 연결하려면 Amazon EC2 인스턴스와 EBS 볼륨 모두 동일한 가용 영역에 상주해야 합니다.

EFS

: Amazon EFS는 리전별 서비스입니다.
: 이 서비스는 여러 가용 영역에 걸쳐 데이터를 저장합니다.
: 중복 스토리지를 사용하면 파일 시스템이 위치한 리전의 모든 가용 영역에서 동시에 데이터에 액세스할 수 있습니다. (여러 인스턴스가 읽기와 쓰기를 동시에 진행할 수 있습니다.)
: 또한 온프레미스 서버는 AWS Direct Connect를 사용하여 Amazon EFS에 액세스할 수 있습니다.
: 추가 데이터를 EFS에 쓰면 자동으로 확장됩니다. 추가 볼륨을 프로비저닝할 필요가 없습니다.


Amazon Relational Database Service (Amazon RDS)

관계형 데이터베이스

: 정형 쿼리 언어(SQL)를 사용하여 데이터를 저장하고 쿼리합니다.

Amazon Relational Database Service

: AWS 클라우드에서 관계형 데이터베이스를 실행할 수 있는 서비스입니다.
: 하드웨어 프로비저닝, 데이터베이스 설정, 패치 적용 백업과 같은 작업을 자동화하는 관리형 서비스입니다. (패치 적용, 백업, 이중화, 장애 조치, 재해 복구를 자동으로 진행하는 것)
: 관리 작업을 수행하는 데 드는 시간을 줄이고 데이터를 사용하여 애플리케이션을 혁신하는 데 더 많은 시간을 할애 가능합니다.
: 다양한 보안 옵션을 제공합니다. (저장시 암호화, 전송 중 암호화)

Amazon RDS 데이터베이스 엔진

: Amazon RDS는 메모리, 성능 또는 입/출력(I/O)에 최적화된 6개의 데이터베이스 엔진에서 사용할 수 있습니다. 지원되는 데이터베이스 엔진은 다음과 같습니다.

  • Amazon Aurora
  • PostgreSQL
  • MySQL
  • MariaDB
  • Oracle Database
  • Microsoft SQL Server

Amazon Aurora

: 엔터프라이즈급 관계형 데이터베이스
: MySQL 및 PostgreSQL 관계형 데이터베이스와 호환
: 표준 MySQL 데이터베이스보다 최대 5배 빠르며 표준 PostgreSQL 데이터베이스보다 최대 3배 빠릅니다.
: 데이터베이스 리소스의 안정성 및 가용성을 유지하면서도 불필요한 입/출력(I/O) 작업을 줄여 데이터베이스 비용을 절감합니다.
: 워크로드에 고가용성이 필요한 경우 Amazon Aurora를 고려
- 6개의 데이터 복사본을 3개의 가용 영역에 복제하고 지속적으로 Amazon S3에 데이터를 백업합니다.


Amazon DynamoDB

비관계형 데이터베이스

: 행과 열이 아닌 구조를 사용하여 데이터를 구성하기 때문에 ‘NoSQL 데이터베이스’라고도 합니다.
: 구조적 접근 방식 중 한 유형은 키-값 페어이고 키-값 페어에서는 데이터가 항목(키)으로 구성되고 항목은 속성(값)을 갖습니다.
: 속성을 데이터의 여러 기능으로 생각할 수 있습니다.
: 키-값 데이터베이스에서는 언제든지 테이블의 항목에서 속성을 추가하거나 제거할 수 있습니다.
: 테이블의 모든 항목에 동일한 속성이 있어야 하는 것은 아닙니다.

Amazon DynamoDB

: 키-값 데이터베이스 서비스입니다.
: 모든 규모에서 한 자릿수 밀리초의 성능을 제공합니다.
: 서버리스
- 서버를 사용하지 않으므로 서버를 프로비저닝, 패치 적용 또는 관리할 필요가 없습니다.
- 소프트웨어 설치, 유지 관리, 운영할 필요가 없습니다.
: 자동 조절
- 데이터베이스 크기 변화에 맞춰 자동으로 크기를 조정하면서 일관된 성능을 유지합니다.
- 즉, 크기를 조정하는 동안에도 고성능이 필요한 사용 사례에 적합한 선택입니다.


Amazon RDS vs Amazon DynamoDB

: RDB는 기업이 컴퓨터를 사용하기 시작한 순간부터 존재
: 여러 테이블에 있는 데이터의 복잡한 분석을 수행할 수 있다는 것

: 비싼 관계형 데이터베이스의 사용 용도 대부분은 복잡한 관계성과 아무런 상관이 없다.
: 많은 사람들이 이 데이터베이스에 저장하는 콘텐츠는 결국 단순한 룩업 테이블이 된다.
: 즉, Non-RDB는 오버헤드를 모두 제거하여 강력하고 놀라울 정도로 빠르며 복잡한 조인 기능이 필요 없는 데이터베이스를 구축할 수 있게 합니다.


Amazon Redshift

: 빅 데이터 분석에 사용할 수 있는 데이터 웨어하우징 서비스입니다.
: 뛰어난 확장성 (수 페타바이트 크기의 Redshift 노드도 흔할 정도)
: 여러 원본에서 데이터를 수집하여 데이터 간의 관계 및 추세를 파악하는 데 도움이 되는 기능을 제공합니다.

데이터 웨어하우스

: 실시간 읽기/쓰기 기능의 속도 관리를 위해 대부분의 관계형 데이터베이스는 특정 용량에서 과도하게 기능하는 경향이 있습니다.
: 데이터 웨어하우스는 이러한(데이터가 너무 복잡해 기존 관계형 데이터베이스로 처리하기가 어려워진) 유형의 빅 데이터용으로 특별히 제작되었고, 사용자는 운영 분석이 아닌 기록 분석을 살펴봅니다.


AWS Database Migration Service

AWS Database Migration Service(AWS DMS)

: 관계형 데이터베이스, 비관계형 데이터베이스 및 기타 유형의 데이터 저장소를 마이그레이션할 수 있는 서비스입니다.
: AWS DMS를 사용하면 원본 데이터베이스와 대상 데이터베이스 간에 데이터를 이동할 수 있습니다.
: 원본 데이터베이스와 대상 데이터베이스는 유형이 동일할 필요가 없습니다.

EX)
온프레미스에서 Amazon EC2 인스턴스 또는 Amazon RDS에 저장된 MySQL 데이터베이스가 있다고 가정해 보겠습니다.
MySQL 데이터베이스가 원본 데이터베이스라고 하겠습니다.
AWS DMS를 사용하여 Amazon Aurora 데이터베이스와 같은 대상 데이터베이스로 데이터를 마이그레이션할 수 있습니다.

AWS DMS의 다른 사용 사례

  • 개발 및 테스트 데이터베이스 마이그레이션
    - 프로덕션 사용자에게 영향을 주지 않고 개발자가 프로덕션 데이터에서 애플리케이션을 테스트할 수 있도록 지원
  • 데이터베이스 통합
    - 여러 데이터베이스를 단일 데이터베이스로 결합
  • 연속 복제
    - 일회성 마이그레이션을 수행하는 것이 아니라 데이터의 진행 중 복제본을 다른 대상 원본으로 전송

추가 데이터베이스 서비스

  • Amazon DocumentDB
    - MongoDB 워크로드를 지원하는 문서 데이터베이스 서비스입니다.
  • Amazon Neptune
    - 그래프 데이터베이스 서비스입니다.
    - 추천 엔진, 사기 탐지, 지식 그래프와 같이 고도로 연결된 데이터 세트로 작동하는 애플리케이션을 빌드하고 실행할 수 있습니다.
  • Amazon Quantum Ledger Database(Amazon QLDB)
    - 원장 데이터베이스 서비스입니다.
    - 애플리케이션 데이터에 발생한 모든 변경 사항의 전체 기록을 검토할 수 있습니다.
  • Amazon Managed Blockchain
    - 오픈 소스 프레임워크를 사용하여 블록체인 네트워크를 생성하고 관리하는 데 사용할 수 있는 서비스입니다.
    - 블록체인은 여러 당사자가 중앙 기관 없이 거래를 실행하고 데이터를 공유할 수 있는 분산형 원장 시스템입니다.
  • Amazon ElastiCache
    - 자주 사용되는 요청의 읽기 시간을 향상시키기 위해 데이터베이스 위에 캐싱 계층을 추가하는 서비스입니다.
    - Redis 및 Memcached를 지원합니다.
  • Amazon DynamoDB Accelerator (DAX)
    - DynamoDB용 인 메모리 캐시입니다.
    - 응답 시간을 한 자릿수 밀리초에서 마이크로초까지 향상시킬 수 있습니다.

Summary

  • EC2 Elastic Block Store 볼륨이었고 이 볼륨을 EC2 인스턴스에 연결하여 일시적이지 않은 로컬 스토리지를 확보

  • S3에 대해 살펴보고 클릭 한 번이나 API 호출로 AWS에서 객체를 저장하는 방법

  • 다양한 관계형/비관계형 데이터베이스

  • 파일 스토리지 사용 사례를 위한 EFS

  • 데이터 웨어하우스 요구 사항을 충족하는 Amazon Redshift

  • 기존 데이터베이스의 마이그레이션을 지원하는 DMS, 즉 Database Migration Service

  • DocumentDB, Neptune, QLDB, Amazon Managed Blockchain

  • ElastiCache와 DynamoDB Accelerator 같은 캐싱 솔루션 사용 방법

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글