AWS에서 데이터베이스를 사용하면서 꼭 알아야 하는 것은?
<1> AWS 데이터 베이스 서비스 운영
<2> Amazon RDS 7가지?
<3> 스냅숏
<4> 모니터링 = Performance Insights
<5> 로그
<6> 알람 설정
<7> 데이터베이스에 안전하게 접근 = AWS Secrets Manager
<8> Amazon RDS Proxy
<9> 다이나모 디비
<10> 실습 링크
<1> AWS 데이터 베이스 서비스 운영
1
고민?
고가용성은 어떻게 보장?
페일오버?
백업은?
업데이트는?
데이터에 안전하게 접근하는 방법?
모니터링?
로그 수집은?
2
AWS 데이터 베이스 서비스 8가지?
RDS, 오로라
다이나모 디비
몽고 디비 = 다큐멘트 디비
캐시-일라스틱 캐시
그래프 데이터베이스 = 넵튠
시계열 = 타임스탬프
원장 디비= QLDB
카산드라- 카 스페이스 디비
<2> Amazon RDS 7가지?
1
Aurora Postgre
Aurora Mysql
Mysql
Postgre
MariaDB
SQL Server
Oracle
2
고가용성은 어떻게 보장?
멀티 AZ에 배포한다.
AZ-a , AZ-c에 배포한다.
3
읽기 전용 복제본 사용 (Read Replica)?
읽기 업무를 분담하여 Primary데이터베이스에 대한 부하 완화.
4
데이터베이스 엔진 업그레이드 시?
Read Replica 먼저 업그레이드하고 , Primary로 승격시켜 가동 중지 시간 최소화한다.
5
Aurora?
표준 Mysql의 5배 처리량
표준 PostgreSQL의 3배 처리량
최대 15개 읽기 전용 복제본
3 개 AZ에 6개의 데이터 복사본
<3> 스냅숏
1
수동 스냅 셔?
장기 보존이 필요한 경우
RDS - 단일 뒤집면 I/O 잠시 중단됩니다.
자동 백업과 다르게 백업 보존 기간이 적용되지 않습니다.
만료 기간이 기본적으로 없습니다.
멀티-AZ 배포하는 경우 Secondary에서 수행되기 때문에 Primary에서 i/o 중단이 없다.
장기 보존하려면 S3로 Export 하고 parquet형태로 분석에 활용 가능하다.
2
자동 백업?
특정 시점으로 복구 가능
사용자가 지정한 보존 기안 동안 백업 보관
1일~ 최대 35일
Wirute IOPS가 낮은 시간에 수행 필요.
멀티-AZ 배포하는 경우 Secondary에서 수행 ( SQL Server 제외)
오로라의 경우 1일 백업 무료
<4> 모니터링 = Performance Insights
데이터 베이스 성능을 분석하고 성능 문제를 효과적으로 분석
부하를 유발 하난 SQL문과 원인을 찾아보자.
기본적으로 비활성화이다. 활성화가 필요하다.
<5> 로그
1
Error , Slow query , General , Audit Log
2
Mysql Error는 기본적으로 생성
그 이외에는 활성하가 필요하다.
파라미터 그룹 수정 후엔 인스턴스 재부팅이 필요하다.
<6> 알람 설정
1
SNS와 통합되어 데이터베이스의 이벤트에 대해 알림 설정.
8가지 소스 유형?
스냅 셔, 인스턴스, 파라미터 그룹, 보안 그룹, 클러스터, RDS Proxy
2
Cloudwatch 알람
CPU, MEM , Disk Space , IOPS 등 설정
<7> 데이터베이스에 안전하게 접근 = AWS Secrets Manager
KMS 연동
IAM 연동
<8> Amazon RDS Proxy
많은 수의 애플리케이션 커넥션 관리.
데이터베이스에 람다가 접근하는 경우도 유용하다.
Primary down으로 페일오버시 프락시 사용하면 , 애플리케이션 재시작이 필요 없다.
<9> 다이나모 디비
1
데이터가 많아지면?
리드 리플리카
Elastic Cache 사용
2
어떤 규모에서든 빠르고 유연한 키-벨류 noSQL 데이터 베이스
초당 수백만 이상 요청 처리
10ms 미만 일관된 성능
완료 관리형 서버리스 서비스 - 인프라 관리가 필요 없다.
<10> 실습 링크
다음 과정
https://brunch.co.kr/@topasvga/2688
https://brunch.co.kr/@topasvga/2678
감사합니다.