2023. 12. 14. 16:03ㆍ클라우드/AWS
12월 AWS Enablement (12/14)
AWS Database
Database 관련 서비스 소개 및 RDS 구성 실습
데이터 트렌드에 따른 혁신 가속화
데이터의 폭발적 증가 |
마이크로 서비스로 인한 데이터와 분석 요구사항 변화 |
빠른 변화 속도 |
5년마다 10배 증가하는 데이터 | 용도에 맞게 구축된 데이터베이스를 사용하여 성능 최적화 및 비용 절감 |
DevOps 도입으로 혁신 가속화 |
최신 애플리케이션 요구사항
더 높은 성능, 확장성 및 가용성 필요
사용자 | 100만+ |
Data 볼륨 | TB~PB |
지역성 | Global |
성능 | Microsecond latency |
요청 속도 | 초당 수백만 |
액세스 | Mobile, IoT, devices |
크기 조정 | 사실상 무제한 |
경제성 | 종량 과금 |
개발자 액세스 | Instance API 액세스 |
개발 | 분리된 앱과 스토리지 |
Monolithic Application 대신
목적에 맞는 도구로 Microservice를 구축하세요.
기존 상용 Database 서비스
기존 상용 Database에 Lock-in되어 유연한 Database 사용이 어려움
비싼 가격 |
관리의 어려움 |
징벌적 라이센스 |
잦은 감사 (Audit) |
자체 관리 Database 및 분석 서비스의 어려움
- Complex
- Tiime Consuming
- Expensive
- 하드웨어 및 소프트웨어 설치, 구성 패치, 백업
- 성능 및 고가용성 문제
- 컴퓨터 및 스토리지를 위한 용량 계획, 클러스터 확장
- 보안 및 규정 준수
AWS의 완전 관리형 Database 서비스
획일적인 관리 업무의 부담 감소
자체 관리형 | 완전 관리형 | ||
You | 스키마 설계 | You | 스키마 설계 |
쿼리 생성 | 쿼리 생성 | ||
쿼리 최적화 | 쿼리 최적화 | ||
자동 fall-over | AWS | 자동 fall-over | |
Backup & 복구 | Backup & 복구 | ||
격리 & 보안 | 격리 & 보안 | ||
업계 규정 준수 | 업계 규정 준수 | ||
즉각적인 Scaling | 즉각적인 Scaling | ||
자동 패치 | 자동 패치 | ||
고급 모니터링 | 고급 모니터링 | ||
정기정인 유지관리 | 정기정인 유지관리 | ||
모범사례 제공 | 모범사례 제공 |
AWS 데이터베이스 서비스
Relational | 참조 무결성 ACID 트랜잭션 Schema-on-write |
Aurora, RDS |
Key-value | 높은 처리량 짧은 응답시간 끝없는 규모 |
DynamoDB |
Document | MongoDB 호환 JSON 데이터를 쉽게 저장 쿼리 및 인덱싱 |
DocumentDB |
In-memory | 1밀리 초 미만의 응답시간 | ElastiCache |
Graph | 상호연결성이 높은 데이터 세트를 효율적으로 탐색 | Neptune |
Time-series | 시간 순으로 데이터를 수집, 저장 및 처리 | Timestream |
Ledger | 투명하고, 변경 불가능하며, 암호화 방식으로 검증 가능한 트랜잭션 로그 | QLDB |
Wide Column | 확장 가능하고 가용성이 높으며 관리되는 Apache Cassandra 호환 서비스 | Keyspaces Managed Cassandra |
Amazon RDS
가장 선호하는 6가지 DB엔진을 갖춘 관계형 Database
관리 용이성 | 가용성 및 내구성 | 뛰어난 확장성 | 빠른 성능과 보안 |
하드웨어 준비, 소프트웨어 설치 등의 관리 작업 불필요 |
다중 AZ를 통한 동기식 복제, 스냅샷, 자동화된 백업, 장애 조치 |
몇 번의 클릭만으로도 다운타임 없이 컴퓨팅 및 스토리지 확장 |
SSD 스토리지 및 성능 향상된 I/O보장 저장 및 전송 중 암호화 지원 |
Amazon RDS - Managed DB 이점
고객 관리형 |
앱 최적화 | 앱 최적화 | 앱 최적화 | AWS 관리형 |
데이터베이스 백업 | 데이터베이스 백업 | 데이터베이스 백업 | ||
고가용성 | 고가용성 | 고가용성 | ||
규모 조정 | 규모 조정 | 규모 조정 | ||
DB 소프트웨어 패치 | DB 소프트웨어 패치 | DB 소프트웨어 패치 | ||
DB 소프트웨어 설치 | DB 소프트웨어 설치 | DB 소프트웨어 설치 | ||
OS 패치 | OS 패치 | OS 패치 | ||
OS 설치 | OS 설치 | OS 설치 | ||
서버 유지 관리 | 서버 유지 관리 | 서버 유지 관리 | ||
랙 앤 스택 | 랙 앤 스택 | 랙 앤 스택 | ||
전력, HVAC, 넷 | 전력, HVAC, 넷 | 전력, HVAC, 넷 | ||
DB on On-Premise | DB on EC2 | Amazon RDS |
Amazon RDS - 운영 편의성 및 뛰어난 확장성
- 상면, 서버, 네트워크, OS 설치, DB 설치 등의 모든 작업 없이 AWS Console에서 몇 분 만에 필요한 Database 구성
- 다양한 CPU/메모리 옵션을 가진 DB 인스턴스 제공
- 워크로드에 맞게 DB 인스턴스 사이즈 변경 가능
- 범용 SSD (gp2/gp3)
대부분의 워크로드 - 프로비저닝된 IOPS SSD
일관된 IOPS 성능 - Storage Autoscaling
사용량에 따라 자동 증가
Amazon RDS - 고가용성 및 내구성
- Multi-AZ 배포
다른 AZ에 Standby DB 인스턴스를 운영하여 단일 위치 장애로부터 Application 보호- 동기식 복제
- 자동 Failover (1-2분 이내)
- Primary 안정성을 위해 Standby Replica에 백업, 패치, 시스템 업그레이드 먼저 수행
- 한 번의 클릭으로 생성 (운영 중 수행 또한 가능)
- 읽기 전용 복제본
읽기 트래픽을 분담하여 Primary DB 인스턴스의 워크로드 부하 완화
- 비동기식 복제
- 다른 AZ, 다른 Region에 생성 가능
- 장애 발생시 빠른 복구를 위해 읽기 전용 복제본을 Primary로 승격
- MariaDB, SQL Server, MySQL, PostgreSQL 및 Oracle 지원
Amazon RDS - 다중 배포 및 복제본
다중 AZ 배포 | 읽기 전용 복제본 |
|
|
Amazon RDS - 데이터베이스 백업
- DB 인스턴스 특정 시점 복구(PITR)를 위한 자동 백업
- 매일 backup window 시간에 RDS가 인스턴스의 스토리지 볼륨 스냅샷을 생성
- 5분 마다 데이터베이스의 트랜잭션 로그를 백업
- 마지막 Snapshot이후 변경점만 저장하는 증분식 백업
- KMS를 사용한 Snapshot 암호화 지원
Amazon RDS - AWS 서비스와 통합
Built-In된 모니터링, 알림, 보안 제공
Monitoring | Alarm | Security |
|
|
|
Amazon RDS - Perfomance Insights
성능 문제를 분석하여 해결하기 위한 Database 성능 정보 표시
로드를 유발하는 SQL문과 이유 파악
- CPU, IO, Locks
부하 필터링 기준
- 대기 시간, SQL 문, Host 또는 User
적용 가능한 Time frame 단위
- 시간, 일, 주 혹은 그 이상
모든 RDS DB 엔진에 사용 가능
Amazon Aurora
클라우드용으로 구축된 MySQL 및 PostgreSQL 호환 관계형 Database
완전 관리형 | 성능 & 확장성 | 가용성 & 내구성 | 보안 |
RDS에서 관리 : 서버 프로비저닝, 소프트웨어 패치, 설정, 백업 등 자동 관리 |
표준 MySQL의 5배 처리량 표준 PostgreSQL의 3배 최대 15개의 읽기 전용 복제본 확장 |
내결함성, 자가 복구 스토리지, 3개의 AZ에 걸쳐 6개의 데이터 복사본을 S3에 지속적 백업 |
네트워크 격리, 저장/전송 시 암호화 |
Amazon Aurora - Architecture
- Database용으로 설계된 Log기반의 분산형 스토리지
- Storage Volume은 3개의 AZ에 걸쳐 수백 개 이상의 Storage Node로 스트라이핑
- 총 6개의 복제본(3개의 AZ에 AZ당 2개)을 저장하여 AZ+1 장애 상황에도 데이터베이스 복구 가능
- 스토리지 공유 구조로 복제 작업 부하 감소
Amazon Aurora - 운영 편의성
최대 128TB의 스토리지 - 10GB 단위로 자동 증분
- 최대 128TB까지 자동 스토리지 확장 - 성능에 영향을 미치지 않음
- Amazon S3로의 지속적인 증분 백업
- 성능에 영향을 미치지 않고 사용자 스냅샷을 즉시 생성
- 자동 재 스트라이핑, 미러 복구, 핫 스팟 관리, 암호화
Amazon Aurora - Features
Database Backtrack | Zero Downtime 패치 | Database 복제 |
|
|
|
Amazon Aurora - Global Database
빠른 재해 복구 및 향상된 데이터 지역성
- 빠른 재해 복구를 위해 읽기 전용 복제본을 Primary로 승격
- 데이터를 고객 Application과 가장 가까운 지역에 위치
- 간편한 마이그레이션을 위해 Primary로 승격
Amazon Aurora Serverless
다양한 워크로드를 위한 On-Demand, Auto-Scaling 데이터베이스
- 필요할 때만 사용하고 사용하지 않을 때는 Shutdown
- Scale up/down 자동화
- 어플리케이션에 영향 주지 않음
- 사용한 데이터베이스 용량만큼 초당 요금 지불
- 자주 사용되지 않거나, 예측할 수 없거나, 주기적인 워크로드에 적합
Amazon Aurora Limitless Database (PREVIEW)
Managed Horizonal Scale-out Beyond The Limits Of a Single Instance
|
|
|
Amazon DynamoDB
어떤 규모에서도 빠르고 유연한 NoSQL 데이터베이스 서비스
어떤 규모에서든 높은 성능 제공
- 일관된 10ms 미만의 latency
- 사실상 무제한의 처리량으로 애플리케이션 구축
서버리스 아키텍쳐
- 하드웨어 프로비저닝
- 소프트웨어 패치 또는 업그레이드 불필요
- 자동 Scale Up/Down
- 지속적인 데이터 백업
엔터프라이즈 수준 보안
- 기본적으로 모든 데이터를 암호화하고 AWS IAM과 완벽하게 통합되어 강력한 보안을 제공
글로벌 복제
- 여러 AWS 리전에 걸쳐 테이블을 쉽게 복제하여 로컬 데이터에 빠르게 액세스할 수 있는 글로벌 애플리케이션을 구축
Amazon DynamoDB
높은 가용성 및 내구성
- 높은 내구성을 위한 설계
- 99.99% 가용성을 제공할 수 있도록 설계
- 쓰기
- 모든 Data가 SSD에 저장
- 3개의 AZ에 자동 복제
- 읽기
- 강력한 일관성
- 최종적 일관성
- Latency Trade-off 없음
Amazon DynamoDB - Global Table
최초의 완전 관리형 Multi-Master, Multi-Region
- 전 세계에 분산된 고성능 애플리케이션 구축
- 로컬에서 사용 가능한 테이블에 low-latency 읽기 및 쓰기
- Multi-Region Database를 사용하여 재해로부터 보호
- 간편한 설정, 애플리케이션 수정이 필요 없음
Amazon DynamoDB Accelerator(DAX)
High Performance
- DynamoDB를 위한 가용성이 뛰어난 완전관리형 In-memory Cache
- µs의 높은 성능 제공
- 초당 수백만 명의 사용자까지 확장 가능
- 기존 DynamoDB API와 호환
Amazon DynamoDB
높은 가용성 및 내구성
3-way REplication : 데이터는 항상 3개의 가용 영역에 복제됨
Amazon DynamoDB vs RDS
Amazon DynamoDB | Amazon RDS |
|
|
Amazon ElastiCache
관리형 Redis, Memcached와 호환되는 In-memory Caching Service
µs is the ne ms
제한 없는 확장 | 일관되게 높은 성능 | 완전관리형 |
Replica를 사용한 읽기 확장 Sharding을 통한 쓰기 및 메모리 확장 중단없이 확장 가능 |
1ms 미만의 응답 시간을 제공하는 In-memory Data Store 및 Cache |
AWS 관리형 하드웨어 및 소프트웨어 설정, Configuration, 모니터링 |
AWS 데이터베이스Migration
- Self Service
- AWS ProServe 및 Partner
- Database Freedom 프로그램
AWS DMS - Database Migration Service
관리형 데이터 마이그레이션 서비스
- 동종 및 이기종 데이터베이스 Migration 지원
- Step 1 - AWS SCT를 사용한 Schema 변경
- Step 2 - AWS DMS를 사용한 Migration
- 소스 데이터베이스의 변동 사항 지속 복제 (CDC)
- 여러 개의 소스 데이터베이스를 하나의 타겟 데이터베이스로 통합
AWS SCT - Schema Conversion Tool
간편한 Data Migration을 위한 Schema 변환
- AWS DMS와 함께 사용하여 데이터베이스 Migration
- 기존 데이터베이스 Schema 및 코드를 이기종 데이터베이스의 Schema 및 코드로 변환
- 관계형 OLTP Schema 변환 지원
- 데이터 웨어하우스(Amazon RedShift) 변환 지원
- 데이터 추출 에이전트 : 데이터 웨어하우스에서 데이터를 추출하여 Amazon RedShift로의 Migration 준비
- NoSQL 데이터베이서 변환 지원
- Apache Cassandra → Amazon DynamoDB
- Application Code의 SQL 변환
- C++, C#, Java 등 애플리케이션 코드 내 SQL을 변환
AWS 데이터베이스 서비스 - Warm Up
목적에 맞는 Database, 목적에 맞는 Tool
Lift & Shift
ERP, CRM, 재무, 예약 시스템
Enterprise/ISV Application
익숙한 DB 엔진 사용, 더 나은 성능과 가용성
→ DB 관리 부담 감소
→ 성능, 가용성, 확장성 및 보안 향상
Amazon DynamoDB 세션 저장 동시에 대량의 데이터 처리 |
Amazon DocumentDB 콘텐츠 관리, 카탈로그, Personalize MongoDB |
Amazon ElastiCache 실시간 분석, 캐싱, 세션 저장, 게임 순위표 Redis Memcached |
Amazon Keyspaces 무제한 확장성, 대용량 데이터 저장 Apache Cassandra |
Amazon Neptune 이상 탐지, 소셜 네트워크, 추천 엔진 |
Amazon Timestream IoT Application, 이벤트 추적 |
Amazon QLDB 기록 시스템, 금융, 공급망 |
'클라우드 > AWS' 카테고리의 다른 글
Web Application - Build Web Application Hands-On (0) | 2023.12.22 |
---|---|
AWS Core Services - AWS Storage (0) | 2023.12.14 |
AWS Core Services - AWS Networking & Security (0) | 2023.12.14 |
AWS Core Services - AWS Computing (0) | 2023.12.14 |
AWS Core Services - AWS Cloud Introduction (0) | 2023.12.14 |