2. 본 강연에서 다룰 내용
• 데이터베이스 마이그레이션
• AWS Database Migration Service 개요 및 데모
• AWS Database Migration Service 기술 고려 사항
• AWS Schema Conversion Tool 개요 및 데모
• 오라클 RAC의 Amazon Aurora 마이그레이션 사례 –
일본 고객(RecoChoku)
3. AWS에서 오라클 데이터베이스
Amazon EC2
Amazon RDS
(Bring Your Own License)
Amazon RDS
(License Included)
잘 동작합니다!
+
4. …그러나
상용 데이터베이스 수준의 성능과 가용성,
오픈소스 데이터베이스의 비용을 가진
클라우드 데이터베이스로 마이그레이션한다면
…?
5. Amazon RDS for Aurora
• Amazon Aurora는 MySQL 호환 관계형
데이터베이스 엔진
• Aurora는 상용 데이터베이스의 10분의 1 가격
으로 MySQL보다 최고 5배 뛰어난 성능을 제공
• 3 가용영역에 거쳐 6개의 복제를 저장하여
고가용성 제공
• Amazon S3에 지속적으로 데이터를 백업
• 지역 내 15개 Amazon Aurora Replicas
• 10GB에서 64TB까지 스토리지 자동 증가
Amazon Aurora
6. 클라우드 데이터 전략
온-프레미스 데이터를 어떻게 클라우드로 옮길 것인가?
사용자에 어떻게 영향을 최소화할 것인가?
이후에, 온-프레미스와 클라우드 데이터는 어떻게 주고받는가?
상용 데이터베이스를 마이그레이션 하는데 도움을 받을 수 있을까?
• 상용 데이터 마이그레이션 및 복제 소프트웨어
• 구성 및 관리의 복잡성
• 어플리케이션 다운타임
• 데이터베이스-엔진 특화된 어플리케이션 코드 수정
8. 데이터베이스 마이그레이션을 손쉽게 시작
마이그레이션 중 어플리케이션 서비스 유지
Amazon EC2 또는 RDS를 원본 및 대상으로 복제
동일 또는 이기종 데이터베이스간 복제
AWS
Database Migration
Service
AWS Database Migration Service(DMS) 개요
Amazon Aurora
9. 고객 온-
프레미스
어플리케이션 사용자
AWS
인터넷
VPN
데이터베이스 마이그레이션 다운타임 최소화
복제 인스턴스 시작
원본 및 대상 데이터베이스 접속
테이블, 스키마, 데이터베이스 선택
AWS DMS 가 테이블 생성,
데이터 로드 및 변경 사항 적용
적절한 시점에 대상
데이터베이스로 전환
AWS
Database Migration
Service
10. AWS Database Migration Service 고객 사례
“We are in the process of migrating some
databases to Amazon Aurora. The ease by
which we can do this using the AWS
Database Migration Service has
simplified this process for us and
enabled us to accelerate our migration
efforts. The ability to closely monitor the
process, the detailed logging feature, and
the support we received from AWS have
given us a great deal of confidence in a
successful migration.”
- Kuldeep Chowhan, Principal Engineer,
Expedia, Inc.
11. AWS DMS 구성 – step1. 시작하기
https://console.aws.amazon.com/dms 접속하기
12. AWS DMS 구성 – step2. 복제 인스턴스 생성
복제 인스턴스 타입 및 VPC 선택
13. AWS DMS 구성 – step3. DB 접속 구성
원본 DB 접속 구성 대상 DB 접속 구성
14. AWS DMS 구성 – step4. 복제 태스크 생성
복제 방식 선택 : 스냅샷 및 변경사항 복제
복제 대상 선택 : 전체 테이블 또는 선택
17. AWS DMS 가용 리전 및 비용
모든 공개 리전에서 사용 가능
복제 인스턴스 타입
• T2 : 개발 및 주기적 마이그레이션
• C4 : 대규모 데이터베이스 및 시간
최소화
복제 인스턴스 비용 (2017 4월. 서울리전)
• T2 : t2.micro 시간 당 $0.028 시작
• C4 : c4.large 시간 당 $0.168 시작
데이터 전송 비용
18. 데이터베이스 원본, 대상 고려사항
원본 데이터베이스
• 지원 엔진 : Oracle, SQL Server, MySQL, MariaDB, Amazon Aurora, PostgreSQL 및
SAP ASE, MongoDB
• 모든 엔진은 온-프레미스, EC2, RDS 지원 (Aurora는 RDS Only)
• RDS SQL Server 원본은 Change data capture (CDC) 모드는 지원되지 않음
대상 데이터베이스
• 지원 엔진 : Oracle, SQL Server, MySQL, MariaDB, Amazon Aurora, PostgreSQL, SAP
ASE, Amazon Redshift, Amazon S3, Amazon DynamoDB
• 모든 엔진은 온-프레미스, EC2, RDS 지원 (RDS Aurora 제외)
원본, 대상 중 최소 하나의 데이터베이스는 AWS에 존재
19. 원본 데이터베이스 고려 사항 – Oracle
지원 버전
• 온-프레미스 및 EC2 : 10.2 이후, 11g 및 12c 버전의 모든 오라클 데이터베이스 에디션
• Amazon RDS의 11g (11.2.0.3.v1 이후) 및12c 버전의 모든 오라클 데이터베이스 에디션
사전 요구 사항
• Using an Oracle Database as a Source for AWS Database Migration Service
• 오라클 사용자 계정 권한 설정
• ARCHIVELOG Mode 활성화
• Supplemental Logging 구성
• Change Data Capture (CDC)를 위하여 LogMiner(또는 Oracle Binary Reader) 사용 구성
제약 사항 - Limitations on Using Oracle as a Source for AWS Database Migration Service
20. 대상 데이터베이스 고려 사항 – MySQL/Aurora
지원 버전
• MySQL 5.5, 5.6 및 5.7, MariaDB 및 Amazon Aurora
• MySQL Community, Standard, Enterprise, Cluster Carrier Grade 에디션
사전 요구 사항
• Using a MySQL-Compatible Database as a Target for AWS Database Migration Service
• MySQL 사용자 계정 권한 설정 – 읽기, 쓰기 권한
• 적절한 네트워크 구성
• 로드 중 SET FOREIGN_KEY_CHECKS=0
제약 사항 - Limitations on Using MySQL as a Target for AWS Database Migration Service
22. 복제 인스턴스 (Replication Instance)
Replication Instance Type vCPU Memory (GB)
General Purpose
dms.t2.micro 1 1
dms.t2.small 1 2
dms.t2.medium 2 4
dms.t2.large 2 8
Compute Optimized
dms.c4.large 2 3.75
dms.c4.xlarge 4 7.5
dms.c4.2xlarge 8 15
dms.c4.4xlarge 16 30
Each replication instance has a specific configuration of
memory and vCPU. The following table shows the
configuration for each replication instance type.인스턴스 타입에 따른 사양
복제 인스턴스는 VPC에 존재
• Replication Subnet Group
• Availability Zone
Public 및 Private 복제 인스턴스
• 원본 또는 대상 VPC가 virtual
private network (VPN), AWS Direct
Connect 또는 VPC peering
연결되어 있지 않으면 Public IP
필요
26. AWS Schema Conversion Tool(SCT) 개요
주요 기능
오라클, SQL 서버를 Aurora, MySQL, MariaDB, PostgreSQL로 스키마 변환
대상 엔진 선택을 위한 데이터베이스 마이그레이션 진단 보고서 제공
수동 변환이 필요한 부분을 하이라이트 하는 코드 브라우저
“AWS Schema Conversion Tool은 오라클 및
SQL 서버에서 오픈소스 데이터베이스 엔진으로
마이그레이션 시 스키마 및 코드 변환 작업을
자동화하는 도우미”
27. SCT를 통한 테이블, 뷰 및 코드 변환
시퀀스
사용자 정의 타입
패키지
스토어드 프로시저
함수
트리거
스키마
테이블
인덱스
뷰
28. SCT를 통한 마이그레이션 진단 보고서
1. SCT를 원본 및
대상 데이터베이스에
접속
2. 진단 보고서 실행
3. 요약 보고 조회
4. 상세 가이드에 따라
작업
30. $0
소프트웨어 라이선스
비용 및 사용 조건
비용
• 무료 소프트웨어 라이선스
• AWS 계정을 가진 고객
사용 조건
• Amazon RDS, Amazon Redshift
또는 Amazon EC2 기반
데이터베이스로 마이그레이션에
사용
• 다른 대상 데이터베이스로 사용
시, 별도 비용
33. RecoChoku 및 Club RecoChoku
• RecoChoku – 세계 최초의 모바일 음악 배포 서비스 앱
• Club RecoChoku - RecoChoku 서비스 사용자들에 다양한 기능 제공
• 신규 사용자 가입, 로그인 인증
• 개인화 속성
• 즐겨찾기(My Artist) 기능
• 세션 관리
• 장치 관리
34. RecoChoku on AWS 개요
• 기능 및 서비스 기반 시스템 구성
• 노래 검색, 결제, 멤버십 관리 (Club RecoChoku), 노래 정보 등
• 모든 시스템은 AWS에서 동작
• EC2 :~1,000 인스턴스, RDS : ~180 인스턴스
• 30가지 이상 AWS 서비스 사용
• 10,000,000 액티브 사용자
• 데이터베이스 내 수 백 Millions 레코드
• 피크 타임 시 ~250 requests/sec
• RecoChoku의 모든 서비스에 사용되므로 매우 높은 고가용성 요구
36. 마이그레이션 이전 (Oracle RAC)
• 온-프레미스 오라클 데이터베이스
• 2-nodes
• 2 CPUs/server, 4 cores/cpu
• 엔터프라이즈 스토리지
• 오라클 데이터베이스 엔터프라이즈 에디션
• 옵션: 파티셔닝, RAC(Real Application Clusters)
• 모든 구성요소는 이중화
• 데이터베이스 관리자
• 모니터링: 커넥션 숫자, 테이블 스페이스, CPU 사용량 등
• 백업
37. Amazon Aurora를 선택한 이유
• 고가용성
• 데이터베이스가 RecoChoku 내 모든 서비스에서 사용됨
• 오라클 RAC와 동일한 수준의 높은 신뢰성 및 가용성 요구
• Aurora는 maintenance window를 가짐에 따라 비지니스 담당자들과
작업 시간 조정 가능
• 관리 비용 절감
• DB 관리 작업은 개발팀으로 이관
38. Amazon Aurora로 마이그레이션한 방법
• 4 개 주요 작업
• 테이블 재생성
• SQL 재작성
• 데이터 마이그레이션
• 성능 테스트 수행
Master 및
Replica
2 node
RAC
39. 마이그레이션 이후 장점 (after migration)
• Aurora에서 트러블이 없음
• 온-프레미스 오라클와 동일한 고가용성 달성
• 과거 maintenance 작업들이 있었으나, Aurora의 Zero-Downtime
Patch가 영향도 최소화 예상
• 거의 관리 작업이 없음
• 개발자는 어플리케이션 개발에만 집중
• 성능에 문제 없음
• 기존 대비 성능 개선
• 소프트웨어 라이선스 비용 없음
40. 오라클 데이터베이스 AWS 마이그레이션
• You’re not alone !!
• AWS의 데이터베이스 마이그레이션 서비스 활용
• AWS Database Migration Service를 통한 다운타임 최소화
• AWS Schema Conversion Tool을 통한 스키마 변환
• 글로벌 AWS 고객들이 상용 데이터베이스에서 오픈소스
데이터베이스로 마이그레이션 수행 중
• 원 모어 씽 !!
44. https://www.awssummit.kr
AWS Summit 모바일 앱을 통해 지금 세션 평가에
참여하시면, 행사 후 기념품을 드립니다.
#AWSSummitKR 해시태그로 소셜 미디어에
여러분의 행사 소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜
채널로 공유될 예정입니다.
여러분의 피드백을 기다립니다!