SlideShare a Scribd company logo
RDS to Aurora PostgreSQL
Migration
변규현 / 개발자, 당근마켓
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
발표자 소개
• 당근마켓 채팅플랫폼 개발자
• AWS Serverless Hero
• Go언어를 주로 사용함
• 개발을 잘하고 싶어함
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
RDS를 쓰고 계시나요?
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
그럼 RDS를 왜 쓰시나요?
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
RDS의 특징
• 데이터 베이스 설치에 대한 부담이 없음
• 데이터 베이스 업그레이드, Backup 및 확장에 대해서 부담이 없음
(Maintenance, Scalability, Replication)
• Multi AZ를 통한 고가용성
• IOPS에 따른 스토리지 선택 가능
(Magnetic, SSD, Provisioned IOPS Storage)
• Security Group을 통한 접근 제어
• IAM을 통한 사용자 제어 가능
• MySQL, MariaDB, PostgreSQL, Oracle, MSSQL Server 지원
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
RDS PostgreSQL에서 겪었던 어려움
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
RDS PostgreSQL에서 겪었던 어려움
• Replica를 직접 설정하고 관리
(Replica 생성 > Rout53 가중치 기반 레코드 설정)
-> 인스턴스 추가할 때 마다 Route53 에서 설정 필요
• Replica instance가 5대로 제한
• 저장공간을 직접 늘려주어야 함
(Storage autoscaling 기능을 사용할 수 있음)
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
처음에는 운영상 어려움은 없었어요
서비스가 크지 않다면
RDS PostgreSQL로 충분해요
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
그런데, 우리는 빠르게 성장하고 있었어요
DB 부하는 매주 높아지고 있었고,
이를 더욱 잘 대응하기 위한 준비가 필요했어요.
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Migration 이전 RDS PostgreSQL의 CPU
2019.07.10 ~ 2019.07.15
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Aurora PostgreSQL은 해답이 될 수 있을까
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Amazon Aurora의 특징
• MySQL 데이터 베이스보다 최대 5배 많은 처리량 지원
• 표준 PostgreSQL 보다 3배 많은 처리량 지원
• 1/10 비용으로 상용 데이터베이스의 보안, 가용성 및 안정성 제공
• RDS의 기본 기능 모두 사용 가능
• 분산 스토리지 시스템으로, 인스턴스당 최대 128TB까지 자동 확장
• Replica 15개 사용 가능
• 3개의 AZ에 걸친 복제
• 손쉬운 Custom Endpoint 설정
• 빠른 마스터 복원
• IOPS 사용량에 따른 과금
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
가장 와닿은 내용들
- 처리량
- 스토리지
- Replica 15개
- 빠른 마스터 복원
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Migration을 준비하기로 결정했어요.
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
근데, Migration은 어떻게 준비하나요?
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Migration할 인스턴스에 대해서
Aurora PostgreSQL을 Read Replica로 생성
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
준비는 이게 전부에요.
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
그리고 Migration은 신중해야하니
연습을 했어요
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Migration 연습
• 연습환경 만들기
• 백업 AMI로 RDS 복구
• 네트워크 설정 확인
(Security Group, Subnet Group, VPC)
• Aurora PostgreSQL로 복제본 생성
• Migration Simulation
• 트래픽 완전 차단(Webserver, Security Group)
• 웹서버 DB Endpoint 수정
• Aurora PostgreSQL을 Master로 승격
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
각 스테이지 별 적용 및 테스트 완료!
Production Migration Simulation 5회
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
연습한 대로 Migration을 시작했어요
Aurora PostgreSQL을 Master로 승격시키고
모니터링을 했어요.
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
문제는 없었을까요?
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
DB가 3번 재시작했어요
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
RDS Performance Insight와 PGHero 를 통해
특정 쿼리가 해결되지 않고
계속 남아있는 것을 발견했어요.
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
SELECT pg_terminate_backend(PID);
이걸로도 죽지 않는 쿼리가 있었어요.
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
전체 트래픽을 차단하고
워커도 전부 중지시켰다고 생각했는데,
Migration 시점에 워커 하나가 동작하고 있었어요
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Hanging Query가 있었고,
그 쿼리들은 워커에서 사용한 테이블들과 연관이 있었어요.
더 살펴보니, 이 테이블들의 인덱스를
사용하는 쿼리들만 문제가 있었어요
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
관련된 테이블들의 Index에 대해서
REINDEX를 진행하고,
다시 모니터링을 시작했어요.
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
이후의 Aurora PostgreSQL CPU
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
REINDEX 명령어를 통해
깨졌던 인덱스가 복구되고,
문제가 되었던 Index 범위의 쿼리들도
정상적으로 처리되기 시작했어요! 😊
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
복구를 성공적으로 완료했어요 🎉
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Aurora로 전환하고
어떤 점이 개선되었을까요?
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
1년 운영 후기
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
1년 간 느낀점
• 대규모 이벤트 진행 또는 급작스런 트래픽 증가에 대해
Read replica를 사용한 유연한 대응이 용이함
• Custom Endpoint를 활용한 서비스별 커넥션 관리 가능
• 용량 확장 및 IOPS에 대한 고민 사라짐
• 빠른 Master DB 복구
(AZ 장애 발생 시 알람과 동시에 복구됨)
• Performance Insight를 통한 Slow Query 대응
• 빠르고 유연한 확장이 가능하기 때문에 DB인스턴스 CPU 및 Memory를 피크 시간
기준 50% 이상 사용
• 테이블 삭제시 1초도 안돼서 명령이 종료됨
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
현재 운영중인 Aurora PostgreSQL CPU
• Writer 1대
• Reader for webserver
7대
• 데이터 분석용 1대
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
운영을 하는 부담이 많이 줄었네요!
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
Aurora를 도입해보는 건 어떨까요?
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
마지막으로...
2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현
에서
함께할 분을 찾고 있어요 😊
dngn.kr/join-us-dev
감사합니다!
Email: novemberde1@gmail.com
Blog: novemberde.github.io
Github: github.com/novemberde

More Related Content

What's hot (20)

PDF
Redis on AWS
DaeMyung Kang
 
PDF
Project TIMAT - infrastructure as code
Jesang Yoon
 
PDF
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWSKRUG - AWS한국사용자모임
 
PDF
Aws로 ci하기 안기욱
AWSKRUG - AWS한국사용자모임
 
PPT
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
Amazon Web Services Korea
 
PDF
HB Smith에서는 AWS 이렇게 사용한다
Jongwon Han
 
PPTX
Serverless Architecture - 김현민
AWSKRUG - AWS한국사용자모임
 
PDF
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
Woong Seok Kang
 
PDF
Dynamodb 삽질기
AWSKRUG - AWS한국사용자모임
 
PDF
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
SungChanHwang
 
PDF
당근마켓 고언어 도입기, 그리고 활용법
Kyuhyun Byun
 
PDF
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
AWSKRUG - AWS한국사용자모임
 
PDF
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
Amazon Web Services Korea
 
PPTX
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
Youngjae Kim
 
PDF
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
Amazon Web Services Korea
 
PPTX
글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs
Youngjae Kim
 
PDF
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Jongwon Han
 
PDF
Ansible과 CloudFormation을 이용한 배포 자동화
AWSKRUG - AWS한국사용자모임
 
PDF
AWS Lambdas with a Static Outgoing IP
Jongwon Han
 
PPTX
Google Cloud Next 2017 Seoul Extended 1st Session.
Harrison Jung
 
Redis on AWS
DaeMyung Kang
 
Project TIMAT - infrastructure as code
Jesang Yoon
 
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWSKRUG - AWS한국사용자모임
 
Aws로 ci하기 안기욱
AWSKRUG - AWS한국사용자모임
 
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
Amazon Web Services Korea
 
HB Smith에서는 AWS 이렇게 사용한다
Jongwon Han
 
Serverless Architecture - 김현민
AWSKRUG - AWS한국사용자모임
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
Woong Seok Kang
 
Dynamodb 삽질기
AWSKRUG - AWS한국사용자모임
 
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
SungChanHwang
 
당근마켓 고언어 도입기, 그리고 활용법
Kyuhyun Byun
 
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
AWSKRUG - AWS한국사용자모임
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
Amazon Web Services Korea
 
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
Youngjae Kim
 
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
Amazon Web Services Korea
 
글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs
Youngjae Kim
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Jongwon Han
 
Ansible과 CloudFormation을 이용한 배포 자동화
AWSKRUG - AWS한국사용자모임
 
AWS Lambdas with a Static Outgoing IP
Jongwon Han
 
Google Cloud Next 2017 Seoul Extended 1st Session.
Harrison Jung
 

Similar to RDS에서 Aurora PostgreSQL Migration한 후기 (20)

PDF
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
Amazon Web Services Korea
 
PDF
Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인
Amazon Web Services Korea
 
PDF
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
 
PDF
AWS Aurora 운영사례 (by 배은미)
I Goo Lee.
 
PDF
AWS 환경에서 MySQL Infra 설계하기-2본론
I Goo Lee
 
PDF
AWS 환경에서 MySQL Infra 설계하기-2부.본론
I Goo Lee
 
PPTX
강의 4. 데이터베이스:: AWSome Day Online Conference
Amazon Web Services Korea
 
PDF
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
Amazon Web Services Korea
 
PDF
클라우드 환경으로 데이터베이스 이전하기 - 강민석, AWS SR. Database SA
Amazon Web Services Korea
 
PDF
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Web Services Korea
 
PDF
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
PDF
AWS 9월 웨비나 | Amazon Aurora Deep Dive
Amazon Web Services Korea
 
PDF
Amazon Aurora 100% 활용하기
Amazon Web Services Korea
 
PDF
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Web Services Korea
 
PDF
Cloud Native Aurora Serverless를 통한 Data Lake 구축 - 최유정 솔루션즈 아키텍트, AWS
Amazon Web Services Korea
 
PDF
AWS Aurora 100% 활용하기
I Goo Lee
 
PDF
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 데이터베이스 - 박주연 AWS 솔...
Amazon Web Services Korea
 
PDF
Amazon RDS 서비스 활용하기 - 신규 기능 중심으로 (윤석찬) :: AWS 월간 웨비나
Amazon Web Services Korea
 
PDF
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
Amazon Web Services Korea
 
PDF
워크로드에 맞는 데이터베이스 찾기 - 박주연 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
Amazon Web Services Korea
 
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
Amazon Web Services Korea
 
Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인
Amazon Web Services Korea
 
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
 
AWS Aurora 운영사례 (by 배은미)
I Goo Lee.
 
AWS 환경에서 MySQL Infra 설계하기-2본론
I Goo Lee
 
AWS 환경에서 MySQL Infra 설계하기-2부.본론
I Goo Lee
 
강의 4. 데이터베이스:: AWSome Day Online Conference
Amazon Web Services Korea
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
Amazon Web Services Korea
 
클라우드 환경으로 데이터베이스 이전하기 - 강민석, AWS SR. Database SA
Amazon Web Services Korea
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Web Services Korea
 
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
AWS 9월 웨비나 | Amazon Aurora Deep Dive
Amazon Web Services Korea
 
Amazon Aurora 100% 활용하기
Amazon Web Services Korea
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Web Services Korea
 
Cloud Native Aurora Serverless를 통한 Data Lake 구축 - 최유정 솔루션즈 아키텍트, AWS
Amazon Web Services Korea
 
AWS Aurora 100% 활용하기
I Goo Lee
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 데이터베이스 - 박주연 AWS 솔...
Amazon Web Services Korea
 
Amazon RDS 서비스 활용하기 - 신규 기능 중심으로 (윤석찬) :: AWS 월간 웨비나
Amazon Web Services Korea
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
Amazon Web Services Korea
 
워크로드에 맞는 데이터베이스 찾기 - 박주연 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
Amazon Web Services Korea
 
Ad

More from Kyuhyun Byun (10)

PPTX
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Kyuhyun Byun
 
PDF
Go 도입 후 4년 간 기록
Kyuhyun Byun
 
PPTX
성장하는 엔지니어가 되는 법- 주니어편.pptx
Kyuhyun Byun
 
PDF
성장하는 서버 개발자 되기 - Wanted Livetalk
Kyuhyun Byun
 
PDF
Start Serverless with Golang!
Kyuhyun Byun
 
PDF
Serverless websocket 톺아보기
Kyuhyun Byun
 
PDF
Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기
Kyuhyun Byun
 
PDF
포털 검색어 순위 수집 및 분석 후기
Kyuhyun Byun
 
PDF
Serverless framework와 CircleCI를 통한 NoOps 맛보기
Kyuhyun Byun
 
PPTX
Ec2 docker docker-compose
Kyuhyun Byun
 
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Kyuhyun Byun
 
Go 도입 후 4년 간 기록
Kyuhyun Byun
 
성장하는 엔지니어가 되는 법- 주니어편.pptx
Kyuhyun Byun
 
성장하는 서버 개발자 되기 - Wanted Livetalk
Kyuhyun Byun
 
Start Serverless with Golang!
Kyuhyun Byun
 
Serverless websocket 톺아보기
Kyuhyun Byun
 
Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기
Kyuhyun Byun
 
포털 검색어 순위 수집 및 분석 후기
Kyuhyun Byun
 
Serverless framework와 CircleCI를 통한 NoOps 맛보기
Kyuhyun Byun
 
Ec2 docker docker-compose
Kyuhyun Byun
 
Ad

RDS에서 Aurora PostgreSQL Migration한 후기

  • 1. RDS to Aurora PostgreSQL Migration 변규현 / 개발자, 당근마켓
  • 2. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 발표자 소개 • 당근마켓 채팅플랫폼 개발자 • AWS Serverless Hero • Go언어를 주로 사용함 • 개발을 잘하고 싶어함
  • 3. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 RDS를 쓰고 계시나요?
  • 4. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 그럼 RDS를 왜 쓰시나요?
  • 5. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 RDS의 특징 • 데이터 베이스 설치에 대한 부담이 없음 • 데이터 베이스 업그레이드, Backup 및 확장에 대해서 부담이 없음 (Maintenance, Scalability, Replication) • Multi AZ를 통한 고가용성 • IOPS에 따른 스토리지 선택 가능 (Magnetic, SSD, Provisioned IOPS Storage) • Security Group을 통한 접근 제어 • IAM을 통한 사용자 제어 가능 • MySQL, MariaDB, PostgreSQL, Oracle, MSSQL Server 지원
  • 6. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 RDS PostgreSQL에서 겪었던 어려움
  • 7. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 RDS PostgreSQL에서 겪었던 어려움 • Replica를 직접 설정하고 관리 (Replica 생성 > Rout53 가중치 기반 레코드 설정) -> 인스턴스 추가할 때 마다 Route53 에서 설정 필요 • Replica instance가 5대로 제한 • 저장공간을 직접 늘려주어야 함 (Storage autoscaling 기능을 사용할 수 있음)
  • 8. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 처음에는 운영상 어려움은 없었어요 서비스가 크지 않다면 RDS PostgreSQL로 충분해요
  • 9. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 그런데, 우리는 빠르게 성장하고 있었어요 DB 부하는 매주 높아지고 있었고, 이를 더욱 잘 대응하기 위한 준비가 필요했어요.
  • 10. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Migration 이전 RDS PostgreSQL의 CPU 2019.07.10 ~ 2019.07.15
  • 11. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Aurora PostgreSQL은 해답이 될 수 있을까
  • 12. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Amazon Aurora의 특징 • MySQL 데이터 베이스보다 최대 5배 많은 처리량 지원 • 표준 PostgreSQL 보다 3배 많은 처리량 지원 • 1/10 비용으로 상용 데이터베이스의 보안, 가용성 및 안정성 제공 • RDS의 기본 기능 모두 사용 가능 • 분산 스토리지 시스템으로, 인스턴스당 최대 128TB까지 자동 확장 • Replica 15개 사용 가능 • 3개의 AZ에 걸친 복제 • 손쉬운 Custom Endpoint 설정 • 빠른 마스터 복원 • IOPS 사용량에 따른 과금
  • 13. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 가장 와닿은 내용들 - 처리량 - 스토리지 - Replica 15개 - 빠른 마스터 복원
  • 14. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Migration을 준비하기로 결정했어요.
  • 15. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 근데, Migration은 어떻게 준비하나요?
  • 16. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Migration할 인스턴스에 대해서 Aurora PostgreSQL을 Read Replica로 생성
  • 17. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 준비는 이게 전부에요.
  • 18. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 그리고 Migration은 신중해야하니 연습을 했어요
  • 19. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Migration 연습 • 연습환경 만들기 • 백업 AMI로 RDS 복구 • 네트워크 설정 확인 (Security Group, Subnet Group, VPC) • Aurora PostgreSQL로 복제본 생성 • Migration Simulation • 트래픽 완전 차단(Webserver, Security Group) • 웹서버 DB Endpoint 수정 • Aurora PostgreSQL을 Master로 승격
  • 20. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 각 스테이지 별 적용 및 테스트 완료! Production Migration Simulation 5회
  • 21. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 연습한 대로 Migration을 시작했어요 Aurora PostgreSQL을 Master로 승격시키고 모니터링을 했어요.
  • 22. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 문제는 없었을까요?
  • 23. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 DB가 3번 재시작했어요
  • 24. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 RDS Performance Insight와 PGHero 를 통해 특정 쿼리가 해결되지 않고 계속 남아있는 것을 발견했어요.
  • 25. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 SELECT pg_terminate_backend(PID); 이걸로도 죽지 않는 쿼리가 있었어요.
  • 26. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 전체 트래픽을 차단하고 워커도 전부 중지시켰다고 생각했는데, Migration 시점에 워커 하나가 동작하고 있었어요
  • 27. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Hanging Query가 있었고, 그 쿼리들은 워커에서 사용한 테이블들과 연관이 있었어요. 더 살펴보니, 이 테이블들의 인덱스를 사용하는 쿼리들만 문제가 있었어요
  • 28. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 관련된 테이블들의 Index에 대해서 REINDEX를 진행하고, 다시 모니터링을 시작했어요.
  • 29. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 이후의 Aurora PostgreSQL CPU
  • 30. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 REINDEX 명령어를 통해 깨졌던 인덱스가 복구되고, 문제가 되었던 Index 범위의 쿼리들도 정상적으로 처리되기 시작했어요! 😊
  • 31. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 복구를 성공적으로 완료했어요 🎉
  • 32. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Aurora로 전환하고 어떤 점이 개선되었을까요?
  • 33. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 1년 운영 후기
  • 34. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 1년 간 느낀점 • 대규모 이벤트 진행 또는 급작스런 트래픽 증가에 대해 Read replica를 사용한 유연한 대응이 용이함 • Custom Endpoint를 활용한 서비스별 커넥션 관리 가능 • 용량 확장 및 IOPS에 대한 고민 사라짐 • 빠른 Master DB 복구 (AZ 장애 발생 시 알람과 동시에 복구됨) • Performance Insight를 통한 Slow Query 대응 • 빠르고 유연한 확장이 가능하기 때문에 DB인스턴스 CPU 및 Memory를 피크 시간 기준 50% 이상 사용 • 테이블 삭제시 1초도 안돼서 명령이 종료됨
  • 35. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 현재 운영중인 Aurora PostgreSQL CPU • Writer 1대 • Reader for webserver 7대 • 데이터 분석용 1대
  • 36. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 운영을 하는 부담이 많이 줄었네요!
  • 37. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 Aurora를 도입해보는 건 어떨까요?
  • 38. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 마지막으로...
  • 39. 2020.10.17 | AWS Community Day Online | Aurora Postgres | 변규현 에서 함께할 분을 찾고 있어요 😊 dngn.kr/join-us-dev