일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 프로그래머스 순위 파이썬
- 순위 파이썬
- 다중 컬럼 NOT IN
- 백준 1167 트리의 지름 파이썬
- 프로그래머스 가장 긴 팰린드롬
- 백준 2146 다리 만들기
- 반도체 설계 파이썬
- 프로그래머스 등굣길
- 백준 2352 반도체 설계 파이썬
- 다리 만들기 파이썬
- 게임 개발 파이썬
- 가장 긴 바이토닉 부분 수열 파이썬
- 백준 1516 게임 개발
- 램프 파이썬
- 가장 긴 팰린드롬 파이썬
- 역사 파이썬
- SWEA
- 프로그래머스 순위
- SQL SERVER MIGRATION
- 백준 1043 거짓말 파이썬
- 백준 11054.가장 긴 바이토닉 부분 수열
- 베스트앨범 파이썬
- 백준 1238 파티 파이썬
- 백준 1613 역사
- 백준 1034 램프 파이썬
- 프로그래머스 베스트앨범
- SQL SERVER 장비교체
- 등굣길 파이썬
- 프로그래머스 여행경로
- 트리의 지름 파이썬
- Today
- Total
공부, 기록
[RDS SQL Server] 인스턴스 타입 변경 본문
이슈
R4,M4 타입 중단으로 인한 인스턴스 타입 변경 필요.
대상
인스턴스타입
AS-IS | TO-BE | |
DB1 | r4.2xlarge | r6i.2xlarge |
DB2 | r4.xlarge | r6i.xlarge |
DB3 | m4.4xlarge | m6i.4xlarge |
DB4 | m4.xlarge | m6i .xlarge |
DB5 | r4.2xlarge | r6i .2xlarge |
DB6 | r4.xlarge | r6i .xlarge |
DB7 | r5.2xlarge | r6i .2xlarge |
작업 영향
MultiAZ 인스턴스 1회 다운(1분 이내)
SINGLE 인스턴스 1회 다운 (30분 이내)
테스트
DB1 r4.2xlarge → r6.2xlarege
DB3 m4.4xlarge → m6.4xlarge
타입 변경 | 차시 | 작업 시작 시간 | fail over 시작 시간 aws 콘솔 로그(작업 시작 후 시간) |
fail over 상세 시간 db 로그 | 전체 작업 완료 시간 |
r4 → r6 | 1 | 09:52 | 10:10 - 10:10 (18분) | SECONDARY_NORMAL TO NOT_AVAILABLE : 10:00:57 NOT_AVAILABLE TO SECONDARY_NORMAL : 10:08:20 RESOLVING_NORMAL TO PRIMARY_PENDING : 10:10:18 PRIMARY_PENDING TO PRIMARY_NORMAL : 10:10:19 |
10:27 (35분) |
r4 → r6 | 2 | 11:17 | 11:34 - 11:35 (17분) | SECONDARY_NORMAL TO NOT_AVAILABLE : 11:25:21 NOT_AVAILABLE TO SECONDARY_NORMAL : 11:32:36 RESOLVING_NORMAL TO PRIMARY_PENDING : 11:34:32 PRIMARY_PENDING TO PRIMARY_NORMAL : 11:34:33 |
11:51 (34분) |
r4 → r6 | 3 | 13:17 | 13:42 - 13:43 (25분) | SECONDARY_NORMAL TO NOT_AVAILABLE : 13:32:16 NOT_AVAILABLE TO SECONDARY_NORMAL : 13:40:33 RESOLVING_NORMAL TO PRIMARY_PENDING : 13:42:35 PRIMARY_PENDING TO PRIMARY_NORMAL : 13:42:36 |
14:00 (33분) |
m4 → m6 | 1 | 09:52 | 10:09 - 10:09 (17분) | Mirroring active 10:07:02 ~ 10:07:24 The mirrored database is changeing role MIRROR TO PRINCIPAL 10:08:47 ~ 10:08:49 |
10:24 (32분) |
m4 → m6 | 2 | 11:06 | 11:24 - 11:24 (18분) | Mirroring active 11:22:05~11:22:50 The mirrored database is changeing role MIRROR TO PRINCIPAL 11:23:50 ~ 11:23:51 |
11:39 (33분) |
m4 → m6 | 3 | 13:23 | 13:43 - 13:43 (20분) | Mirroring active 13:41:19 ~ 13:43:18 The mirrored database is changeing role MIRROR TO PRINCIPAL 13:43:18 ~ 13:43:19 |
14:01 (38분) |
LIVE 작업 히스토리
DB3 m4.4xlarge → m6.4xlarge
TPS 테스트
READ, INSERT 단건 테스트 SP 진행
Batch Request/s 200 TPS 100 기준
DB1 에러 건수 3100건 DB3 에러 건수 9100건
점검 6시 기준 실제 인입 Batch Requests/s 예상 에러 건수 125 ~ 370
부하로 인한 페일오버 지연 확인 안됨.
LIVE DB의 경우 과거 EBS로 PERF에 비해 처리량 등의 성능이 떨어짐
또한 live db의 경우 MultiAZ 미러링 PERF는 AG 구성 이에 따른 변화 발생 가능
Perf 테스트로는 위에 사항까지 검증 가능.
로그 및 확인 사항
ENT.
SECONDARY_NORMAL TO NOT_AVAILABLE : 세컨더리 서버 인스턴스 타입 변경을 위한 DOWN
NOT_AVAILABLE TO SECONDARY_NORMAL : 세컨더리 서버 인스턴스 타입 변경 완료로 AG 투입
RESOLVING_NORMAL TO PRIMARY_PENDING : 프라이머리 서버 인스턴스 타입 변경을 위한 페일오버
PRIMARY_PENDING TO PRIMARY_NORMAL : 페일오버 완료
STD.
Mirroring active : 세컨더리 서버 인스턴스 타입 변경 완료 이후 미러링 시작
The mirrored database is changeing role MIRROR TO PRINCIPAL : 프라이머리 서버 인스턴스 타입 변경을 위한 역할 전환
RDS MS-SQL 인스턴스 클래스 변경건
Active-Standby(always-on) 으로 구성된 RDS MS-SQL의 인스턴스 클래스를 변경하면-
- Standby 서버의 인스턴스 클래스를 변경하고,
- failover 하여 변경된 Standby 서버를 Active 상태로 만들고,
- 이 후에 Standby 서버가 된 기존의 Active 서버를 변경하고 완료하게 됩니다.
하여 서비스가 중단되는 시간은 failover 가 일어나는 시간인데, 보통은 수십초내에 완료되고 최대로 걸려도 수분내에 완료됩니다.
전체 프로세스가 걸리는 시간은30분정도 소요되는데, 점검시간은 30분~1시간 정도로 잡으시면 여유롭게 완료할 수 있을 듯 합니다.
아래는 저의 테스트 계정에서 진행해본 로그입니다. 전체 소요시간은 30분정도 걸렸고, failover (서비스 중단) 시간은 1분내에 완료되었습니다.
최종 작업
예상한 시간과 동일하게 처리됨
페일오버 : 작업 시작 15분 이후
작업완료 : 작업 시작 30분 이후
작업간 이슈
- agent 동기화 작업을 미리 진행해야함
- 백그라운드 트레이스, xevent 세션 등을 재설정 필요함
'공부 > DATABASE' 카테고리의 다른 글
[SQL Server] Index Seek 에서 클러스터드 인덱스 조건이 주는 영향도 (0) | 2024.05.29 |
---|---|
[SQL Server] Insert와 버퍼캐시 (0) | 2024.05.27 |
[SQL SERVER ] HA 헬스 체크 방식 (0) | 2024.05.14 |
[SQL Server] JOIN 성능 테스트 (0) | 2024.05.09 |
[SQL SERVER] 클러스터드 ,논 클러스터드 인덱스 생성 Lock (0) | 2024.04.29 |