Amazon Aurora DB 클러스터 유지 관리 - Amazon Aurora

Amazon Aurora DB 클러스터 유지 관리

Amazon RDS는 Amazon RDS 리소스를 정기적으로 유지 관리합니다.

DB 클러스터 유지 관리 업데이트 개요

유지 관리에는 주로 DB 클러스터의 다음 리소스에 대한 업데이트가 포함됩니다.

  • 기본 하드웨어

  • 기본 운영 체제(OS)

  • 데이터베이스 엔진 버전

운영 체제 업데이트는 보안상 가장 빈번하게 발생하며 가능한 한 빨리 수행하는 것이 좋습니다. 운영 체제 업데이트에 대한 자세한 내용은 DB 클러스터에 업데이트 적용 섹션을 참조하세요.

유지 관리 업데이트 중 오프라인 리소스

일부 유지 관리 항목을 사용하려면 Amazon RDS에서 DB 클러스터를 잠시 동안 오프라인 상태로 전환해야 합니다. 리소스가 오프라인 상태에 있어야 하는 유지 관리 항목에는 필수 운영 체제 또는 데이터베이스 패칭이 포함됩니다. 이때 보안 및 인스턴스 안정성과 관련된 패치에 한해 필수 패치 작업으로 자동 예약됩니다. 이러한 패치 작업은 드물게 발생하며 일반적인 빈도는 몇 개월에 한 번입니다. 대부분 유지 관리 기간의 일부만 필요합니다.

연기된 DB 인스턴스 및 DB 클러스터 수정 사항

즉시 적용되지 않도록 연기된 DB 클러스터 및 인스턴스 수정 사항은 유지 관리 기간에 적용됩니다. 예를 들어 유지 관리 기간에 DB 인스턴스 클래스나 클러스터 또는 DB 파라미터 그룹을 변경하도록 선택할 수 있습니다. 대기 중인 재부팅 설정을 사용하여 지정한 수정 사항은 대기 중인 유지 관리 목록에 표시되지 않습니다. DB 클러스터 수정에 대한 자세한 내용은 Amazon Aurora DB 클러스터 수정 섹션을 참조하세요.

다음 유지 관리 기간에 보류 중인 수정 사항을 보려면 describe-db-clusters AWS CLI 명령을 사용하고 PendingModifiedValues 필드를 확인합니다.

DescribePendingMaintenanceActions API의 최종 일관성

Amazon RDS DescribePendingMaintenanceActions API는 최종 일관성 모델을 따릅니다. 즉, DescribePendingMaintenanceActions 명령의 결과가 모든 후속 RDS 명령에 즉시 표시되지 않을 수 있습니다. 이전 API 명령을 사용한 즉시 DescribePendingMaintenanceActions를 사용할 때는 이 점을 염두에 두세요.

최종 일관성은 유지 관리 업데이트를 관리하는 방식에 영향을 미칠 수 있습니다. 예를 들어 ApplyPendingMaintenanceActions 명령을 실행하여 DB 클러스터의 데이터베이스 엔진 버전을 업데이트하면 DescribePendingMaintenanceActions가 결국에는 해당 버전을 볼 수 있게 됩니다. 이 시나리오에서 DescribePendingMaintenanceActions는 유지 관리 작업이 적용되었음에도 불구하고 적용되지 않았다고 표시할 수 있습니다.

최종 일관성을 관리하려면 다음을 수행할 수 있습니다.

  • 수정 명령을 실행하기 전에 DB 클러스터의 상태를 확인합니다. 이전 명령이 시스템에 전파될 시간이 충분하도록 지수 백오프 알고리즘을 사용하여 적절한 DescribePendingMaintenanceActions 명령을 실행합니다. 이 작업을 수행하려면 몇 초의 대기 시간부터 시작하여 대기 시간을 5분까지 점진적으로 늘려가며 DescribePendingMaintenanceActions 명령을 반복적으로 실행합니다.

  • DescribePendingMaintenanceActions 명령이 정확한 응답을 반환하더라도 후속 명령 사이에 대기 시간을 추가합니다. 몇 초의 대기 시간으로 시작하는 지수 백오프 알고리즘을 적용하고 대기 시간을 약 5분까지 점진적으로 늘립니다.

보류 중인 유지 관리 업데이트 보기

RDS 콘솔, AWS CLI 또는 RDS API를 사용하여 DB 클러스터에 대해 유지 관리 업데이트를 사용할 수 있는지 확인합니다. 업데이트가 있는 경우에는 다음과 같이 Amazon RDS 콘솔에서 DB 클러스터유지 관리 열에 사용 가능 여부가 표시됩니다.

오프라인 패치 사용 가능

DB 클러스터에 대해 유지 관리 업데이트가 제공되지 않는 경우 그에 대한 열 값은 없음입니다.

DB 클러스터에 대해 유지 관리 업데이트가 제공되는 경우 다음과 같은 열 값이 가능합니다.

  • 필수 – 유지 관리 작업은 리소스에 적용되며 무기한 보류할 수 없습니다.

  • 사용 가능 – 유지 관리 작업을 사용할 수 있습니다. 그러나 리소스에 자동으로 적용되지 않고 수동으로 적용할 수 있습니다.

  • 다음 기간 – 유지 관리 작업은 다음 유지 관리 기간 중에 리소스에 적용됩니다.

  • 진행 중 – 유지 관리 작업이 리소스에 적용되고 있는 중입니다.

업데이트가 있을 경우에는 다음 테이블의 작업 중 하나를 실행할 수 있습니다.

  • 유지 관리 값이 다음 기간인 경우 작업에서 업그레이드 보류를 선택하여 유지 관리 항목을 보류하십시오. 유지 관리 작업이 이미 시작된 경우에는 보류할 수 없습니다.

  • 유지 관리 항목을 즉시 적용합니다.

  • 다음 유지 관리 기간 중 시작할 유지 관리 항목을 예약합니다.

  • 작업이 없습니다.

조치를 취하려면 DB 클러스터를 선택하여 세부 정보를 표시한 후 Maintenance & backups(유지 관리 및 백업)을 선택하십시오. 그러면 보류 중인 유지 관리 항목이 표시됩니다.

보류 중인 유지 관리 항목

유지 관리 기간에 따라 대기 중인 작업의 시작 시기가 결정되지만 이러한 작업의 전체 실행 시간이 줄어들지는 않습니다. 유지 관리 기간에 끝나기 전에 반드시 유지 관리 작업이 끝나도록 되어 있는 것은 아니고, 특정 종료 시각을 지나 계속 진행될 수 있습니다. 자세한 내용은 Amazon RDS 유지 관리 기간 섹션을 참조하세요.

Amazon Aurora 엔진으로의 업데이트에 대한 자세한 내용과 엔진을 업그레이드하고 패치를 적용하는 방법을 보려면 Amazon Aurora MySQL에 대한 데이터베이스 엔진 업데이트Amazon Aurora PostgreSQL에 대한 데이터베이스 엔진 업데이트 단원을 참조하세요.

describe-pending-maintenance-actions AWS CLI 명령을 실행하여 DB 클러스터에 유지 관리 업데이트를 사용할 수 있는지 여부를 확인할 수도 있습니다.

유지 관리 업데이트 적용에 대한 내용은 DB 클러스터에 업데이트 적용 섹션을 참조하세요.

Amazon RDS 유지 관리 기간

유지 관리 기간은 시스템 변경 내용이 적용되는 주 단위의 기간입니다. 모든 DB 클러스터에는 주간 유지 관리 기간이 있습니다. 유지 관리 기간은 수정 사항 및 소프트웨어 패치 적용 시점을 조절할 수 있는 기회입니다. 유지 관리 기간 조정에 대한 자세한 내용은 기본 DB 클러스터 유지 관리 기간 조정 섹션을 참조하세요.

유지 관리가 적용되는 동안 RDS에서 사용자의 DB  클러스터에 있는 리소스 중 일부를 사용합니다. 이에 따라 성능에 미미한 영향이 있을 수 있습니다. DB 인스턴스의 경우 드물지만, 유지 관리 업데이트를 완료하려면 다중 AZ 장애 조치가 필요한 경우가 있을 수 있습니다.

유지 관리 이벤트가 특정 주에 예정되어 있는 경우 사용자가 지정하는 30분의 유지 관리 기간 중에 해당 이벤트가 시작됩니다. 또한 대부분의 유지 관리 이벤트가 30분의 유지 관리 기간 중에 완료됩니다. 단, 대규모 유지 관리 이벤트는 완료하는 데 30분이 넘게 걸릴 수 있습니다. DB 클러스터가 중지되면 유지 관리 기간이 일시 중지됩니다.

지역별로 8시간 블록 시간 중에서 30분 유지 관리 시간이 임의로 선택됩니다. DB 클러스터 생성 시 유지 관리 기간을 지정하지 않으면 RDS에서 임의로 선택한 요일에 30분 유지 관리 기간을 배정합니다.

다음에서 기본 유지 관리 기간이 할당된 리전별 시간 블록을 확인할 수 있습니다.

리전 이름 리전 시간 블록
미국 동부(오하이오) us-east-2 03:00~11:00 UTC
미국 동부(버지니아 북부) us-east-1 03:00~11:00 UTC
미국 서부(캘리포니아 북부 지역) us-west-1 06:00~14:00 UTC
미국 서부(오리건) us-west-2 06:00~14:00 UTC
Africa (Cape Town) af-south-1 03:00~11:00 UTC
Asia Pacific (Hong Kong) ap-east-1 06:00~14:00 UTC
아시아 태평양(하이데라바드) ap-south-2 06:30~14:30 UTC
아시아 태평양(자카르타) ap-southeast-3 08:00~16:00 UTC
아시아 태평양(멜버른) ap-southeast-4 11:00~19:00 UTC
아시아 태평양(뭄바이) ap-south-1 06:00~14:00 UTC
Asia Pacific (Osaka) ap-northeast-3 22:00~23:59 UTC
Asia Pacific (Seoul) ap-northeast-2 13:00~21:00 UTC
아시아 태평양(싱가포르) ap-southeast-1 14:00~22:00 UTC
아시아 태평양(시드니) ap-southeast-2 12:00~20:00 UTC
아시아 태평양(도쿄) ap-northeast-1 13:00~21:00 UTC
Canada (Central) ca-central-1 03:00~11:00 UTC
캐나다 서부(캘거리) ca-west-1 18:00~02:00 UTC
중국(베이징) cn-north-1 06:00~14:00 UTC
China (Ningxia) cn-northwest-1 06:00~14:00 UTC
Europe (Frankfurt) eu-central-1 21:00–05:00 UTC
유럽(아일랜드) eu-west-1 22:00~06:00 UTC
Europe (London) eu-west-2 22:00~06:00 UTC
유럽(밀라노) eu-south-1 02:00~10:00 UTC
유럽(파리) eu-west-3 23:59~07:29 UTC
유럽(스페인) eu-south-2 02:00~10:00 UTC
Europe (Stockholm) eu-north-1 23:00~07:00 UTC
유럽(취리히) eu-central-2 02:00~10:00 UTC
이스라엘(텔아비브) il-central-1 03:00~11:00 UTC
중동(바레인) me-south-1 06:00~14:00 UTC
중동(UAE) me-central-1 05:00~13:00 UTC
남아메리카(상파울루) sa-east-1 00:00~08:00 UTC
AWS GovCloud(미국 동부) us-gov-east-1 17:00~01:00 UTC
AWS GovCloud(미국 서부) us-gov-west-1 06:00~14:00 UTC

Aurora DB 클러스터 마이너 버전 자동 업그레이드

마이너 버전 자동 업그레이드 설정은 Aurora가 DB 클러스터에 업그레이드를 자동으로 적용할지 여부를 지정합니다. 이러한 업그레이드에는 추가 기능과 버그 수정 사항이 들어 있는 패치가 포함된 새 마이너 버전이 포함됩니다.

이 설정은 기본적으로 켜져 있습니다. 각 새 DB 클러스터에 대해 이 설정에 적합한 값을 선택합니다. 중요도, 예상 수명 및 각 업그레이드 후에 수행하는 확인 테스트 양에 따라 값을 선택합니다.

자동 마이너 버전 업그레이드 설정을 켜거나 끄는 방법에 대한 지침은 다음을 참조하세요.

중요

신규 및 기존 DB 클러스터의 경우 이 설정을 클러스터의 DB 인스턴스에 개별적으로 적용하는 것이 아니라 DB 클러스터에 적용하는 것이 좋습니다. 클러스터에서 이 설정이 꺼져 있는 DB 인스턴스가 있으면 DB 클러스터가 자동으로 업그레이드되지 않습니다.

다음 테이블은 클러스터 및 인스턴스 수준에서 적용한 자동 마이너 버전 업그레이드 설정이 작동하는 방식을 보여줍니다.

작업 클러스터 설정 인스턴스 설정 클러스터가 자동으로 업그레이드되었나요?
DB 클러스터에서는 참으로 설정했습니다. True 모든 신규 및 기존 인스턴스에 대해 참
DB 클러스터에서는 거짓으로 설정했습니다. False 모든 신규 및 기존 인스턴스에 대해 거짓 아니요

이전에 DB 클러스터에서 참으로 설정되었습니다.

하나 이상의 DB 인스턴스에서 거짓으로 설정했습니다.

거짓으로 변경 하나 이상의 인스턴스에 대해 거짓 아니요

이전에 DB 클러스터에서 거짓으로 설정되었습니다.

모든 인스턴스가 아닌 하나 이상의 DB 인스턴스에서 참으로 설정했습니다.

False 모든 인스턴스가 아닌 하나 이상의 인스턴스에 대해 참 아니요

이전에 DB 클러스터에서 거짓으로 설정되었습니다.

모든 DB 인스턴스에서 참으로 설정했습니다.

참으로 변경 모든 인스턴스에 대해 참

자동 마이너 버전 업그레이드는 카테고리가 maintenance이며 ID가 RDS-EVENT-0156인 Amazon RDS DB 클러스터 이벤트를 통해 미리 전달됩니다. 자세한 내용은 Amazon RDS 이벤트 카테고리 및 Aurora용 이벤트 메시지 단원을 참조하십시오.

자동 업그레이드는 유지 관리 기간 중에 발생합니다. DB 클러스터에서 개별 DB 인스턴스의 유지 관리 기간이 클러스터 유지 관리 기간과 다른 경우 클러스터 유지 관리 기간이 우선합니다.

Aurora PostgreSQL의 엔진 업데이트에 대한 자세한 내용은 Amazon Aurora PostgreSQL에 대한 데이터베이스 엔진 업데이트 단원을 참조하십시오.

Aurora MySQL의 마이너 버전 자동 업그레이드(Auto minor version upgrade) 설정에 대한 자세한 내용은 마이너 Aurora MySQL 버전 간 자동 업그레이드 활성화 단원을 참조하세요. Aurora MySQL의 엔진 업데이트에 대한 자세한 내용은 Amazon Aurora MySQL에 대한 데이터베이스 엔진 업데이트 단원을 참조하세요.

콘솔, CLI, API를 사용하여 DB 클러스터 수정의 일반 절차를 따르세요.

콘솔

DB 클러스터 수정 페이지의 유지 관리 섹션에서 마이너 버전 자동 업그레이드 사용 확인란을 선택합니다.

AWS CLI

modify-db-cluster AWS CLI 명령을 호출합니다. --db-cluster-identifier 옵션에 DB 클러스터 이름을 지정하고 --auto-minor-version-upgrade 옵션에 true를 지정합니다. 필요에 따라 DB 클러스터에 대해 이 설정을 즉시 사용 설정하는 --apply-immediately 옵션을 지정합니다.

RDS API

ModifyDBCluster API 작업을 호출하고, DBClusterIdentifier 파라미터에 DB 클러스터 이름을 지정하고 AutoMinorVersionUpgrade 파라미터에 true를 지정합니다. 필요에 따라 ApplyImmediately 파라미터를 true로 설정하여 DB 클러스터에 대해 이 설정을 즉시 사용 설정합니다.

DB 클러스터에서 DB 인스턴스 수정의 일반 절차를 따르세요.

콘솔

DB 인스턴스 수정 페이지의 유지 관리 섹션에서 마이너 버전 자동 업그레이드 사용 확인란을 선택합니다.

AWS CLI

modify-db-instance AWS CLI 명령을 호출합니다. --db-instance-identifier 옵션에 해당 DB 인스턴스 이름을 지정하고 true 옵션에 --auto-minor-version-upgrade를 지정합니다. 필요에 따라 DB 인스턴스에 대해 이 설정을 즉시 활성화하는 --apply-immediately 옵션을 지정합니다. 클러스터의 각 DB 인스턴스에 대해 별도의 modify-db-instance 명령을 실행합니다.

RDS API

ModifyDBInstance API 작업을 호출하고, DBInstanceIdentifier 파라미터에 DB 클러스터 이름을 지정하고 AutoMinorVersionUpgrade 파라미터에 true를 지정합니다. 필요에 따라 ApplyImmediately 파라미터를 true로 설정하여 DB 인스턴스에 대해 이 설정을 즉시 활성화합니다. 클러스터의 각 DB 인스턴스에 대해 별도의 ModifyDBInstance 작업을 호출합니다.

다음과 같은 CLI 명령을 사용하여 Aurora MySQL 클러스터의 모든 DB 인스턴스에 대한 AutoMinorVersionUpgrade 설정의 상태를 확인할 수 있습니다.

aws rds describe-db-instances \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,DBInstanceIdentifier:DBInstanceIdentifier,AutoMinorVersionUpgrade:AutoMinorVersionUpgrade}'

이 명령을 실행하면 다음과 비슷한 출력이 생성됩니다.

[ { "DBInstanceIdentifier": "db-writer-instance", "DBClusterIdentifier": "my-db-cluster-57", "AutoMinorVersionUpgrade": true }, { "DBInstanceIdentifier": "db-reader-instance1", "DBClusterIdentifier": "my-db-cluster-57", "AutoMinorVersionUpgrade": false }, { "DBInstanceIdentifier": "db-writer-instance2", "DBClusterIdentifier": "my-db-cluster-80", "AutoMinorVersionUpgrade": true }, ... output omitted ...

이 예시에서는 클러스터의 DB 인스턴스 중 하나에 대해 마이너 버전 자동 업그레이드 사용이 꺼져 있으므로, DB 클러스터 my-db-cluster-57에 대한 마이너 버전 자동 업그레이드 사용도 꺼져 있습니다.

Aurora MySQL 유지 관리 업데이트 빈도 선택

각 DB 클러스터에 대해 Aurora MySQL 업그레이드가 자주 발생하는지 또는 드물게 발생하는지 제어할 수 있습니다. 적합한 방법은 Aurora MySQL 사용량 및 Aurora에서 실행되는 애플리케이션의 우선순위에 따라 다릅니다. 업그레이드를 자주 수행하지 않아도 되는 Aurora MySQL 장기 안정성 (LTS) 릴리스에 대한 자세한 내용은 Aurora MySQL LTS(장기 지원) 릴리스 섹션을 참조하세요.

다음 조건이 일부 또는 모두 적용되는 경우 Aurora MySQL 클러스터를 드물게 업그레이드하도록 선택할 수 있습니다.

  • Aurora MySQL 데이터베이스 엔진을 업데이트할 때마다 애플리케이션의 테스트 주기가 오래 걸리는 경우

  • 동일한 Aurora MySQL 버전에서 많은 DB 클러스터 또는 많은 애플리케이션이 모두 실행 중일 때, 모든 DB 클러스터와 관련 애플리케이션을 동시에 업그레이드하고 싶은 경우

  • Aurora MySQL과 RDS for MySQL을 모두 사용하는 경우 Aurora MySQL 클러스터 및 RDS MySQL DB 인스턴스를 동일한 수준의 MySQL과 호환되도록 유지하려는 경우

  • Aurora MySQL 애플리케이션이 프로덕션 환경이거나 업무상 중요한 애플리케이션일 때, 중요 패치의 경우 드문 경우를 제외하고는 업그레이드에 대한 가동 중지를 감당할 수 없는 경우

  • 후속 Aurora MySQL 버전에서 해결되는 성능 문제나 기능 차이로 인해 Aurora MySQL 애플리케이션이 제한되지 않는 경우

위의 요소가 현재 상황에 적용되는 경우 Aurora MySQL DB 클러스터에 강제 적용되는 업그레이드 수를 제한할 수 있습니다. 해당 DB 클러스터를 생성하거나 업그레이드할 때 "LTS(장기 지원)" 버전으로 알려진 특정 Aurora MySQL 버전을 선택하면 됩니다. 이렇게 하면 해당 DB 클러스터의 업그레이드 주기, 테스트 주기 및 업그레이드 관련 중단 수가 최소화됩니다.

다음 조건이 일부 또는 모두 적용되는 경우 Aurora MySQL 클러스터를 자주 업그레이드하도록 선택할 수 있습니다.

  • 애플리케이션의 테스트 주기가 간단한 경우

  • 애플리케이션이 아직 개발 단계에 있는 경우

  • 데이터베이스 환경이 다양한 Aurora MySQL 버전, 또는 Aurora MySQL 및 RDS for MySQL 버전을 사용하는 경우 각 Aurora MySQL 클러스터에는 자체 업그레이드 주기가 있습니다.

  • Aurora MySQL 사용량을 늘리기 전에 특정 성능 또는 기능 개선을 대기하고 있는 경우

위의 요소가 현재 상황에 적용되는 경우 Aurora가 중요한 업그레이드를 더 자주 적용하도록 활성화할 수 있습니다. 그러기 위해서는 Aurora MySQL DB 클러스터를 LTS 버전보다 최신인 Aurora MySQL 버전으로 업그레이드해야 합니다. 이렇게 하면 최신 성능 향상, 버그 수정 및 기능을 보다 신속하게 사용할 수 있습니다.