AWS Certified Solutions Architect Associate [15] 데이터베이스

CHAN LIM·2022년 7월 29일
1
post-thumbnail

RDS

RDS

  • PostgreSQL, MySQL ,Oracle, SQL Server에 의해 관리됩니다.

  • EC2 인스턴스와 EBS 볼륨 프로비저닝이 필요합니다.

  • 읽기 전용 복제본 지원

  • 다중 AZ 지원

  • IAM, 보안 그룹, KMS, 전송중 암호화 SSL로 보안을 지원합니다.

  • 백업이나 스냅샷, 지정 시간 복구를 지원합니다.

  • 유지 관리 작업 처리와 예약이 가능합니다.

  • CloudWatch가 모니터링을 수행합니다.

  • 사용 :

    • RDBMS/OLTP

RDS for Solutions Architect

  • 작업
    • 장애 조치나 유지 관리 작업을 실행할 때 아주 작은 다운타임이 발생합니다.
    • 읽기나 EC2 인스턴스 확장 EBS 복구로 인해 수동 개입이 필요할 수도 있습니다.
  • 보안
    • AWS가 OS 보안과 EC2 인스턴스 보안을 책임집니다.
    • 사용자는 KMS로 보안 그룹을 올바르게 구성합니다.
    • IAM 정책도 올바르게 설정합니다.
    • 사용자 데이터베이스 접근 권한 허용합니다.
    • SSL 암호화도 실행해야 합니다.
  • 신뢰성
    • 다중 AZ 기능이 자동으로 실행합니다.
  • 성능
    • RDS 인스턴스에 공급한 EC2 인스턴스 유형과 EBS 볼륨 유형에 달려 있습니다.
    • 읽기를 확장하고 실행하고자 한다면
      읽기 전용 복제본을 추가해야 합니다.
    • RDS는 스토리지 오토 스케일링을 지원합니다.
  • 비용
    • 공급된 EC2 인스턴스 유형과 EBS 볼륨에 따라서 시간 단위로 비용을 지불합니다.

Aurora

Aurora

  • PostgreSQL 및 MySQL과 호환하는 API를 갖춘 데이터베이스
  • 데이터는 세 가용 영역에 걸쳐 여섯 부가 복제됩니다.
  • 자동 복구 능력이 있습니다.
  • 별다른 설치 없이 다중 AZ와 읽기 전용 복제본을 위한 오토 스케일링이 가능합니다.
  • 읽기 전용 복제본과 데이터베이스는 전 세계 대상입니다.
  • 재해 복구나 지연 시간에 대비해 오로라 글로벌 데이터베이스를 사용할 수 있습니다.
  • 스토리지는 10GB부터 128TB까지 오토 스케일링이 가능합니다.
  • 프로비저닝을 사전에 해 둘 필요가 없습니다.
  • 오로라 인스턴스를 위한 EC2 인스턴스 유형이 있으며
    가지고 있는 EC2 인스턴스 유형이 다르면
    사용자 지정 엔드 포인트를 정해야 합니다.
  • 오로라 서버리스
    • 워크로드가 예측 불가능하며 간헐적인 경우에 사용합니다.
  • 오로라 다중 마스터
    • 한 번에 여러 오로라 인스턴스에 쓰기를 진행하며 장애 조치가 계속 작동하길 바란다면 사용합니다.
  • 사용 :
    • RDS와 같습니다.
    • 데이터베이스 성능은 더 좋아서 유지 관리에 손이 덜 가면서 훨씬 유연하고 성능이 뛰어난 걸 찾는다면 딱입니다.

Aurora for Solutions Architect

  • 작업
    • 훨씬 적고 스토리지에는 오토 스케일링을 지원합니다.
    • 읽기나 EC2 인스턴스 확장 EBS 복구로 인해 수동 개입이 필요할 수도 있습니다.
  • 보안
    • 운영체제 보안은 AWS가 책임지지만 우리도 책임질 부분이 있어요.
    • 데이터베이스 암호화와 보안 그룹 IAM 정책, 데이터베이스에서 사용자 접근 권한 허용하기 전송 중 암호화 등의 사항입니다.
  • 신뢰성
    • 다중 AZ 기능이 자동으로 실행합니다.
    • 각 데이터 복제본 여섯 부를 갖춘 분산 스토리지 계층 덕분에 RDS보다 높을 것입니다.
    • 한 리전에 RDS 데이터베이스 복제본을 최대 15개까지 만들 수 있습니다.
  • 성능
    • 아키텍처 최적화 덕에 RDS 데이터베이스 성능이 다섯 배 정도 좋다고 합니다.
  • 비용
    • 백엔드에서 공급된 EC2 인스턴스의 유형과 스토리지 사용량에 근거해 시간당 지불합니다.
    • Oracle 등 유사한 수준의 기업급 데이터베이스와 비교했을 때 비용이 적게 들 수도 있습니다.

ElastiCache

  • 관리형 Redis / Memcached입니다.
    • RDS가 작동하는 방식으로 일래스티 캐시도 작동합니다.
  • 캐시는 성능이 굉장히 좋은 인 메모리 데이터 스토어라고 기억해 두세요.
  • EC2 인스턴스 유형을 공급해야 합니다.
  • 클러스터링을 지원하므로 RDS에서처럼 다중 AZ와 읽기 전용 복제본으로 불립니다.
  • 샤딩 (sharding)
    • 읽기 전용 복제본은 클러스터링을 통해 제공됩니다.
  • IAM과 보안 그룹, KMS를 이용해 보안을 유지합니다.
  • 데이터베이스에 IAM 인증은 없지만 레디스에 요청하면 레디스 AUTH를 사용할 수 있습니다.
  • 백업이나 스냅샷 지정 시간 복구 기능이 있습니다.
  • 유지 관리 작업 처리와 예약이 가능합니다.
  • 모니터링은 CloudWatch로 수행합니다.
  • 사용 :
    • 인 메모리 키-값 스토어라서 일래스티 캐시가 이용되는 곳은 아주 다릅니다.
    • 읽기는 자주 하는데 쓰기는 별로 안 한다면 키-값 스토어로 사용하면 됩니다.
    • 쿼리에 대한 데이터베이스 결과를 캐시에 저장할 수도 있습니다.
      • 쓰기 모드 패턴
    • 웹사이트의 세션 데이터를 저장해야 하는 경우도 있습니다.

ElastiCache for Solutions Architect

  • 작업
    • 장애 조치나 유지 관리 작업을 실행할 때 아주 작은 다운타임이 발생합니다.
    • 읽기나 EC2 인스턴스 확장 EBS 복구로 인해 수동 개입이 필요할 수도 있습니다.
  • 보안
    • AWS가 OS 보안과 EC2 인스턴스 보안을 책임집니다.
    • 사용자는 KMS로 보안 그룹을 올바르게 구성합니다.
    • IAM 인증을 사용하지 않습니다.
    • 대신, 레디스 AUTH 사용 가능합니다.
    • 사용자 데이터베이스 접근 권한 허용합니다.
    • SSL 암호화도 실행해야 합니다.
  • 신뢰성
    • 다중 AZ 기능이 자동으로 실행합니다.
    • 클러스터링 기능
    • 샤딩
  • 성능
    • 캐시에 안성맞춤입니다.
    • 지연 시간 1밀리초 미만인 인 메모리입니다.
    • 읽기 전용 복제본으로 샤딩이 가능해 캐시용으로 많이 찾는답니다.
  • 비용
    • 공급된 EC2 인스턴스 유형과 EBS 볼륨에 따라서 시간 단위로 비용을 지불합니다.
    • 공급한 EC2 인스턴스 유형과 스토리지 사용량에 따라서 비용이 결정됩니다.

DynamoDB

  • DynamoDB는 100% 클라우드에 기반한 AWS 독점 기술입니다.
  • 관리형 NoSQL 데이터베이스
  • 서버리스
  • 용량 프로비저닝 가능합니다.
  • 오토 스케일링이 가능합니다.
  • 온디맨드 용량 사용이 가능합니다.
  • 워크로드를 기반으로 확장하며 최적의 가격과 성능을 제공합니다.
  • ElastiCache를 대신하여 키-값 스토어를 저장할 수 있습니다.
    • 서버리스라서, 일래스티 캐시 프로비저닝 및 유지 관리를 걱정할 필요가 없습니다.
  • 고가용성
  • 다중 AZ (기본값)
  • 읽기와 쓰기 기능이 분리돼 읽기 및 쓰기 용량 단위를 공급할 수 있습니다.
  • 캐싱 기술이 필요한 경우 클릭 한 번이면 DAX를 활성화해서
    DAX가 DynamoDB의 가속 클러스터로 작용하고 읽기 캐시를 제공합니다.
  • 최종적 일관된 읽기 모드강력한 일관된 읽기 모드가 존재합니다.
    • 오래된 데이터까지 포함해 모든 데이터를 승인할지
      아니면 항상 최신 데이터만 승인할지 선택하는 겁니다
  • 보안과 인증, 권한 부여는 모두 IAM을 통해 이루어집니다.
  • AWS Lambda와 통합하려면 DynamoDB Stream을 사용합니다.
  • 백업 및 복구 기능이 있습니다.
  • 글로벌 테이블까지 사용할 수 있어 아주 유용합니다.
  • CloudWatch와 통합해 모니터링을 수행합니다.
  • 단점은 :
    • 기본 키와 정렬 키, 인덱스에서만 쿼리가 가능하다는 겁니다.
  • 사용 :
    • 서버리스 애플리케이션 개발 시
      실제 열이 400KB보다 작고 분산 서버리스 캐시가 필요한 경우
    • SQL 쿼리는 불가능해요.
    • 2018년 11월 기준으로 트랜잭션 기능이 생겼습니다.

DynamoDB for Solutions Architect

  • 작업
    • 아무것도 할 필요가 없습니다.
    • 오토 스케일링이나 온디맨드를 활성화하면
      서버리스이기 때문에 서버 관리를 따로 안 해도 돼요
  • 보안
    • IAM 정책을 통해 모두 이루어집니다.
    • KMS 저장 데이터 암호화를 활성화합니다.
    • 전송 중 SSL을 얻을 수 있습니다.
  • 신뢰성
    • 다중 AZ 기능
    • 백업이 가능
  • 성능
    • 아주 훌륭한 편에 속하므로 캐시로 사용하는 것도 가능합니다.
    • 지연 시간 한 자릿수 밀리초 범위
    • 실제 캐시를 활성화하려면 DAX를 사용하면 됩니다
    • 애플리케이션이 확장하더라도 성능은 저하되지 않습니다.
  • 비용
    • 프로비저닝 용량과 스토리지 사용량에 따라 청구됩니다.
    • 오토 스케일링을 사용하면 미리 용량을 계산할 필요가 없습니다.

S3

  • 키-값 스토어 객체
  • 대형 객체에 적합하고, 소형 객체에 좋지 않습니다.
  • 서버리스
  • 무한한 확장
  • 최대 객체 크기는 5TB
  • 강력한 일관성
  • 티어
    • S3 Standard
    • S3 IA
    • S3 One Zone IA
    • Glacier for backups
  • 특징
    • 버전 관리
    • 암호화
    • 리전 간 복제
    • 등등...
  • 보안
    • IAM
    • 버킷 정책
    • Access Control List
  • 암호화
    • SSE-S3, SSE-KMS, SSE-C, client side encryption, SSL in transit

S3 for Solutions Architect

  • 작업
    • 아무것도 할 필요가 없습니다.
  • 보안
    • 사용자에게 달려 있습니다.
    • IAM 정책과 버킷 정책 그리고 ACL을 올바로 정의해야 합니다.
    • 서버와 클라이언트 요구 사항에 따라 암호화도 확실히 해야 합니다.
    • 전송 중 암호화에는 SSL을 사용해야 합니다.
  • 신뢰성
    • 99.999999999% 내구성
    • 99.99% 가용성
    • Multi AZ
    • 교차 리전 복제
  • 성능
    • 초당 수천 번의 읽기와 쓰기로 확장 가능합니다.
    • CloudFront를 통해 전송 가속할 수 있습니다.
    • 큰 파일은 멀티 파트를 사용해서 안전하게 S3에 넣을 수 있습니다.
  • 비용
    • 스토리지는 사용량만큼 지불합니다.
    • 스토리지 프로비저닝을 생각할 필요가 없습니다.
    • 네트워크 사용 비용인 데이터 전송 및 회수 시의 대역폭만큼 청구됩니다.
    • S3에 많은 요청을 보내면 그에 대해서도 과금됩니다.

Athena

  • SQL 완전 서버리스 데이터베이스
  • S3로 쿼리합니다.
  • 쿼리당 지불합니다.
  • 결과를 S3로 보냅니다.
  • IAM으로 보안을 합니다.
  • 사용 :
    • 탐색 작업
    • S3에서의 서버리스 쿼리
    • 로그 분석
      • S3 로그 및 ELB 로그, VPC 플로우 로그 등을 분석할 수 있어요

Athena for Solutions Architect

  • 작업
    • 아무것도 할 필요가 없습니다.
  • 보안
    • IAM + S3 보안
  • 신뢰성
    • 관리형 서비스
    • 프레스토 엔진 (고성능)
    • 높은 가용성
  • 성능
    • 쿼리는 데이터 크기에 따라 스케일링되므로 커다란 데이터를 분석할 수 있습니다.
    • Athena가 그것을 분석합니다.
  • 비용
    • 스캔된 데이터의 테라바이트 당 쿼리마다 비용을 지불합니다.
    • 즉, 실제 사용한 만큼만 과금되는 서버리스 서비스인 겁니다.

Redshift

  • Redshift은 PostgreSQL을 기반으로 작동하지만,
    OLTP, 즉, 온라인 트랜잭션 처리에는 사용되지 않습니다.
  • 따라서 OLAP, 온라인 분석 처리라고 할 수 있습니다.
  • 다른 데이터 웨어하우스에 비해서 열 배는 더 성능이 좋습니다.
  • 데이터베이스의 일부로서 데이터를 페타바이트 크기까지 확장이 가능합니다.
  • 열 형식 스토리지 데이터라고 합니다.
  • 대량 병렬 쿼리 실행 엔진인 MPP 덕분입니다.
  • 사용한 만큼 과금됩니다
  • 인스턴스 종류에 따라서 Redshift 클러스터의 일부로 프로비저닝합니다.
  • 또 쿼리를 수행하는 SQL 인터페이스가 있습니다.
  • AWS Quicksight 또는 Tableau 같은 BI 도구와 통합될 수 있습니다.
  • Amazon S3에서 복사 명령으로 할 수 있습니다.
  • DynamoDB 및 DMS 등의 데이터베이스에서도 가능합니다.
  • Redshift의 클러스터 내에서 노드당 최대 128 컴퓨트 노드를 얻고
  • 또한 노드당 최대 128TB의 공간을 얻습니다.
  • 두 가지 노드 :
    • Leader node
      • 쿼리 계획 및 쿼리 결과 집계에 사용됩니다.
    • Compute node
      • 쿼리를 수행하고 결과를 리더로 돌려보내는 역할을 합니다.
  • Redshift Spectrum
    • Amazon S3에 대해서 직접 쿼리를 수행할 때 사용됩니다.
    • Redshift 클러스터에 처음부터 데이터를 불러올 필요가 없을 때 쓰입니다.
  • 백업과 복구 기능이 있습니다.
  • 보안 관련해서는 Redshift 클러스터
    VPC에 배포되고, IAM을 보안 및 Redshift 레벨의
    API에 사용하며 또 KMS도 가능합니다.
  • 데이터베이스 모니터링도 합니다.
  • 데이터를 복사하여 VPC를 통해서 직접 Redshift에 옮길 수 있습니다.
  • Redshift 향상된 VPC 라우팅
    • 복사 명령과 불러오기 취소 명령이 공용 인터넷 대신 S3를 통과하여 직접 VPC로 전달되는 겁니다.

Redshift의 스냅샷과 재해 복구

  • Redshift는 다중 AZ가 없습니다.
  • 스냅샷은 클러스터에서 특정 기간의 백업인데 Amazon S3에 내부적으로 저장됩니다.
  • 변경 사항만 저장해서 증가시킬 수 있고 당연히 저장 공간은 아주 큽니다.
  • 새 Redshift 클러스터에 스냅샷을 복원할 수 있습니다.
  • 자동화
    • 8시간마다
    • 예약된 작업의 5GB마다
      스냅샷이 이루어집니다.
  • 수동 스냅샷
    • 수동으로 삭제할 때까지 스냅샷이 보존됩니다.

스냅샷 설정이 수동이든 자동이든 관계없이
클러스터의 스냅샷을 자동으로 복사하여
AWS 리전으로 보냄으로써
재해 복구 전략을 제공한다는 것입니다.


Redshift로 데이터 로딩


Redshift Spectrum

  • 이미 S3에 있는 데이터를 로드하지 않고 쿼리합니다.
  • 쿼리를 시작하려면 사용 가능한 Redshift 클러스터가 있어야 합니다.
  • 그런 다음 쿼리는 수천 개의 Redshift Spectrum 노드에 제출됩니다.

Redshift for Solutions Architect

  • 작업
    • 장애 조치나 유지 관리 작업을 실행할 때 아주 작은 다운타임이 발생합니다.
    • 읽기나 EC2 인스턴스 확장 EBS 복구로 인해 수동 개입이 필요할 수도 있습니다.
  • 보안
    • AWS가 OS 보안과 EC2 인스턴스 보안을 책임집니다.
    • 사용자는 KMS로 보안 그룹을 올바르게 구성합니다.
    • IAM 정책도 올바르게 설정합니다.
    • 사용자 데이터베이스 접근 권한 허용합니다.
    • SSL 암호화도 실행해야 합니다.
  • 신뢰성
    • 자동 복구 기능
    • 교차 리전 간 스냅샷의 자동 복제 기능
  • 성능
    • 다른 비슷한 데이터 웨어하우징 솔루션 및 압축에 비교하여 10배에 달합니다.
  • 비용
    • 프로비저닝된 노드당 비용이 청구됩니다.
    • 다른 데이터 웨어하우스의 10분의 1에 해당하는 요금입니다.
  • Redshift를 Athena와 비교
    • Redshift
      • 더 빠른 쿼리가 가능하고
      • 더 많은 데이터를 결합할 수 있고
      • 더 빠른 집계를 할 수 있습니다
      • Redshift에서는 인덱스를 정의할 수 있기 때문이죠
    • 시험에서 고성능 분석 또는 비즈니스 인텔리전스 데이터 웨어하우스 솔루션?
      • Redshift

AWS Glue

  • Glue는 관리형이며 추출, 변형, 로드를 하는 AWS의 ETL 서비스입니다.
  • 분석을 위해 데이터를 준비하고 변환하는데 매우 유용합니다.
  • 완전 서버리스 서비스
  • 완전 관리형
  • 데이터에 대해 직접적으로 더 분석적인 쿼리를 할 수 있습니다.

Glue 데이터 카탈로그


Neptune

  • 완전 관리형 그래프 데이터베이스
  • 언제 사용 ?
    • 관계성 높은 데이터를 사용하는 경우
    • 소셜 네트워크의 사용자 서로 친구, 게시글 답장 좋아요
    • Wikipedia
  • Neptune은 AWS의 다른 데이터베이스처럼 3개의 AZ에 걸쳐 가용성이 높고 최대 15개 읽기 복제를 가집니다.
  • 특정 시간 복구 및 S3에 지속적인 백업이 가능합니다.
  • KMS 암호화와 HTTPS를 지원합니다.

Neptune for Solutions Architect

  • 작업
    • 장애 조치나 유지 관리 작업을 실행할 때 아주 작은 다운타임이 발생합니다.
    • 읽기나 EC2 인스턴스 확장 EBS 복구로 인해 수동 개입이 필요할 수도 있습니다.
    • RDS와 비슷합니다.
  • 보안
    • IAM, VPC, KMS, SSL (RDS와 비슷합니다.) + IAM 인증
  • 신뢰성
    • 다중 AZ
    • 클러스터링
  • 성능
    • 그래프 데이터를 저장 시 가장 높습니다.
  • 비용
    • 프로비저닝된 노드당 비용이 청구됩니다.
    • RDS와 비슷합니다.

Amazon OpenSearch Service

  • Elasticsearch라는 AWS 서비스의 후속 서비스인데요.
  • 예를 들어, DynamoDB에서는 여러분의 기본 키 혹은 인덱스의 일부만 일치하더라도 모든 필드를 검색 할 수 있습니다.
  • 다른 데이터베이스를 보완하기 위해 많이들 사용합니다.
  • OpenSearch 클러스터에 여러 서버를 가동할 수 있습니다.
  • 내장 통합서비스
    • Amazon Kinesis Data Firehose, AWS IoT, Amazon CloudWatch Logs를 통한 데이터 수집 등 서비스가 자체 지원됩니다.
  • 보안
    • KMS 암호화, SSLVPC를 통해 제공됩니다.
  • OpenSearch Dashboards
    • 시각화빌드

Amazon OpenSearch for Solutions Architect

  • 작업

    • 장애 조치나 유지 관리 작업을 실행할 때 아주 작은 다운타임이 발생합니다.
    • 읽기나 EC2 인스턴스 확장 EBS 복구로 인해 수동 개입이 필요할 수도 있습니다.
    • RDS와 비슷합니다.
  • 보안

    • Cognito, IAM, VPC, KMS, SSL
  • 신뢰성

    • 다중 AZ
    • 클러스터링
  • 성능

    • ElasticSearch 프로젝트 기반, 페타바이트 스케일
  • 비용

    • 프로비저닝된 노드당 비용이 청구됩니다.
    • RDS와 비슷합니다.

From
AWS Certified Solutions Architect Associate 시험합격!

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

0개의 댓글