마이너 버전 업그레이드 수행
다음 방법을 사용하여 DB 클러스터의 마이너 버전을 업그레이드하거나 DB 클러스터에 패치를 적용할 수 있습니다.
주제
마이너 버전 업그레이드를 수행하기 전
마이너 버전 업그레이드 중에 가동 중지 시간을 줄이려면 다음 작업을 수행하는 것이 좋습니다.
-
Aurora DB 클러스터 유지 관리는 트래픽이 적은 기간에 수행해야 합니다. 성능 개선 도우미를 사용하여 이러한 기간을 식별하여 유지 관리 기간을 올바르게 구성하세요. 성능 개선 도우미에 대한 자세한 내용은 Amazon RDS에서 성능 개선 도우미를 통한 DB 로드 모니터링을 참조하세요. DB 클러스터 유지 관리 기간에 대한 자세한 내용은 기본 DB 클러스터 유지 관리 기간 조정 섹션을 참조하세요.
-
지수 백오프와 지터를 지원하는 AWS SDK를 모범 사례로 사용하세요. 자세한 내용은 지수 백오프 및 지터
를 참조하세요.
마이너 버전 업그레이드 수행 및 패치 적용 방법
마이너 버전 업그레이드 및 패치는 엄격한 테스트를 거친 후에만 AWS 리전에 공개됩니다. Aurora PostgreSQL은 업그레이드 및 패치를 출시하기 전에 마이너 커뮤니티 버전 출시 이후에 발생하는 알려진 보안 문제, 버그 및 기타 문제가 전반적인 Aurora PostgreSQL 플릿 안정성을 저해하지 않도록 테스트합니다.
Aurora PostgreSQL에서 새로운 마이너 버전을 사용할 수 있게 되면 Aurora PostgreSQL DB 클러스터를 구성하는 인스턴스는 지정된 유지 관리 기간에 자동으로 업그레이드될 수 있습니다. 이를 위해서는 Aurora PostgreSQL DB 클러스터의 마이너 버전 자동 업그레이드 활성화(Enable auto minor version upgrade) 옵션이 켜져 있어야 합니다. Aurora PostgreSQL DB 클러스터를 구성하는 모든 DB 인스턴스에는 마이너 업그레이드가 클러스터 전체에 적용되도록 자동 마이너 버전 업그레이드(AmVU) 옵션이 설정되어 있어야 합니다.
작은 정보
마이너 버전 자동 업그레이드 활성화(Enable auto minor version upgrade) 옵션이 Aurora PostgreSQL DB 클러스터를 구성하는 모든 PostgreSQL DB 인스턴스에서 설정되어 있는지 확인합니다. DB 클러스터의 모든 인스턴스가 작동하려면 이 옵션을 켜야 합니다. 자동 마이너 버전 업그레이드를 설정하는 방법과 클러스터 및 인스턴스 수준에서 설정을 적용한 경우 작동 방식에 대한 자세한 내용은 Aurora DB 클러스터 마이너 버전 자동 업그레이드 섹션을 참조하세요.
다음 쿼리와 함께 describe-db-instances AWS CLI 명령을 사용하여 모든 Aurora PostgreSQL DB 클러스터에 대한 마이너 버전 자동 업그레이드 활성화(Enable auto minor version upgrade) 옵션 값을 확인할 수 있습니다.
aws rds describe-db-instances \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,DBInstanceIdentifier:DBInstanceIdentifier,AutoMinorVersionUpgrade:AutoMinorVersionUpgrade}'
이 쿼리는 AutoMinorVersionUpgrade
설정 상태에 대한 true
또는 false
값과 함께 모든 Aurora DB 클러스터 및 해당 인스턴스 목록을 반환합니다. 표시된 명령에서는 기본 AWS 리전를 대상으로 삼도록 AWS CLI가 구성되어 있다고 가정합니다.
AmVU 옵션과 AmVU를 사용하도록 Aurora DB 클러스터를 수정하는 방법에 대한 자세한 내용은 Aurora DB 클러스터 마이너 버전 자동 업그레이드 섹션을 참조하세요.
유지 관리 태스크에 응답하거나 새 버전을 사용하도록 클러스터를 수정하여 Aurora PostgreSQL DB 클러스터를 새 마이너 버전으로 업그레이드할 수 있습니다.
RDS 콘솔을 사용하고 권장 사항(Recommendations) 메뉴를 열어 Aurora PostgreSQL DB 클러스터에 사용 가능한 업그레이드 또는 패치를 식별할 수 있습니다. 여기에는 이전 마이너 버전(Old minor versions)과 같은 다양한 유지 관리 문제 목록이 나와 있습니다. 프로덕션 환경에 따라 다음과 같이 업그레이드를 예약하거나 지금 적용(Apply now)을 선택하여 즉각적인 조치를 취할 수 있습니다.

패치 및 마이너 버전 업그레이드를 수동으로 적용하는 방법을 포함하여 Aurora DB 클러스터를 유지 관리하는 방법을 자세히 알아보려면 Amazon Aurora DB 클러스터 유지 관리 섹션을 참조하세요.
마이너 릴리스 업그레이드 및 제로 가동 중지 패치 적용
Aurora PostgreSQL DB 클러스터를 업그레이드하면 중단이 발생할 수 있습니다. 업그레이드 프로세스 중에 데이터베이스가 업그레이드될 때 데이터베이스가 종료됩니다. 데이터베이스가 사용 중인 동안 업그레이드를 시작하면 DB 클러스터에서 처리하는 모든 연결 및 트랜잭션이 손실됩니다. 업그레이드를 수행하기 위해 데이터베이스가 유휴 상태가 될 때까지 기다리려면 오랜 시간을 기다려야 할 수 있습니다.
제로 가동 중지 패치 적용(ZDP) 기능은 업그레이드 프로세스를 개선합니다. ZDP를 사용하면 Aurora PostgreSQL DB 클러스터에 미치는 영향을 최소화하면서 마이너 버전 업그레이드와 패치를 모두 적용할 수 있습니다. Aurora PostgreSQL 버전 및 해당 마이너 버전의 더 높은 버전 릴리스와 더 최신의 메이저 버전 릴리스에 패치 또는 더 최신의 마이너 버전 업그레이드를 적용할 때 ZDP가 사용됩니다. 즉, 이러한 릴리스에서 새 마이너 버전으로 업그레이드하면 ZDP가 적용됩니다.
다음 테이블에는 ZDP를 사용할 수 있는 Aurora PostgreSQL 버전과 DB 인스턴스 클래스가 나와 있습니다.
버전 | db.r* instance classes | db.t* instance classes | db.x* instance classes | db.serverless instance class |
---|---|---|---|---|
10.21.0 이상의 10.21 버전 | 예 | 예 | 예 | N/A |
11.16.0 이상의 11.16 버전 | 예 | 예 | 예 | N/A |
11.17 이상 버전 | 예 | 예 | 예 | N/A |
12.11.0 이상의 12.11 버전 | 예 | 예 | 예 | N/A |
12.12 이상 버전 | 예 | 예 | 예 | N/A |
13.7.0 이상의 13.7 버전 | 예 | 예 | 예 | N/A |
13.8 이상 버전 | 예 | 예 | 예 | 예 |
14.3.1 이상의 14.3 버전 | 예 | 예 | 예 | N/A |
14.4.0 이상의 14.4 버전 | 예 | 예 | 예 | N/A |
14.5 이상 버전 | 예 | 예 | 예 | 예 |
15.3 이상 버전 | 예 | 예 | 예 | 예 |
16.1 이상 버전 | 예 | 예 | 예 | 예 |
ZDP를 사용한 업그레이드 프로세스 중에 데이터베이스 엔진은 모든 새 트랜잭션을 일시 중지할 조용한 지점을 찾습니다. 이 작업은 패치 및 업그레이드 중에 데이터베이스를 보호합니다. 트랜잭션이 일시 중지된 상태에서 애플리케이션이 원활하게 실행되도록 하려면 재시도 로직을 코드에 통합하는 것이 좋습니다. 이 접근 방식을 통해 시스템은 짧은 가동 중지 시간을 장애 없이 관리할 수 있으며 업그레이드 후 새 트랜잭션을 재시도할 수 있습니다.
ZDP가 성공적으로 완료되면 애플리케이션 세션이 유지되며(연결이 끊긴 세션은 제외), 업그레이드가 계속 진행되는 동안 데이터베이스 엔진이 다시 시작됩니다. 데이터베이스 엔진을 다시 시작하면 처리량이 일시적으로 줄어들 수 있지만, 이러한 상황은 보통 몇 초나 최대 약 1분 정도만 지속됩니다.
경우에 따라 제로 가동 중지 패치 적용(ZDP)이 적용되지 않을 수 있습니다. 예를 들어, Aurora PostgreSQL DB 클러스터 또는 해당 인스턴스의 pending
상태에 있는 파라미터 변경으로 인해 ZDP가 제대로 적용되지 않을 수 있습니다.
ZDP 작업에 대한 지표와 이벤트는 콘솔의 이벤트(Events) 페이지에서 확인할 수 있습니다. 이벤트에는 ZDP 업그레이드 시작 및 업그레이드 완료가 포함됩니다. 여기에서 프로세스의 소요 시간 및 재시작 중에 발생한 보존 및 삭제된 연결 수를 확인할 수 있습니다. 데이터베이스 오류 로그에 자세한 내용이 나와 있습니다.
제로 가동 중지 패치 적용의 제한 사항
제로 가동 중지 패치 적용에는 다음 제한 사항이 있습니다.
-
ZDP는 Aurora PostgreSQL 업그레이드 프로세스 전반에 걸쳐 Aurora PostgreSQL 라이터 인스턴스에 대한 현재 클라이언트 연결을 유지하려고 합니다. 그러나 다음과 같은 경우에는 ZDP 완료를 위해 연결이 끊어집니다.
-
장기 실행 쿼리 또는 트랜잭션이 진행 중인 경우.
-
데이터 정의 언어(DDL) 문이 실행 중인 경우.
-
임시 테이블 또는 테이블 잠금이 사용 중인 경우.
-
모든 세션이 알림 채널에서 수신 중인 경우.
-
커서가 'WITH HOLD' 상태에서 사용 중인 경우.
-
TLSv1.1 연결이 사용 중인 경우. Aurora PostgreSQL 버전 16.1, 15.3, 14.8, 13.11, 12.15, 11.20 이상부터 ZDP에는 TLSv1.3 연결이 지원됩니다.
-
-
다음과 같은 경우에는 ZDP가 지원되지 않습니다.
-
Aurora PostgreSQL DB 클러스터가 Aurora Serverless v1로 구성된 경우.
-
Aurora 리더 인스턴스를 업그레이드하는 동안.
-
보조 리전의 Aurora Global Database 클러스터에 속하는 Aurora 리더 인스턴스를 업그레이드하는 동안.
-
OS 패치 및 OS 업그레이드 중.
-
Aurora PostgreSQL 엔진을 새로운 마이너 버전으로 업그레이드
콘솔, AWS CLI 또는 RDS API를 사용하여 Aurora PostgreSQL DB 클러스터를 새 마이너 버전으로 업그레이드할 수 있습니다. 업그레이드를 수행하려면 메이저 버전 업그레이드에 권장되는 것과 동일한 모범 사례를 따르는 것이 좋습니다. 새 메이저 버전과 마찬가지로 새 마이너 버전에도 최적화 프로그램 개선 사항 (예: 수정 사항) 이 추가되어 쿼리 계획 회귀가 발생할 수 있습니다. 계획 안정성을 보장하려면 메이저 버전 업그레이드 후 계획 안정성 보장에 자세히 설명된 대로 쿼리 계획 관리(QPM) 확장을 사용하는 것이 좋습니다.
Aurora PostgreSQL DB 클러스터의 엔진 버전을 업그레이드하려면
-
https://console.aws.amazon.com/rds/
에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 데이터베이스를 선택한 다음 업그레이드하려는 DB 클러스터를 선택합니다.
-
수정을 선택합니다. DB 클러스터 수정 페이지가 나타납니다.
-
DB 엔진 버전에서 새 버전을 선택합니다.
-
계속을 수정 사항을 요약한 내용을 확인합니다.
-
변경 사항을 즉시 적용하려면 즉시 적용을 선택합니다. 일부의 경우 이 옵션을 선택하면 중단이 발생할 수 있습니다. 자세한 내용은 Amazon Aurora DB 클러스터 수정 섹션을 참조하세요.
-
확인 페이지에서 변경 내용을 검토합니다. 변경 내용이 올바른 경우 클러스터 수정을 선택하여 변경 내용을 저장합니다.
또는 뒤로를 선택하여 변경 내용을 편집하거나 취소를 선택하여 변경 내용을 취소합니다.
DB 클러스터의 엔진 버전을 업그레이드하려면 다음 파라미터와 함께 modify-db-cluster AWS CLI 명령을 사용합니다.
-
--db-cluster-identifier
- Aurora PostgreSQL DB 클러스터의 이름입니다. -
--engine-version
– 업그레이드할 데이터베이스 엔진의 버전 번호입니다. 유효한 엔진 버전에 대한 정보를 보려면 AWS CLI describe-db-engine-versions 명령을 사용합니다. -
--no-apply-immediately
– 변경 사항이 다음 유지 관리 기간에 적용됩니다. 변경 사항을 바로 적용하려면 대신--apply-immediately
를 사용합니다.
대상 LinuxmacOS, 또는Unix:
aws rds modify-db-cluster \ --db-cluster-identifier
mydbcluster
\ --engine-versionnew_version
\ --no-apply-immediately
Windows의 경우:
aws rds modify-db-cluster ^ --db-cluster-identifier
mydbcluster
^ --engine-versionnew_version
^ --no-apply-immediately
DB 클러스터의 엔진 버전을 업그레이드하려면 ModifyDBCluster 작업을 사용합니다. 다음 파라미터를 지정합니다.
-
DBClusterIdentifier
– DB 클러스터의 이름입니다(예:
).mydbcluster
-
EngineVersion
– 업그레이드할 데이터베이스 엔진의 버전 번호입니다. 유효한 엔진 버전에 대한 정보를 보려면 DescribeDBEngineVersions 작업을 사용합니다. -
ApplyImmediately
– 변경 사항을 즉시 적용하거나 다음 유지 관리 기간에 적용합니다. 변경 사항을 바로 적용하려면 값을true
로 설정합니다. 변경 사항을 다음 유지 관리 기간에 적용하려면 값을false
로 설정합니다.