https://www.youtube.com/watch?v=V6g1SE4DkK4&list=PLORxAVAC5fUWg_jFcq8hNJEMzELtAD6kc&index=4
클라우드 환경으로 데이터베이스 이전하기 - 강민석, AWS SR. Database SA
Database Migration 방법론의 이해
- Lift & Shift (DB on EC2)
- Managed Service (RDS)
- Modernization (Database Freedom)
AWS에서 제공하는 데이터베이스 서비스
- 관계형DB : 기존 어플리케이션, ERP, CRM, 전자상거래
- Key-Value : 높은 트래픽 처리를 위한 전자상거래 시스템, 게임
- 인메모리 : 캐싱, 세션관리, 게임 순위표 어플리케이션
- 문서(DocumentDB) : 콘텐츠 관리, 카탈로그, 사용자 프로필
- 와이드 컬럼 : 장비관리를 위한 대규모 산업용 앱
- 그래프(Neptune) : 부정 탐지, 소셜 네트워킹, 추천 엔진
- 시계열(Timestream) : IoT 어플리케이션, DevOps, 산업용 텔레메트리
- 원장(QLDB) : 레코드 시스템, 공급망, 등록, 은행거래
Database Freedom 정의
- 상업용 데이터베이스로부터 Cloud Native Database로 변경
Database 마이그레이션 절자 : 각 단계별 AWS 전문가 및 컨설팅 권장
- Migration
- Move to Managed
- Modernize
On-premise 환경 vs Cloud 환경 DB운영의 차이
On-Premises에서 데이터베이스 운용
Amazon EC2에서 데이터베이스 운영
Amazon RDS (고객은 자신의 비즈니스에 더 집중)
- App Optimization
: 스키마 디자인
: 쿼리 구성
: 쿼리 최적화
DataBase 올바른 의사결정을 위한 추천
- Amazon RDS
: 관리형 서비스인 Amazon RDS를 권장
: 고객의 비지니스에 집중
: 어플리케이션의 최적화에 집중
: 사내에 전문 데이터베이스 인력 부족
- DBMS on Amazon EC2
: DB인스턴스에 대한 Full 권한을 가짐
: 백업, 복제, 클러스터링
: Amazon RDS에서 제약되는 기능 및 옵션 사용
: RDS의 범위를 넘어서는 용량 및 성능 필요
Oracle 마이그레이션 전략
Oracle Release and EOS
- 오라클 11g 는 2020년 12월에 EOS 예정으로, 업그레이드 필요
RDS Oracle on AWS
- 오라클 RDS는 4가지 종류가 있음 (SE1, SE, SE2, EE)
- 이중 12g 이상 사용가능은 SE2 와 EE.
- 라이센스 별 / 오라클 서포트 문의 방법
오라클에서의 고가용성(HA) : 총 4가지 있음
- Stand Alone : 한 박스로 구성, 이중화 없음
- 클러스터링 : 다수의 노드로 구성, 스토리지는 하나로 장애 가능성
- HA(DR) : Oracle Data Guard 솔루션으로 DR센터로 복제
오라클에서의 고가용성(HA) : 총 4가지 있음
- RAC (Real Application Cluster) 란?
: 2개 이상의 노드를 붙일 수 있음, 확장하여 성능을 향상할 수 있음.
: 단점 - 비용 및 스토리지는 SPOF
AWS로의 Migration - RDS 오라클
- 장점
: 오라클과 같은 엔진을 사용하기 때문에 변경 작업 필요없음.
: AWS - HW, Setup, Patch, Backup
: Customer - Application Optimization
- 단점 : RAC 지원하지 않음, DBA 권한 제한
: Oracle Database Engine에서의 DBA Role 은 모든 관리 권한을 갖음
: Limited DBA role (제한된 DBA 권한)
_ Alter database
_ Alter system
_ Create any directory
_ Drop and directory
_ Grant any privilege
_ Grant any role
AWS로의 Migration - 오라클 RAC
1. RAC on EC2 - FlashGrid Node for Oracle RAC
- FlashGrid 3rd 툴을 사용
- EBS를 Active-Active 구조로 변경
2. Oracle RAC on VMware Cloud on AWS
3. 현재 AWS 자체적으로 RAC 기능 개발중....
마이그레이션 - Database Freedom
- 오라클 to Aurora
: Aurora postgresql and Aurora mysql
: DMS - DATA 이전시 도움
: SCT - 소스 컨버전시 도움 (대부분 시간 소요)
- DMGD (AWS DB이관 전문팀)
MS SQL 서버 마이그레이션 전략
MS SQL서버 버전 and EOS
- SQL 서버 2000 (엔터프라이즈 기업 사용 시작) ~ 2019 까지 제공
- SQL 서버 2008 / 2008R2 까지 EOS로 사용 못함
- 사용시 : SQL서버 2016 이상 사용 권장함.
MS SQL서버가 제공하는 고가용성 기능
- Log Shipping
- Mirroring
- Replication
- Failover Cluster
- AlwaysOn
MS SQL서버 고가용성 구성 - Mirroring (DB복제 방법)
- 변경된 Data 복제 방법
1. 동기식 - 하나의 트랜잭션으로 수행시간 길어짐, DATA 정합성 보장
2. 비동기식 - Commit 수행 (성능 영향없음), 수동 Failover 지원
MS SQL서버 고가용성 구성 - 클러스터링
- Active/Passive Failover Cluster
: Virtual IP 사용
: SAN 소유권 이동
- AWS 클라우드에서는 SAN 미지원 : 크러스터링 서비스 사용 불가
MS SQL서버 고가용성 구성 - AlwaysOn
- AlwaysOn 은 클러스터링 대안 (표준 아키텍처로 자리잡음) : SAN 스토리지 미사용
- 리소스만 등록 : 로컬 디스크 사용
MS SQL서버 AlwaysON on AWS(EC2)
- 스토리지
: NVMe - 로컬 인스턴스 스토리지 (데이터 유실 가능성 - 관리자 EC2 리부팅시)
: EBS - 데이터 보존 (엔터프라이즈 APP 사용 적합)
마이그레이션 전략 - MS SQL서버
1. RDS SQL서버 (백업&복구 방법 3가지)
- Full백업 & Restore
- Differential 백업 & Restore
- Transaction Log 백업 & Restore : 다운타임을 최소화하기 위해서는 지속적으로 Transaction Log 백업 후,
RDS에 Restore
- DMS솔루션으로 CDC로 온라인 Transaction 을 RDS SQL서버로 이전하고, 특정시간에 서비스 Takeover 하는 방법
2. SQL서버 on EC2
3. Aurora
- DMS (데이터 이전) / SCT (소스컨버전) : Function에 대한 베스트프랙티스 참고 (Playbook)
차세대 DB운영환경
Connection 관리 - Aurora (총 4개)
- Cluster endpoint : Read/Write 가능한 Master
- Reader endpoint : Read Only connection
Failover시 Application 영향 - Aurora
- 이슈 : Aurora는 20초 이내에 Failover 되었지만 App에서 2분동안 접속되지 않음
- 원인 : 데이터베이스가 Failover 됐음에도 WAS에서 관리되고 있는 Connection Pool 의 Timeout 또는
Client의 DNS Cache로 인한 문제
- 해결 방법
: RDS Proxy
: APP에서 Connection 모니터링 및 관리
: APP DNS 캐시관리 (ex. JVM 기본 60초 -> 5초 변경)
Aurora Multi-Master - mysql5.6 (RAC와 비슷한 기능)
- Write 분산
: Connection 관리는 APP에서 진행
- Write 장애시
: APP 에서 Connoction 재분배
- APP 역할
: Connection 관리
: 동시에 같은 Page에 Write시 후순위 Transaction 실패
: Write Operation에 대해서 Retry Logic 추가 필요
Aurora Global Database - Internal Architecture
- 글로벌게임사 아키텍처
- 스토리지에서 Data복제, APP 변화없이 DB 사용 가능
Aurora Global Database
- 최대 5개의 Secondary 리전 추가 가능
- 15개의 Read Replica 추가 가능
- 초당 20만건 처리량
- 리전간 복제 1초 이내
- 마스터 리전 이전시 1분 이내 (DR센터 역할)
Connection Pooling with RDS Proxy
- 일반적으로 APP은 Connection Pool을 사용
- RDS Proxy는 Connection Pool을 관리하고 연계 역할을 함.
Minimize Failover Disruption with RDS Proxy
- RDS Proxy를 사용하면 66% 속도 개선
AWS Migration Playbooks
'[AWS]' 카테고리의 다른 글
지원 종료 (End of Support) 된 소프트웨어의 클라우드 이전 방안 (0) | 2020.09.08 |
---|---|
API 호출 처리 흐름 (0) | 2020.09.04 |
AWS 엔터프라이즈 클라우드 마이그레이션 방법론 (0) | 2020.09.03 |
AWS EC2 타임존(Timezone) 변경 (0) | 2020.06.16 |
ELK 스택 (ElasticSearch, Logstash, Kibana) 으로 데이터 분석 (0) | 2020.06.11 |
댓글