Amazon RDS 서비스 활용하기 - 신규 기능 중심으로 (윤석찬) :: AWS 월간 웨비나
1. Amazon RDS 서비스 활용하기
- 신규 기능 중심으로
윤석찬, AWS KOREA Tech Evangelist
http://twitter.com/channyun
http://facebook.com/channyblog
http://channy.creation.net
2. 직접 운영
AWS 데이베이스 서비스
Amazon EC2
직접 설치
원하는 데이터
베이스를 선택
하여 운영
라이센스/백업
등 직접 운영
Amazon
DynamoDB
고확장성
NoSQL 서비스
손쉬운 관리 및
저렴한 비용
중단없는 확장성 및
관리 필요 없음
Amazon RDS
MySQL
Microsoft SQL Oracle
PostgreSQL
Aurora
MariaDB
매니지드서비스
라이센스/백업등
선택적 활용 가능
Amazon
Redshift
대용량 병렬 페
타바이트급 데이
터웨어 서비스
빠르고 강력한
확장성 제공
클라우드 데이터베이스 선택 사항
3. AWS 데이터베이스 서비스 지표
• AWS Database Service는 연간 10억 달
러 규모의 비지니스
• Database Service 사용량은 2015년 2분
기와 2014년 2분기를 비교해볼 때, 전년
동기 대비 127% 증가
• Amazon Aurora는 AWS 역사상 가장 빠
른 성장세를 보이고 있는 서비스로서 10
만 이상의 고객이 Amazon RDS를 이용
4. • 쉽고 빠른 구성 및 반복 적인
관리작업을 대신 수행
• 현재 고객이 사용하는 다양한
데이터베이스 옵션 제공
• 다양한 인스턴스 및 스토리지
• 쉽고 빠른 확장 및 손쉬운 고가
용성(HA) 구성
• 높은 비용 효율성
Amazon RDS: 관리형 클라우드DB 서비스
5. App optimization
Scaling
High availability
Database backups DB s/
w patches
DB s/w installs OS
patches
OS installation
Server maintenance Rack
& stack Power, HVAC, net
App optimization
Scaling
High availability
Database backups DB s/
w patches
DB s/w installs OS
patches
OS installation
Server maintenance Rack
& stack Power, HVAC, net
Scaling High
availability
Database backups DB s/
w patches
DB s/w installs OS
patches
OS installation
Server maintenance Rack
& stack Power, HVAC, net
App optimization
기존 데이터 센터
Amazon EC2
Amazon RDS
직접 수행해야 하는 작업 AWS가 제공하는 관리 기능
RDB 직접 운영 및 구축하는 경우와 비교
6. 1. 쉽고 빠르게 구성 가능
• 단 몇 분만에 서비스에 필요한
원하는 종류의 데이터베이스 구
성 (최대 40개 인스턴스)
• 상면,서버, 네트워크, OS설치 및
DB 설치 등의 모든 작업이 불필
요
• BYOL(Bring your own license)
모델 지원 (Oracle/MSSQL 10개
인스턴스)
7. 참고. 유연한 인스턴스 및 스토리지 확장
• 다양한 CPU/메모리 옵션 제공
• 트래픽에 따른 증설/감소 가능
• DB 스토리지는 필요에 따라 유연
하게 확장 가능
§ General Purpose (SSD):
대부분 워크로드
§ Provisioned IOPS (SSD):
최대 30,000 IOPS 까지
§ Magnetic:
접속이 빈번하지 않은 작은 워크로드
8. 2. 손쉬운 백업 및 복구
• 자동 백업 설정: 특정 시점으로 손쉽게 복구
ü 자동백업
ü 스냅샷
• 자동화 패치관리
§ 기본 설정옵션
§ 특정 시점으로 데이터베이스 복구 가능
§ 최대 35일까지 보관기간 선택
§ 필요시 스냅샷으로부터 DB 생성 가능
§ 사용자가 지우기 전까지 보관
§ Amazon S3에 저장
9. 3. Amazon CloudWatch 를 통한 모니터링
CloudWatch RDS Metrics
CPU utilization
Storage
Memory
Swap usage
DB connections
I/O (read and write) Latency
(read and write)
Throughput (read and write)
Replica lag
Many more
CloudWatch Alarms
Similar to on-premise custom
monitoring tools
11. 4. Multi-AZ 구성 고가용성 확보
• Availability Zone(AZ)은 상호간
에 물리적으로 분리된 독립 인프라
를 제공
• 복수 AZ 사용으로, Region내 AZ간
데이터베이스 동기화
(Synchronous)구성 가능
• 주요 장애상황 발생시 자동으로
데이터베이스 Failover 수행
Web
Instance
RDS DB Instance
Active (Multi-AZ)
Availability Zone
Availability Zone
Web
Instance
RDS DB Instance
Standby (Multi-AZ)
Elastic Load
Balancer
Amazon
Route 53
User
Region
13. 5. 리플리케이션으로 가용성 확보
• 읽기 트래픽을 자동으로 관리
되는 Read Replica 로 분산
• 복수의 Read Replica를 사용하
여 워크로드 분산 처리
• 리전간 스냅샷 복사 기능 추가
• 빠른 장애 복구에 도움
• 리전간 데이터 이전에 도움
14. RDS DB Instance
Active (Multi-AZ)
Availability Zone
Availability Zone
RDS DB Instance
Standby (Multi-AZ)
Elastic Load
Balancer
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Web
Instance
Amazon
Route 53
User
참고. 리플리케이션을 통한 확장 구조
15. • 온디멘드: 사용한 만큼만 지불; 최소 사용비용 없음
Monthly
bill GB+
= 720 hrs * $0.37 + 100 GB * $0.115 =
$277.90
=
db.m3.xlarge; MySQL; Oregon;
Single- AZ; On- Demand
100 GB General Purpose (SSD)
4 vCPUs;
15 GiB
RAM
6. 다양하고 저렴한 구매 및 서비스 옵션
• 예약 인스턴스: 1년 또는 3년 계약으로 30~70%까지 저렴
Cumulative spend
Month 1 Month 2 Month 3 Month 4 Month 5 Month 6 Month 7 Month 8 Month 9 Month 10 Month 11 Month 12
On-demand 277.90 555.80 883.70 1,111.60 1,389.50 1,667.40 1,945.30 2,223.20 2,501.10 2,779.00 3,056.90 3,334.80
Heavy RI 1-yr 991.10 1096.20 1,201.30 1,306.40 1,411.50 1,516.60 1,621.70 1,726.80 1,831.90 1,937.00 2,042.10 2,147.20
16. 참고. 저렴한 버스팅 모델 선택
• GP2—SSD 기반 Amazon EBS 스토리지
• 3 IOPS per GB 성능
• 사용량 기반 크레딧 충전 모델
• Burst to 3000+ IOPS
• T2—Amazon EC2 버스팅 모델
• 기반 성능 + burst
• 시간 단위 크레딧 충전 후 사용
• 24시간 크레딧 모음 가능
• 크레딧 및 사용량을 모니터링 가능
18. Burst 모드 vs. 표준 vs. Provisioned IOPS
0
1000
2000
3000
4000
5000
6000
7000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Transac&ons per Second (TPS)
Hours
100% read—20 GB data
db.m1.medium + 200GB standard
$0.575 per hour
19. Burst 모드 vs. 표준 vs. Provisioned IOPS
0
1000
2000
3000
4000
5000
6000
7000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Transac&ons per Second (TPS)
Hours
100% read—20 GB data
db.m1.medium + 200GB standard
db.m3.medium + 200G + 2000 IOPS
$0.575 per hour
$0.408 per hour
20. Burst 모드 vs. 표준 vs. Provisioned IOPS
0
1000
2000
3000
4000
5000
6000
7000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Transac&ons per Second (TPS)
Hours
100% read—20 GB data
db.m1.medium + 200GB standard
db.m3.medium + 200G + 2000 IOPS
db.m3.large + 200G + 2000 IOPS
$0.575 per hour
$0.408 per hour
$0.508 per hour
21. Burst mode vs. Standard vs. Provisioned IOPS
0
1000
2000
3000
4000
5000
6000
7000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Transac&ons per Second (TPS)
Hours
100% read—20 GB data
db.m1.medium + 200GB standard
db.m3.medium + 200G + 2000 IOPS
db.m3.large + 200G + 2000 IOPS
db.t2.medium + 200GB gp2
$0.105 per hour
$0.575 per hour
$0.408 per hour
$0.508 per hour
22. Burst 모드 vs. 표준 vs. Provisioned IOPS
0
1000
2000
3000
4000
5000
6000
7000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Transac&ons per Second (TPS)
Hours
100% read—20 GB data
db.m1.medium + 200GB standard
db.m3.medium + 200G + 2000 IOPS
db.m3.large + 200G + 2000 IOPS
db.t2.medium + 200GB gp2
db.t2.medium + 1TB gp2
$0.105 per hour
$0.575 per hour
$0.233 per hour
$0.408 per hour
$0.508 per hour
23. 참고. RDS 무료 사용 (Free tier)
• AWS는 무료 사용 (Free Tier) 제공
• http://aws.amazon.com/ko/free/
• RDS 에서 무료 적용 조건
ü MySQL, Oracle (BYOL), SQL Server Express, PostgreSQL
ü Single-AZ db.t1.micro 750시간/월
ü Magnetic / GP2 스토리지 20GB (스냅샷 20GB포함)
ü 1,000만 I/O
ü https://aws.amazon.com/ko/rds/free/
24. 7. 수준 높은 보안 레벨 제공
• 다양한 보안 인증 획득:
Amazon RDS는 개별 DB인스
턴스별 IP 방화벽 제공(Security
Group)
• Amazon VPC를 통해 독립적인
네트워크 구축 및 고객의 기존
DC와 Hybrid 연동가능
• AWS IAM (Identity and Access
Management) 을 통해 자원/역
할 레벨의 접근제어
AWS has achieved major compliances
25. 참고. RDS 암호화(Encryption) 옵션
• 모든 RDS 옵션에 대한 One-Click 암호화 기능 제공[백업/스냅샷/RR]
• KMS를 통해 사용자가 생성하고 관리하는 키(Key) 사용
• 주의 사항
ü RDS DB 생성시에 암호화 여부 결정: 암호화 Enable이후에는 Disable 할 수 없음
ü 암호화된 DB 인스턴스 에서만 암호화 Read Replica 생성
ü 암호화 되지 않은 백업 및 스냅샷을 암호화된 DB 인스턴스로 복구 불가
27. § 기본방식 dump and restore:간단하지만 서비스 다운타임 발생
RDS로의 데이터 마이그레이션
RDS for
MySQL
RDS for
MySQL
RDS for Oracle RDS for SQL Server RDS for
PostgreSQL
내보내기 mysqldump Data Pump Generate/ Publish
scripts
pgdump
가져오기 mysqlimport SQL Loader Bulk Copy (bcp) copy
• 고급 방식: 델타 값 적용(변경 분 추가)
• 마이그레이션 타겟으로 DB트랜잭션 전송 및 적용
RDS for MySQL RDS for Oracle RDS for SQL
Server
RDS for
PostgreSQL
mysqlbinlog Mview replication Linked servers
Use row metadata to
capture modified rows
Tungsten
Replicator
Golden Gate, Dbvisit,
Attunity, Dell
SharePlex
SSIS (SQL Server
Integration Service)
28. • 동종 혹은 다른 DB 엔진으로 데이터 이동
• 이전 동안 앱은 그대로 유지
• 10분이내에 마이그레이션
• EC2 또는 RDS 간의 데이터 리플리케이션
AWS Database
Migration Service
hNps://aws.amazon.com/ko/dms/
35. • Oracle 및 SQL Server 데이터 이전
• 테이블, 뷰, 프로시져 및 DML을 MySQL,
MariaDB 및 Aurora로 이전
AWS Schema
Conversion Tool
38. Why choose Amazon RDS?
스키마디자인
쿼리구성
쿼리 최적화
고가용성
백업 및 복구
보안 및 암호화
업체 표준 규정 준수
고 확장성
자동 패치
모니터링
유지보수
Amazon RDS는 여러분이 DB관리 작업에 시간을 쓰는 것을 줄여주고,
비지니스에만 집중할 수 있게 도와 드립니다
You
RDS
39. 참고 자료
• Amazon RDS
• http://aws.amazon.com/ko/rds
• Amazon RDS 문서
• http://aws.amazon.com/ko/documentation/rds/
• Amazon RDS 관련 자료
• http://aws.amazon.com/articles/Amazon-RDS
• 블로그
• http://aws.amazon.com/ko/blogs/korea/category/amazon-
rds
41. 여러분의 피드백을 기다립니다!
• 웨비나 이전 발표자료 및 동영상
• https://aws.amazon.com/ko/blogs/korea/category/webinar/
• 한국어 공식 소셜 미디어
@AWSKorea
AmazonWebServices.ko
AWSKorea
AWSKorea