3. v• 완전 관리형 관계형 데이터베이스 서비스
• Aurora, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server
• 인스턴스 및 스토리지 확장성
• Multi-AZ 기능을 통한 고가용성 구성
• 스냅샷(Snapshot)을 통한 백업/복구 구성
• 읽기 복제(Read Replica)를 통한 확장성
Amazon
RDS
Aurora
RDS 서비스 개요
4. vv
Amazon Aurora 개요
• Amazon Aurora는 MySQL 호환 관계형 데이터베이스 엔진
• Aurora는 상용 데이터베이스의 10분의 1 가격으로 MySQL보다 최고 5배
뛰어난 성능을 제공
• 3 가용영역에 거쳐 6개의 복제를 저장하여 고가용성 제공
• Amazon S3에 지속적으로 데이터를 백업
• 지역 내 15개 Amazon Aurora Replicas
• 10GB에서 64TB까지 스토리지 자동 증가
• 지역 : Virginia, Oregon, Ireland 및 Tokyo
5. vv
Amazon Aurora 개요
• 서비스 중심 아키텍처의 적용
• 로깅 및 스토리지 레이어에, 멀티-
티넌트, 스케일-아웃,
데이터베이스 최적화된 스토리지
서비스 적용
• 내부 운영을 위하여 EC2, VPC,
DynamoDB, SWF, Route 53 등
AWS 기존 서비스 활용
• 연속 백업을 위하여 Amazon S3
통합
Logging
+
Storage
SQL
Transactions
Caching
Control
PlaneData
Plane
Amazon S3
DynamoDB
Amazon SWF
Amazon Route 53
6. vv
Amazon Aurora의 스토리지
• 기본 고가용성
• 3가용영역에 6-way 복제
• 4 / 6 쓰기, 3 / 6 읽기 쿼럼
• S3 저장소에 연속 백업
• SSD, 스케일-아웃, 멀티-
테넌트 스토리지
• 연속적 스토리지 확장
• 최대 64TB 크기
• 사용한만큼만 지불
• 로그-구조 기반 스토리지
SQL
Transactions
AZ
1 AZ
2 AZ
3
Caching
Amazon S3
7. vv
Amazon Aurora Replica의 읽기 복제
MySQL 읽기 확장
• 복제는 반드시 로그를 재생
• 복제는 마스터에 추가적인 부하
• 복제 지연의 증가
• 페일오버 시 데이터 유실 발생 가능
Page
cache
invalidation
Aurora Master
30%
Read
70%
Write
Aurora
Replica
100%
New
Reads
Shared
Multi-‐AZ
Storage
MySQL Master
30%
Read
70%
Write
MySQL
Replica
30%
New
Reads
70%
Write
Single
threaded
binlog
apply
Data
Volume Data
Volume
Amazon Aurora 읽기 확장
• 로그 재생 없음
• 마스터 부하 최소, 최대 15개 복제
• ~100 ms 복제 지연
• 동일 스토리지를 공유하여 페일오버
시 데이터 유실 없음
9. vv
2. RDS MySQL
• Multi-AZ 기능
• 동기적 복제
• 자동 페일-오버
MySQL 고가용성 구성 비교
Availability
Zone
Master
(EC2
+
EBS)
Availability
Zone
Slave
(EC2
+
EBS)
Replication
1. MySQL on EC2/EBS
• EC2 + EBS 직접 설치
• MySQL Replication 기반
Availability
Zone
RDS
Master
MySQL
Availability
Zone
RDS
Standby
MySQL
Multi-‐AZ
/w
Syncronoous
Replication
Availability
Zone
RDS
Master
Aurora
Availability
Zone
RDS
Standby
Aurora
3. RDS Aurora
• 고가용성 스토리지 서비스
• 자동 페일-오버
• 빠른 크래시 복구
Multi-‐AZ
/w
Aurora
Replica
10. vv
Multi-AZ 배포를 통한 고가용성
Enterprise-grade fault tolerance solution for production databases
11. vv
Multi-AZ 배포 시 페일오버 프로세스
• Planned 또는 unplanned 다운타임 발생 시,
• 단일 가용 영역 장애
• 프라이머리 DB 인스턴스 장애
• DB 인스턴스 타입 변경
• DB 인스턴스의 소프트웨어 패치
• ‘Reboot with failover’를 통한 수동 페일오버
• 다른 가용 영역의 Standby 인스턴스 자동으로 승격
• 일반적으로 60-120초 시간 이내 완료. (대규모 트랜잭션 및 복구
프로세스 시간에 따라 증가할 수 있음)
12. vv
Multi-AZ 배포 시 페일오버 프로세스
• DB 인스턴스 엔드포인트 유지하며, DNS 레코드 업데이트
• Java DNS 캐싱에 따라 구성 변경 필요할 수 있음
• http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-jvm-
ttl.html
• JVM 사용 모든 어플리케이션 글로벌 적용
• Set networkaddress.cache.ttl in the$JAVA_HOME/jre/lib/security/java.security file:
• networkaddress.cache.ttl=60
• 단일 어플리케이션 적용
• set networkaddress.cache.ttl in your application’s initialization code:
• java.security.Security.setProperty("networkaddress.cache.ttl" , "60");
• 클라이언트는 접속 재설정(re-establish) 필요
17. vv
Amazon Aurora의 인스턴스 자동 페일-오버
읽기 복제 있는 경우
• 기존 복제를 새 기본 인스턴스로 승격
• DB 클러스터 엔드포인트 유지하며, 신규 기본
인스턴스로 DNS 레코드 변경
• 일반적으로 1분 이내에 완료
AZ
1
Primary
instance
Replica
instance
Replica
instance
Replica
instance
Shared
Multi-‐AZ
Storage
Automatic
Failover
to
Replica
Instance
AZ
1
Primary
instance
Primary
instance
Shared
Multi-‐AZ
Storage
Create
new
primary
Instance
Aurora Replica가 있는 경우 Aurora Replica가 없는 경우
읽기 복제 없는 경우
• 동일 가용 영역에 새 DB 인스턴스 생성 시도
• 생성 불가 시 다른 가용 영역에 신규 DB
인스턴스 생성 시도
• 일반적으로 15분 이내에 완료
AZ
3AZ
2AZ
3AZ
2
Primary
instance
19. v기존 데이터베이스
• 최종 체크포인트 이후 로그 재생 필요
• MySQL은 싱글-쓰레드 동작 및 다량의
디스크 억세스 필요
Amazon Aurora
• 스토리지 수준에서 읽기 시 온-디맨드
형태로 Redo 레코드 재생
• 병렬, 분산, 비동기
Checkpointed
Data Redo
Log
Crash
at
T0 requires
a
re-‐application
of
the
SQL
in
the
redo
log
since
last
checkpoint
T0 T0
Crash
at
T0 will
result
in
redo
logs
being
applied
to
each
segment
on
demand,
in
parallel,
asynchronously
신속한 크래시 복구
27. vv
1. MySQL on EC2/EBS
• EBS Snapshot 기반
• 또는 백업 서버 구성
2. RDS MySQL
• RDS 스냅샷 (자동/수동)
• Point-in-Time 복구
Availability
Zone
Master
(EC2
+
EBS)
Availability
Zone
Slave
(EC2
+
EBS)
Replication
Availability
Zone
RDS
Master
MySQL
Availability
Zone
RDS
Standby
MySQL
Multi-‐AZ
/w
Syncronoous
Replication
Availability
Zone
RDS
Master
Aurora
Availability
Zone
RDS
Standby
Aurora
3. RDS Aurora
• RDS 스냅샷 (자동/수동)
• Point-in-Time 복구
Multi-‐AZ
/w
Aurora
Replica
MySQL 백업/복구 구성 비교
EBS
snapshot
RDS
snapshots
RDS
snapshots
Backup
(EC2
+
EBS)
32. vv
Amazon RDS의 스토리지 백업 및 복구
자동 백업(Automated Backup)
• RDS는 백업을 자동으로 생성
• 신규 DB 인스턴스에 자동으로 활성화
• 백업 보관 기간(Backup Retention
Period) 동안 데이터 보관 (1~35일)
• 연속 및 증분 백업
• 백업 중 성능 영향 없음
스냅샷 (DB Snapshots)
• 사용자가 생성한 백업
• 원하는 주기로 백업
• 백업 보관 기간 이상 보관
• 어느 시점으로도 복구 가능
33. vv
Amazon RDS의 스토리지 백업 및 복구
복구 (Restore)
• 백업 또는 스냅샷으로부터 신규
Aurora DB 클러스터 생성
• 백업 보관 주기 내 어느 시점으로든
복구
• Latest Restorable Time : 보통 5분 이내
• Earliest Restorable Time : 백업 보관 주기
• Aurora Backup은 연속, 증분 백업으로
복구 시간 향상을 위해 빈번한 스냅샷
생성을 할 필요 없음
50. vv
3. RDS Aurora
• Aurora Replica 생성
• 낮은 복제 지연
• 최대 15개
2. RDS MySQL
• MySQL Replica 생성
• Cross-region Replica 지원
• 최대 5개
1. MySQL on EC2/EBS
• MySQL Replication 기반
MySQL 확장성 구성 비교
Availability
Zone
Master
(EC2
+
EBS)
Availability
Zone
Replica
(EC2
+
EBS)
Replication
Availability
Zone
RDS
Primary
MySQL
Availability
Zone
RDS
REplica
MySQL
Ayncronoous
Replication
Availability
Zone
RDS
Primary
Aurora
Availability
Zone
RDS
Replica
Aurora
Aurora
Replica
51. vv
Amazon Aurora Replica의 읽기 복제
MySQL 읽기 확장
• 복제는 반드시 로그를 재생
• 복제는 마스터에 추가적인 부하
• 복제 지연의 증가
• 페일오버 시 데이터 유실 발생 가능
Page
cache
invalidation
Aurora Master
30%
Read
70%
Write
Aurora
Replica
100%
New
Reads
Shared
Multi-‐AZ
Storage
MySQL Master
30%
Read
70%
Write
MySQL
Replica
30%
New
Reads
70%
Write
Single
threaded
binlog
apply
Data
Volume Data
Volume
Amazon Aurora 읽기 확장
• 로그 재생 없음
• 마스터 부하 최소, 최대 15개 복제
• ~100 ms 복제 지연
• 동일 스토리지를 공유하여 페일오버
시 데이터 유실 없음
52. vv
• 초당 13,800 회 업데이트 발생 시 Aurora Replica는 7.27 밀리 초 지연
• 동일 사양의 MySQL 5.6 은 초당 2,000 회 업데이트 발생 시 ~2초 지연
Read Replica 지연 (console screenshot)
53. vv
Aurora 엔드포인트
• 클러스터 엔드포인트
• 언제나 DB 클러스터의 프라이머리 인스턴스에 접속
• 읽기와 쓰기 모두 수행
• 프라이머리 인스턴스 페일오버 시 새로운 프라이머리 인스턴스 지정
• e.g.) Cluster Endpoint: auroraha.cluster-cnehurulmovt.us-east-
1.rds.amazonaws.com:3306
• 인스턴스 엔드포인트
• DB 클러스터 내 각 인스턴스(프라이머리 또는 읽기 전용)에 접속
• 인스턴스 역할에 따라 읽기 또는 쓰기 수행
• e.g.) Endpoint: auroraha.cnehurulmovt.us-east-1.rds.amazonaws.com
55. MySQL 커뮤니티를 위한 880달러 선물!
http://bit.ly/awskr-feedback
AWS Activate 패키지
100달러 무료 크레딧 + 80 달러 Qwiklab Credit
600달러 온라인 강좌 수강권+ 100달러 1개월 비지니스 서포트
등록하시면 패키지를 받으실 수 있는 URL을 이메일로 보내드립니다!