Aurora Serverless v2에 대해 자동 일시 중지 및 재개를 사용하여 0ACU로 크기 조정
지정된 기간 내에 사용자 활동으로 시작된 연결이 없는 경우 Aurora Serverless v2 DB 인스턴스가 0ACU로 스케일 다운되고 자동으로 일시 중지되도록 지정할 수 있습니다. DB 클러스터에 대해 최소 ACU 값을 0으로 지정하면 됩니다. 인스턴스가 일시 중지된 상태인 동안에는 인스턴스 용량에 대한 요금이 부과되지 않습니다. 가볍게 사용되거나 장시간 활동이 없는 Aurora 클러스터에 대해 자동 일시 중지 및 재개 기능(자동 일시 중지)을 활성화하면 데이터베이스 플릿의 비용을 관리하는 데 도움이 될 수 있습니다.
참고
자동 일시 중지 기능은 Aurora PostgreSQL과 Aurora MySQL 모두에서 Aurora Serverless v2에 사용할 수 있습니다. 이 기능을 활용하려면 Aurora 데이터베이스 엔진 버전을 업그레이드해야 할 수 있습니다. 최소 용량을 0ACU로 지정할 수 있는 엔진 버전은 Aurora Serverless v2 용량 섹션을 참조하세요.
주제
Aurora Serverless v2 자동 일시 중지 기능 개요
Aurora Serverless v2 DB 인스턴스는 사용자 연결 없이 일정 기간이 지나면 자동으로 일시 중지되고 연결 요청이 도착하면 자동으로 재개될 수 있습니다. Aurora Serverless v2 자동 일시 중지/재개 기능은 엄격한 서비스 수준 목표(SLO)가 없는 시스템의 비용을 관리하는 데 도움이 됩니다. 예를 들어 개발 및 테스트에 사용되는 클러스터에 이 기능을 활성화하거나 데이터베이스가 재개되는 동안 잠시 일시 중지할 수 있는 내부 애플리케이션에 이 기능을 활성화할 수 있습니다. 워크로드에 비활성 기간이 있고 인스턴스가 재개되는 동안 연결 지연을 약간 허용할 수 있는 경우 Aurora Serverless v2 인스턴스에 자동 일시 중지를 사용하여 비용을 절감하는 것을 고려해 보세요.
클러스터의 Aurora Serverless v2 DB 인스턴스의 자동 일시 중지 가능 여부와 각 인스턴스가 일시 중지되기 전에 유휴 상태여야 하는 기간을 지정하여 이 동작을 제어합니다. Aurora 클러스터의 모든 Aurora Serverless v2 DB 인스턴스에 대해 자동 일시 중지 동작을 활성화하려면 클러스터의 최소 용량 값을 0ACU로 설정하세요.
이전에 비활성 기간이 지난 후 0ACU로 크기 조정되는 Aurora Serverless v1 기능을 활용한 경우 Aurora Serverless v2로 업그레이드하고 해당 자동 일시 중지 기능을 사용할 수 있습니다.
자동 일시 중지 기능을 통한 비용 절감의 이점은 클러스터 중지/시작 기능을 사용하는 것과 유사합니다. Aurora Serverless v2에 대한 자동 일시 중지의 경우 추가적인 이점은 중지된 클러스터를 시작하는 것보다 재개가 더 빠르다는 것과 각 DB 인스턴스를 일시 중지하고 재개할 시기를 결정하는 프로세스를 자동화한다는 것입니다.
또한 자동 일시 중지 기능을 사용하면 클러스터 내의 컴퓨팅 리소스 비용을 더 세부적으로 제어할 수 있습니다. 클러스터의 라이터 인스턴스와 다른 리더는 항상 활성 상태를 유지하는 동안에도 일부 리더 인스턴스가 일시 중지되도록 할 수 있습니다. 이렇게 하려면 다른 인스턴스와 독립적으로 일시 중지할 수 있는 리더 인스턴스에 2~15 범위의 장애 조치 우선순위를 할당합니다.
라이터 인스턴스와 장애 조치 우선순위가 0 및 1인 모든 리더 인스턴스는 항상 동시에 일시 중지되고 재개됩니다. 따라서 이 그룹의 인스턴스는 지정된 시간 간격 동안 연결이 없는 경우 일시 중지됩니다.
Aurora DB 클러스터에는 라이터 및 리더 DB 인스턴스와 프로비저닝된 DB 인스턴스 및 Aurora Serverless v2 DB 인스턴스의 조합이 포함될 수 있습니다. 따라서 이 기능을 효과적으로 사용하려면 자동 일시 중지 메커니즘의 다음 측면을 이해하는 것이 좋습니다.
-
DB 인스턴스가 자동으로 일시 중지될 수 있는 상황
-
DB 인스턴스가 일시 중지되지 않을 수 있는 경우. 예를 들어, 일부 Aurora 기능을 활성화하거나 클러스터에서 특정 종류의 작업을 수행하면 인스턴스에 연결하지 않아도 인스턴스가 일시 중지되지 않을 수 있습니다.
-
인스턴스가 일시 중지된 동안 모니터링 및 결제에 미치는 영향
-
DB 인스턴스가 처리를 재개하게 하는 작업
-
일시 중지 및 재개 이벤트가 발생할 때 DB 인스턴스의 용량이 변경되는 방식
-
DB 인스턴스가 일시 중지되기 전에 유휴 간격을 제어하는 방법
-
DB 인스턴스가 처리를 재개하는 동안 기간을 처리하도록 애플리케이션 로직을 코딩하는 방법
Aurora Serverless v2 자동 일시 중지 기능에 대한 사전 조건 및 제한 사항
자동 일시 중지 기능을 사용하기 전에 사용할 엔진 버전을 확인하세요. 또한 자동 일시 중지가 사용하려는 다른 Aurora 기능과 함께 작동하는지 확인하세요. 자동 일시 중지를 지원되지 않는 엔진 버전을 사용하는 경우 자동 일시 중지를 켤 수 없습니다. 호환되지 않는 기능의 경우 자동 일시 중지와 함께 사용해도 오류가 발생하지 않습니다. 클러스터가 호환되지 않는 기능 또는 설정을 사용하는 경우 Aurora Serverless v2 인스턴스가 자동으로 일시 중지되지 않습니다.
-
Aurora PostgreSQL을 사용하는 경우 데이터베이스 엔진이 버전 16.3, 15.7, 14.12 또는 13.15 이상에서 실행 중이어야 합니다.
-
Aurora MySQL을 사용하는 경우 데이터베이스 엔진이 버전 3.08.0 이상을 실행 중이어야 합니다.
-
이 기능을 사용할 수 있는 엔진 버전 및 AWS 리전의 전체 목록은 Aurora Serverless v2를 지원하는 리전 및 Aurora DB 엔진 섹션을 참조하세요.
-
Aurora Serverless v2 인스턴스가 재개되면 인스턴스가 일시 중지되었을 때보다 용량이 낮을 수 있습니다. 세부 정보는 Aurora Serverless v2와 Aurora Serverless v1의 자동 일시 중지 동작 차이을 참조하세요.
특정 조건 또는 설정으로 인해 Aurora Serverless v2 인스턴스가 자동으로 일시 중지되지 않습니다. 자세한 내용은 Aurora Serverless v2가 자동 일시 중지되지 않는 상황 단원을 참조하십시오.
자동 일시 중지 기능 켜기 및 끄기
클러스터 수준에서 자동 일시 중지 기능을 켜거나 끌 수 있습니다. 이렇게 하려면 클러스터의 최소 및 최대 용량을 조정할 때와 동일한 프로시저를 사용합니다. 자동 일시 중지 기능은 최소 용량인 0ACU로 표시됩니다.
클러스터의 Aurora Serverless v2 인스턴스에 대해 자동 일시 중지 켜기
클러스터의 Aurora Serverless v2 용량 설정의 프로시저를 따르세요. 최소 용량으로 0ACU를 선택합니다. 최소 용량을 0ACU로 선택하면 인스턴스가 자동으로 일시 중지되기 전의 유휴 상태 시간도 지정할 수 있습니다.
다음 CLI 예시에서는 자동 일시 중지 기능이 활성화되고 자동 일시 중지 간격이 10분(600초)으로 설정된 Aurora 클러스터를 만드는 방법을 보여줍니다.
aws rds create-db-cluster \ --db-cluster-identifier
my-serverless-v2-cluster
\ --regioneu-central-1
\ --engineaurora-mysql
\ --engine-version8.0
\ --serverless-v2-scaling-configuration MinCapacity=0
,MaxCapacity=4
,SecondsUntilAutoPause=600
\ --master-usernamemyuser
\ --manage-master-user-password
다음 CLI 예시에서는 기존 Aurora 클러스터에 대해 자동 일시 중지 기능을 켤 수 있는 방법을 보여줍니다. 이 예시에서는 자동 일시 중지 간격을 1시간(3,600초)으로 설정합니다.
aws rds modify-db-cluster --db-cluster-identifier serverless-v2-cluster \ --serverless-v2-scaling-configuration MinCapacity=0,MaxCapacity=80,SecondsUntilAutoPause=3600 aws rds describe-db-clusters --db-cluster-identifier serverless-v2-cluster \ --query 'DBClusters[*].ServerlessV2ScalingConfiguration|[0]' { "MinCapacity": 0, "MaxCapacity": 80.0, "SecondsUntilAutoPause": 3600 }
구성 가능한 Aurora Serverless v2 자동 일시 중지 제한 시간 간격
제한 시간 간격은 Aurora 클러스터의 ServerlessV2ScalingConfiguration
속성에 표시됩니다. 최소 용량이 0ACU로 설정된 경우 Aurora 클러스터를 만들거나 수정할 때 AWS Management Console에서이 간격을 지정할 수 있습니다. Aurora 클러스터를 만들거나 수정할 때 --serverless-v2-scaling-configuration
파라미터를 사용하여 AWS CLI에서 이 간격을 지정할 수 있습니다. Aurora 클러스터를 만들거나 수정할 때 ServerlessV2ScalingConfiguration
파라미터를 사용하여 RDS API에서 이 간격을 지정할 수 있습니다.
설정할 수 있는 최소 간격은 300초(5분)입니다. 간격을 지정하지 않으면 이 값이 기본값입니다. 설정할 수 있는 최대 간격은 86,400초(1일)입니다.
클러스터의 최소 용량을 0이 아닌 값으로 변경하여 클러스터의 자동 일시 중지 기능을 끄는 경우를 가정해 보겠습니다. 이 경우 간격 속성이 ServerlessV2ScalingConfiguration
속성에서 제거됩니다. 해당 속성이 없으면 해당 클러스터에 대해 자동 일시 중지 기능이 꺼져 있음을 추가로 확인할 수 있습니다. 나중에 자동 일시 중지를 다시 켜면 그 시점에 사용자 지정 간격을 다시 지정할 수 있습니다.
자동 일시 중지된 Aurora Serverless v2 인스턴스 재개
-
일시 중지된 Aurora Serverless v2 인스턴스에 연결하면 인스턴스가 자동으로 재개되고 연결을 수락합니다.
-
유효한 자격 증명이 포함되지 않은 연결을 시도하더라도 DB 인스턴스가 재개됩니다.
-
라이터 엔드포인트를 통해 연결하면 Aurora는 라이터 DB 인스턴스가 자동 일시 중지된 경우 재개합니다. 동시에 Aurora는 장애 조치 우선순위가 0 또는 1인 자동 일시 중지된 리더 인스턴스를 재개합니다. 즉, 용량은 라이터 인스턴스의 용량과 연결됩니다.
-
리더 엔드포인트를 통해 연결하는 경우 Aurora는 리더 인스턴스를 무작위로 선택합니다. 해당 리더 인스턴스가 일시 중지되면 Aurora가 인스턴스를 재개합니다. 또한 Aurora는 라이터 인스턴스를 먼저 재개합니다. 활성 상태인 리더 인스턴스가 있으면 라이터 인스턴스가 항상 활성 상태여야 하기 때문입니다. Aurora가 해당 라이터 인스턴스를 재개하면 장애 조치 승격 계층이 0 및 1인 리더 인스턴스도 재개됩니다.
-
RDS 데이터 API를 통해 클러스터에 요청을 보내면 라이터 인스턴스가 일시 중지된 경우 Aurora가 재개합니다. 그런 다음 Aurora는 데이터 API 요청을 처리합니다.
-
DB 클러스터 파라미터 그룹에서 구성 파라미터의 값을 변경하면 Aurora는 해당 클러스터 파라미터 그룹을 사용하는 클러스터에서 일시 중지된 Aurora Serverless v2 인스턴스를 자동으로 재개합니다. 마찬가지로 DB 파라미터 그룹에서 파라미터 값을 변경하면 Aurora는 해당 DB 파라미터 그룹을 사용하는 일시 중지된 Aurora Serverless v2 인스턴스를 자동으로 재개합니다. 다른 클러스터 파라미터 그룹을 할당하도록 클러스터를 수정하거나 다른 DB 파라미터 그룹을 할당하도록 인스턴스를 수정할 때도 동일한 자동 재개 동작이 적용됩니다.
-
역추적 요청을 수행하면 Aurora Serverless v2 라이터 인스턴스가 일시 중지된 경우 자동으로 재개됩니다. Aurora는 라이터 인스턴스가 재개된 후 역추적 요청을 처리합니다. Aurora Serverless v2 인스턴스가 일시 중지된 시간으로 역추적할 수 있습니다.
-
클러스터 스냅샷을 만들거나 스냅샷을 삭제해도 Aurora Serverless v2 인스턴스가 재개되지 않습니다.
-
Aurora 복제본을 만들면 Aurora가 복제되는 클러스터의 라이터 인스턴스를 재개합니다.
-
일시 중지된 인스턴스가 재개를 완료하기 전에 많은 수의 연결 요청을 수신하면 일부 세션이 연결되지 않을 수 있습니다. 자동 일시 중지가 활성화된 일부 Aurora Serverless v2 인스턴스가 있는 Aurora 클러스터에 연결을 위한 재시도 로직을 구현하는 것이 좋습니다. 예를 들어 실패한 연결을 세 번 재시도할 수 있습니다.
-
Aurora는 인스턴스를 깨우지 않고도 일부 유형의 사소한 내부 유지 관리를 수행할 수 있습니다. 그러나 클러스터의 유지 관리 기간 동안 발생하는 일부 유형의 유지 관리에서는 Aurora가 인스턴스를 재개해야 합니다. 유지 관리가 완료되면 지정된 간격 이후에 더 이상 활동이 없으면 인스턴스가 자동으로 일시 중지됩니다.
참고
Aurora는 PostgreSQL
pg_cron
확장 또는 MySQL 이벤트 스케줄러와 같은 엔진별 예약 작업을 위해 일시 중지된 인스턴스를 자동으로 재개하지 않습니다. 이러한 작업이 실행되도록 하려면 예약된 시간 전에 인스턴스에 수동으로 연결을 시작하세요. Aurora는 DB 인스턴스가 일시 중지되어 있는 동안 예약된 시간이 도래하는 작업을 대기열에 추가하지 않습니다. 인스턴스가 나중에 재개되면 이러한 작업은 건너뜁니다. -
Aurora Serverless v2 인스턴스가 자동 일시 중지된 동안 Aurora 클러스터가 장애 조치를 거치는 경우 Aurora는 인스턴스를 재개한 다음 해당 인스턴스를 라이터로 승격할 수 있습니다. 인스턴스가 일시 중지된 동안 클러스터에서 하나 이상의 DB 인스턴스가 제거되는 경우에도 마찬가지일 수 있습니다. 이 경우 인스턴스가 재개되면 즉시 라이터가 됩니다.
-
클러스터의 속성을 변경하는 작업으로 인해서도 자동 일시 중지된 Aurora Serverless v2 인스턴스가 재개됩니다. 예를 들어 자동 일시 중지된 인스턴스는 다음과 같은 작업을 위해 재개됩니다.
-
클러스터의 크기 조정 범위 변경
-
클러스터의 엔진 버전 업그레이드
-
일시 중지된 인스턴스에서 로그 파일 설명 또는 다운로드. CloudWatch로의 로그 업로드를 활성화하고 CloudWatch를 통해 로그를 분석하여 일시 중지된 인스턴스의 기록 로그 데이터를 검사할 수 있습니다.
-
클러스터의 Aurora Serverless v2 인스턴스에 대해 자동 일시 중지 끄기
클러스터의 Aurora Serverless v2 용량 설정의 프로시저를 따르세요. 최소 용량에서 0.5 이상의 값을 선택합니다. 자동 일시 중지 기능을 끄면 인스턴스가 유휴 상태가 되는 간격이 재설정됩니다. 자동 일시 중지를 다시 켜면 새로운 제한 시간 간격을 지정하게 됩니다.
다음 CLI 예시에서는 기존 Aurora 클러스터에 대해 자동 일시 중지 기능을 끌 수 있는 방법을 보여줍니다. describe-db-clusters
출력은 최소 용량이 0이 아닌 값으로 설정된 경우 SecondsUntilAutoPause
속성이 제거됨을 보여줍니다.
aws rds modify-db-cluster --db-cluster-identifier serverless-v2-cluster \ --serverless-v2-scaling-configuration MinCapacity=2,MaxCapacity=80 aws rds describe-db-clusters --db-cluster-identifier serverless-v2-cluster \ --query 'DBClusters[*].ServerlessV2ScalingConfiguration|[0]' { "MinCapacity": 2, "MaxCapacity": 80.0 }
Aurora Serverless v2 자동 일시 중지 기능의 작동 방식
다음 정보를 사용하여 자동 일시 중지 기능의 사용을 계획할 수 있습니다. 인스턴스가 일시 중지되거나 재개되거나 활성 상태를 유지하는 상황을 이해하면 가용성, 응답성 및 비용 절감 간의 균형을 유지하는 데 도움이 될 수 있습니다.
주제
Aurora Serverless v2 인스턴스가 일시 중지되면 발생하는 상황
DB Aurora Serverless v2 인스턴스가 연결 없이 일정 기간 후에 일시 중지되는 경우:
-
Aurora는 인스턴스에 있는 ACU 수와 관계없이 인스턴스에 대한 연결 없이 지정된 기간이 경과하면 인스턴스 일시 중지를 시작합니다.
-
일시 중지 메커니즘은 즉각적이지 않습니다. 자동 일시 중지될 Aurora Serverless v2 인스턴스는 잠시 기다렸다가 Aurora 스토리지의 모든 변경 사항을 따라잡을 수 있습니다.
-
해당 인스턴스에 대한 인스턴스 요금은 보류됩니다. 인스턴스가 일시 중지된 동안
ServerlessV2Usage
지표의 값은 0입니다. -
인스턴스의 상태 값은 변경되지 않습니다. 상태는 여전히 '사용 가능'으로 표시됩니다.
-
인스턴스가 데이터베이스 로그 파일에 대한 쓰기를 중지합니다.
CPUUtilization
및ACUUtilization
의 경우 0%,ServerlessDatabaseCapacity
의 경우 0을 등록하는 것 외에는 CloudWatch로 지표 전송을 중지합니다. -
Aurora는 Aurora Serverless v2 DB 인스턴스가 일시 중지를 시작하고, 일시 중지를 완료하고, 일시 중지 메커니즘이 중단되거나 실패할 때 이벤트를 내보냅니다. 이러한 이벤트에 대한 자세한 내용은 DB 인스턴스 이벤트 섹션을 참조하세요.
자동 일시 중지된 Aurora Serverless v2 인스턴스가 재개되면 발생하는 상황
Aurora Serverless v2 DB 인스턴스가 자동으로 일시 중지된 후 재개되면 다음 조건이 적용됩니다.
-
pending-reboot
변경 사항에 포함된 파라미터 변경 사항은 인스턴스가 재개될 때 적용됩니다. -
Aurora는 각 Aurora Serverless v2 DB 인스턴스가 재개를 시작하고, 재개를 완료하고, 어떤 이유로든 인스턴스를 재개할 수 없을 때 인스턴스 수준 이벤트를 내보냅니다. 이러한 이벤트에 대한 자세한 내용은 DB 인스턴스 이벤트 섹션을 참조하세요.
-
요청된 연결은 DB 인스턴스가 재개를 완료한 후 설정됩니다. 일반적인 재개 소요 시간은 약 15초일 수 있으므로 클라이언트 제한 시간 설정을 15초보다 길게 조정하는 것이 좋습니다. 예를 들어 JDBC 드라이버 설정에서
connectTimeout
및sslResponseTimeout
설정의 값을 15초보다 길게 조정할 수 있습니다.
참고
Aurora Serverless v2 인스턴스가 24시간 이상 일시 중지된 상태로 남아 있는 경우 Aurora는 인스턴스를 재개하는 데 더 오래 걸리는 더 깊은 휴면 상태로 전환할 수 있습니다. 이 경우 재개 소요 시간은 30초 이상일 수 있으며, 이는 인스턴스를 재부팅하는 데 소요되는 시간과 거의 동일합니다. 데이터베이스에 하루 이상 지속되는 비활성 기간이 있는 경우 연결 제한 시간을 30초 이상으로 설정하는 것이 좋습니다.
자동 일시 중지된 Aurora Serverless v2 클러스터에 대한 인스턴스 요금 청구 작동 방식
Aurora Serverless v2 인스턴스가 자동 일시 중지된 동안 인스턴스 요금은 0입니다. ServerlessV2Usage
지표는 이 기간 동안 0입니다. AWS는 해당 DB 인스턴스에 연결되지 않은 클러스터의 Aurora 스토리지 및 기타 측면에 대해서는 여전히 요금을 청구합니다.
Aurora Serverless v2가 자동 일시 중지되지 않는 상황
-
DB 클러스터의 최소 용량 값이 0ACU보다 높으면 클러스터의 Aurora Serverless v2 인스턴스가 자동으로 일시 중지되지 않습니다. 자동 일시 중지 기능을 사용할 수 있기 전부터 있던 Aurora Serverless v2 인스턴스가 포함된 기존 클러스터의 경우 최소 용량 설정은 0.5ACU였습니다. 이러한 클러스터에서 자동 일시 중지 기능을 사용하려면 최소 용량 설정을 0ACU로 수정하세요.
-
사용자가 시작한 연결이 Aurora Serverless v2 인스턴스에 열려 있으면 인스턴스가 일시 중지되지 않습니다. 또한 패치 적용 및 업그레이드와 같은 활동이 진행되는 동안에는 인스턴스가 일시 중지되지 않습니다. Aurora가 상태 확인에 사용하는 관리 연결은 활동으로 간주되지 않으며 인스턴스 일시 중지를 방지하지 않습니다.
-
논리적 복제가 활성화된 Aurora PostgreSQL 클러스터 또는 binlog 복제가 활성화된 Aurora MySQL 클러스터에서 라이터 인스턴스와 장애 조치 승격 계층이 0 및 1인 리더 인스턴스는 자동으로 일시 중지되지 않습니다. Aurora는 복제 연결의 상태를 확인하기 위해 지속적으로 최소한의 활동을 수행합니다.
복제가 활성화된 클러스터의 경우 소스 클러스터에 자동 일시 중지되는 Aurora 리더 인스턴스를 여전히 보유할 수 있습니다. 이렇게 하려면 장애 조치 우선순위를 0 또는 1 이외의 값으로 설정합니다. 그러면 라이터 인스턴스와 독립적으로 일시 중지될 수 있습니다.
-
Aurora 클러스터에 연결된 RDS Proxy가 있는 경우 프록시는 클러스터의 각 DB 인스턴스에 대해 열린 연결을 유지합니다. 따라서 이러한 클러스터의 Aurora Serverless v2 인스턴스는 자동으로 일시 중지되지 않습니다.
-
클러스터가 Aurora 글로벌 데이터베이스의 기본 클러스터인 경우 Aurora는 Aurora Serverless v2 라이터 인스턴스를 자동으로 일시 중지하지 않습니다. 글로벌 데이터베이스의 다른 클러스터를 관리하기 위해 라이터 인스턴스에 일정한 수준의 활동이 필요하기 때문입니다. 라이터 인스턴스는 활성 상태로 유지되므로 장애 조치 우선순위가 0 또는 1인 Aurora Serverless v2 리더 인스턴스도 자동 일시 중지되지 않습니다.
-
Aurora 글로벌 데이터베이스의 보조 클러스터에 있는 Aurora Serverless v2 인스턴스는 자동으로 일시 중지되지 않습니다. DB 클러스터가 독립 실행형 클러스터로 승격될 경우 다른 모든 조건이 충족되면 자동 일시 중지 기능이 적용됩니다.
-
Redshift와 연결된 제로 ETL 통합이 있는 클러스터에서 라이터 인스턴스와 장애 조치 승격 계층이 0 및 1인 리더 인스턴스는 자동으로 일시 중지되지 않습니다.
-
Aurora PostgreSQL 인스턴스에 Babelfish 기능이 활성화된 경우 인스턴스의 기본 데이터베이스 포트 활동 외에도 T-SQL 포트의 연결 및 활동은 인스턴스가 자동으로 일시 중지되는 것을 방지합니다.
클러스터 중지/시작 기능을 사용한 자동 일시 중지의 작동 방식
자동 일시 중지 기능이 활성화된 경우 Aurora 클러스터를 중지하고 시작할 수 있습니다. 일부 인스턴스가 일시 중지되어 있어도 상관없습니다. 클러스터를 다시 시작하면 일시 중지된 Aurora Serverless v2 인스턴스가 자동으로 재개됩니다.
Aurora 클러스터가 중지된 동안 일시 중지된 Aurora Serverless v2 인스턴스는 연결 시도에 따라 자동으로 재개되지 않습니다. 클러스터가 재개되면 Aurora Serverless v2 인스턴스 일시 중지 및 재개를 위한 일반적인 메커니즘이 적용됩니다.
자동 일시 중지된 Aurora Serverless v2 클러스터에 대한 유지 관리 및 업그레이드의 작동 방식
-
Aurora Serverless v2 인스턴스가 자동으로 일시 중지된 동안 Aurora 클러스터를 업그레이드하려고 하면 Aurora가 인스턴스를 재개하고 업그레이드합니다.
-
Aurora는 마이너 버전 업그레이드 및 파라미터 그룹과 같은 속성 변경과 같은 유지 관리를 수행하기 위해 자동 일시 중지된 Aurora Serverless v2 인스턴스를 주기적으로 재개합니다.
-
업그레이드 또는 유지 관리 적용과 같은 관리 작업을 위해 Aurora Serverless v2 인스턴스가 재개되면 Aurora는 해당 인스턴스를 다시 일시 중지하기 전에 20분 이상 기다립니다. 백그라운드 작업이 있는 경우 마무리될 시간을 주는 것입니다. 또한 이 20분의 시간이 주어지기 때문에 인스턴스가 여러 관리 작업을 연속으로 거치는 경우 인스턴스가 여러 번 일시 중지와 재개를 반복하지 않아도 됩니다.
Aurora Serverless v2와 Aurora Serverless v1의 자동 일시 중지 동작 차이
-
재개 소요 시간은 Aurora Serverless v1에 비해 Aurora Serverless v2에서 개선되었습니다. 인스턴스가 일시 중지된 기간이 24시간 미만이면 재개 소요 시간은 일반적으로 약 15초입니다. 인스턴스가 일시 중지된 기간이 24시간을 초과하면 재개 소요 시간이 더 길어질 수 있습니다.
-
Aurora Serverless v2가 다중 AZ 클러스터에 적용되는 방식으로 인해 클러스터의 일부 DB 인스턴스가 일시 중지되고 다른 DB 인스턴스는 활성 상태일 수 있습니다. 라이터 인스턴스는 클러스터 내에서 특정 활동을 조정하는 데 필요하므로 실행 중인 리더 인스턴스가 있을 때마다 재개됩니다. Aurora Serverless v1은 리더 인스턴스를 사용하지 않으므로 전체 클러스터가 항상 일시 중지 상태이거나 활성 상태입니다.
-
리더 엔드포인트가 연결할 리더 인스턴스를 무작위로 선택하면 해당 리더 인스턴스가 이미 활성 상태이거나 자동 일시 중지되었을 수 있습니다. 따라서 리더 인스턴스에 액세스하는 데 소요되는 시간은 다양하고 예측하기 어려울 수 있습니다. 따라서 Aurora Serverless v2 및 자동 일시 중지를 사용하는 다중 AZ 클러스터의 경우 모든 읽기 전용 세션을 리더 엔드포인트로 전달하는 대신 특정 읽기 전용 사용 사례에 대한 사용자 지정 엔드포인트를 설정하는 것이 도움이 될 수 있습니다.
-
Aurora Serverless v2 인스턴스는 프로비저닝된 인스턴스와 동일한 빈도로 유지 관리 작업을 거칩니다. Aurora는 이러한 유지 관리가 필요할 때 인스턴스를 자동으로 재개하므로 Aurora Serverless v1 클러스터보다 Aurora Serverless v2 인스턴스가 더 자주 재개되는 것을 볼 수 있습니다.
다양한 유형의 Aurora 클러스터에서 Aurora Serverless v2 자동 일시 중지의 작동 방식
자동 일시 중지 기능에 대한 고려 사항은 Aurora 클러스터에 있는 인스턴스 수, 리더 인스턴스의 장애 조치 승격 계층, 모든 인스턴스가 Aurora Serverless v2인지 또는 Aurora Serverless v2와 프로비저닝의 조합인지에 따라 달라집니다.
자동 일시 중지 사용 시 권장되는 Aurora 클러스터 레이아웃
자동 일시 중지 기능이 활성화되면 사용 사례에 맞게 고가용성, 빠른 응답 및 확장성의 적절한 균형을 맞추기 위해 Aurora 클러스터를 조정할 수 있습니다. 이렇게 하려면 클러스터의 DB 인스턴스에 대해 Aurora Serverless v2 인스턴스, 프로비저닝된 인스턴스 및 장애 조치 승격 계층의 조합을 선택합니다.
다음 유형의 구성은 클러스터에 대한 고가용성과 비용 최적화 간의 절충점을 보여줍니다.
-
개발 및 테스트 시스템의 경우 Aurora Serverless v2 DB 인스턴스를 사용하여 단일 AZ DB 클러스터를 설정할 수 있습니다. 단일 인스턴스가 모든 읽기 및 쓰기 요청을 처리합니다. 클러스터를 상당한 시간 동안 사용하지 않으면 DB 인스턴스가 일시 중지됩니다. 이때 클러스터의 DB 컴퓨팅 요금 부과도 일시 중지됩니다.
-
고가용성이 우선순위이지만 클러스터에 여전히 완전히 유휴 상태인 기간이 있는 애플리케이션을 실행하는 시스템의 경우 라이터 및 리더 DB 인스턴스가 모두 Aurora Serverless v2인 다중 AZ 클러스터를 설정할 수 있습니다. 리더 인스턴스를 장애 조치 우선순위 0 또는 1로 설정하여 라이터와 리더 인스턴스가 동시에 일시 중지되고 재개되도록 합니다. 이제 클러스터가 활성화되어 있는 동안 빠른 장애 조치의 이점을 누릴 수 있습니다. 클러스터가 자동 일시 중지 임곗값보다 오래 유휴 상태로 유지되면 두 인스턴스 모두에 대한 DB 인스턴스 요금 부과가 일시 중지됩니다. 클러스터가 처리를 재개하면 첫 번째 데이터베이스 세션이 연결하는 데 잠시 시간이 걸립니다.
-
클러스터가 최소한의 활동으로 지속적으로 활성 상태이고 모든 연결에 대해 빠른 응답이 필요하다고 가정해 보겠습니다. 이 경우 둘 이상의 Aurora Serverless v2 리더 인스턴스로 클러스터를 만들고 일부 리더 인스턴스의 용량을 라이터에서 분리할 수 있습니다. 라이터 인스턴스와 리더 인스턴스 하나에 대해 장애 조치 우선순위 0 또는 1을 지정합니다. 다른 리더 인스턴스에 대해 1보다 큰 우선순위를 지정합니다. 이렇게 하면 라이터와 리더 중 하나가 활성 상태를 유지하는 동안에도 우선순위가 높은 계층의 리더 인스턴스가 자동으로 일시 중지될 수 있습니다.
이 경우 몇 가지 다른 기법을 사용하여 유휴 기간 동안 여전히 낮은 용량으로 스케일 다운하면서 클러스터를 지속적으로 사용 가능하도록 할 수 있습니다.
-
라이터 및 우선순위가 0 또는 1인 리더에 프로비저닝된 인스턴스를 사용할 수 있습니다. 이렇게 하면 두 DB 인스턴스는 절대 자동 일시 중지되지 않으며 데이터베이스 트래픽을 처리하고 장애 조치를 수행하는 데 항상 사용 가능합니다.
-
더 높은 우선순위 계층의 Aurora Serverless v2 인스턴스가 포함되지만 라이터 또는 승격 계층이 0 또는 1인 리더는 포함되지 않는 사용자 지정 엔드포인트를 설정할 수 있습니다. 이렇게 하면 지연 시간에 민감하지 않은 읽기 전용 세션을 자동 일시 중지될 수 있는 리더에게 전달할 수 있습니다. Aurora가 항상 깨어 있는 리더 인스턴스 또는 자동 일시 중지된 인스턴스 중 하나로 리더 엔드포인트 연결을 전달할 수 있으므로 이러한 요청에 리더 엔드포인트를 사용하지 않아도 됩니다. 사용자 지정 엔드포인트를 사용하면 빠른 응답 또는 추가 크기 조정 용량에 대한 기본 설정에 따라 다양한 인스턴스 그룹으로 연결을 전달할 수 있습니다.
-
DB 클러스터의 라이터 인스턴스에 대한 Aurora Serverless v2 자동 일시 중지의 작동 방식
Aurora DB 클러스터에 단일 DB 인스턴스만 포함된 경우 DB 인스턴스를 자동으로 일시 중지하고 재개하는 메커니즘은 간단합니다. 이 메커니즘은 라이터 인스턴스의 활동에만 달려 있습니다. 개발 및 테스트에 사용되는 클러스터 또는 고가용성이 중요하지 않은 애플리케이션 실행에 대해 이러한 구성이 있을 수 있습니다. 단일 인스턴스 클러스터에서 Aurora는 리더 엔드포인트를 통해 라이터 DB 인스턴스로 연결을 전달합니다. 따라서 단일 인스턴스 DB 클러스터의 경우 리더 엔드포인트에 연결을 시도하면 자동 일시 중지된 라이터 DB 인스턴스가 재개됩니다.
DB 인스턴스가 여러 개인 Aurora 클러스터에는 다음과 같은 추가 요소가 적용됩니다.
-
Aurora DB 클러스터 내에서 라이터 DB 인스턴스는 일반적으로 자주 액세스됩니다. 따라서 하나 이상의 리더 DB 인스턴스가 자동으로 일시 중지된 동안에도 라이터 DB 인스턴스가 활성 상태로 유지될 수 있습니다.
-
리더 DB 인스턴스의 특정 활동을 수행하려면 라이터 DB 인스턴스를 사용할 수 있어야 합니다. 따라서 모든 리더 인스턴스가 일시 중지될 때까지 라이터 DB 인스턴스를 일시 중지할 수 없습니다. 리더 인스턴스를 재개하면 애플리케이션이 라이터 인스턴스에 직접 액세스하지 않더라도 라이터 인스턴스가 자동으로 재개됩니다.
-
장애 조치 승격 계층이 0 및 1인 Aurora Serverless v2 리더 인스턴스는 용량이 라이터 인스턴스와 동기화되도록 크기가 조정됩니다. 따라서 Aurora Serverless v2 라이터 인스턴스가 재개되면 승격 계층이 0 또는 1인 Aurora Serverless v2 리더 인스턴스도 재개됩니다.
다중 AZ 클러스터에서 Aurora Serverless v2 자동 일시 중지의 작동 방식
라이터와 하나 이상의 리더 DB 인스턴스가 모두 포함된 Aurora DB 클러스터 내에서 일부 Aurora Serverless v2 DB 인스턴스는 다른 DB 인스턴스가 활성 상태인 동안 일시 중지될 수 있습니다. 라이터 인스턴스와 장애 조치 우선순위가 0 및 1인 리더 인스턴스는 항상 모두 동시에 일시 중지되고 재개됩니다. 우선순위가 0 또는 1이 아닌 리더 인스턴스는 다른 인스턴스와 별개로 일시 중지되고 재개될 수 있습니다.
이 기능을 여러 리더 인스턴스가 있는 클러스터에 사용하면 고가용성을 유지하면서 비용을 관리할 수 있습니다. 라이터 인스턴스와 또 다른 1~2개의 리더 인스턴스는 항상 활성 상태를 유지할 수 있으며, 그 외의 리더 인스턴스는 대용량 읽기 트래픽을 처리하는 데 필요하지 않은 경우 일시 중지될 수 있습니다.
리더 인스턴스가 자동으로 일시 중지될 수 있는지는 용량이 독립적으로 크기 조정될 수 있는지 또는 용량이 라이터 DB 인스턴스의 용량과 연결되어 있는지에 따라 달라집니다. 이 크기 조정 속성은 리더 DB 인스턴스의 장애 조치 우선순위에 따라 달라집니다. 리더의 우선순위가 0 또는 1인 경우 리더의 용량은 라이터 DB 인스턴스의 용량을 추적합니다. 따라서 가장 광범위한 상황에서 리더 DB 인스턴스가 자동으로 일시 중지되도록 하려면 우선순위를 1보다 높은 값으로 설정하세요.
리더 인스턴스를 재개하는 시간이 라이터 인스턴스를 재개하는 시간보다 약간 더 걸릴 수 있습니다. 인스턴스가 일시 중지될 수 있는 경우 가장 빠른 응답을 위해 클러스터 엔드포인트에 연결하세요.
프로비저닝된 인스턴스가 있는 클러스터에서 Aurora Serverless v2 자동 일시 중지의 작동 방식
Aurora DB 클러스터에 프로비저닝된 DB 인스턴스는 자동으로 일시 중지되지 않습니다. db.serverless
인스턴스 클래스를 사용하는 Aurora Serverless v2 DB 인스턴스만 자동 일시 중지 기능을 사용할 수 있습니다.
Aurora 클러스터에 프로비저닝된 DB 인스턴스가 포함된 경우 Aurora Serverless v2 라이터 인스턴스는 자동으로 일시 중지되지 않습니다. 이는 리더 인스턴스가 활성 상태일 때 라이터 인스턴스를 계속 사용할 수 있어야 한다는 요구 사항 때문입니다. Aurora Serverless v2 라이터가 활성 상태로 유지된다는 것은 장애 조치 우선순위가 0 및 1인 모든 Aurora Serverless v2 리더 인스턴스가 프로비저닝된 인스턴스가 포함된 하이브리드 클러스터에서 자동 일시 중지되지 않는다는 의미이기도 합니다.
자동 일시 중지를 사용하는 Aurora 클러스터 모니터링
Aurora를 모니터링하려면 Amazon CloudWatch로 Amazon Aurora 지표 모니터링의 모니터링 프로시저와 Amazon Aurora용 지표 참조에 나열된 CloudWatch 지표에 이미 익숙한 상태여야 합니다. 자동 일시 중지 기능을 사용하는 Aurora 클러스터를 모니터링할 때 몇 가지 특별한 고려 사항이 있습니다.
-
인스턴스가 일시 중지되어 있어서 Aurora Serverless v2 인스턴스가 로그 데이터와 대부분의 지표를 기록하지 않는 기간이 있을 수 있습니다. 인스턴스가 일시 중지된 동안 CloudWatch로 전송되는 유일한 지표는
CPUUtilization
및ACUUtilization
의 경우 0%,ServerlessDatabaseCapacity
의 경우 0입니다. -
Aurora Serverless v2 인스턴스가 예상보다 더 높은 빈도로 중지되는지 아니면 더 낮은 빈도로 일시 중지되는지 확인할 수 있습니다. 그러려면
ServerlessDatabaseCapacity
지표가 0이 아닌 값에서 0으로 변경되는 빈도와 0인 상태로 유지되는 기간을 확인하세요. 인스턴스가 예상한 기간 만큼 일시 중지 상태로 유지되지 않으면 비용을 최대한 절감할 수 없습니다. 인스턴스가 의도한 것보다 더 자주 일시 중지되었다가 재개되면 연결 요청에 응답할 때 클러스터에 불필요한 지연 시간이 발생할 수 있습니다. Aurora Serverless v2 인스턴스 일시 중지 가능 여부와 빈도에 영향을 미치는 요인에 대한 자세한 내용은 Aurora Serverless v2 자동 일시 중지 기능에 대한 사전 조건 및 제한 사항, Aurora Serverless v2가 자동 일시 중지되지 않는 상황 및 Aurora Serverless v2 자동 일시 중지 문제 해결 섹션을 참조하세요. -
Aurora Serverless v2 인스턴스에 대한 자동 일시 중지 및 재개 작업을 기록하는 로그 파일도 검사할 수 있습니다. 제한 시간 간격이 만료된 후 인스턴스가 일시 중지되지 않은 경우 이 로그 파일에 자동 일시 중지가 발생하지 않은 이유도 포함됩니다. 자세한 내용은 Aurora Serverless v2 일시 중지 및 재개 활동 모니터링 단원을 참조하십시오.
Aurora Serverless v2 인스턴스가 일시 중지되었는지 확인
Aurora Serverless v2 인스턴스가 일시 중지 상태인지 확인하려면 인스턴스에 대한 ACUUtilization
지표를 관찰하면 됩니다. 인스턴스가 일시 중지된 동안 해당 지표의 값은 0입니다.
Aurora Serverless v2 인스턴스가 일시 중지된 동안 상태 값은 여전히 사용 가능으로 표시됩니다. 일시 중지된 Aurora Serverless v2 인스턴스가 재개되는 동안에도 마찬가지입니다. 이는 연결이 약간 지연되더라도 이러한 인스턴스에 성공적으로 연결할 수 있기 때문입니다.
Aurora 인스턴스의 가용성과 관련된 모든 지표는 인스턴스가 일시 중지된 기간을 인스턴스가 사용 가능한 시간으로 간주합니다.
자동 일시 중지 및 자동 재개 작업을 위한 이벤트
Aurora는 자동 일시 중지 및 자동 재개 작업이 시작, 완료 또는 취소될 때 Aurora Serverless v2 인스턴스에 대한 이벤트를 내보냅니다. 자동 일시 중지 기능과 관련된 이벤트는 RDS-EVENT-0370
부터 RDS-EVENT-0374
입니다. 이러한 이벤트에 대한 자세한 내용은 DB 인스턴스 이벤트 섹션을 참조하세요.
성능 개선 도우미 및 향상된 모니터링을 사용할 경우 자동 일시 중지의 작동 방식
Aurora Serverless v2 인스턴스가 일시 중지된 동안 Aurora는 성능 개선 도우미 또는 향상된 모니터링을 통해 해당 인스턴스에 대한 모니터링 정보를 수집하지 않습니다. 인스턴스가 재개되면 Aurora가 이러한 모니터링 정보 수집을 재개하기 전에 잠시 지연이 있을 수 있습니다.
Aurora Serverless v2 자동 일시 중지 기능이 Aurora 지표와 상호 작용하는 방법
Aurora Serverless v2 인스턴스가 일시 중지된 동안에는 대부분의 CloudWatch 지표를 내보내지 않고 데이터베이스 로그에 정보를 기록하지 않습니다. 인스턴스가 일시 중지된 동안 CloudWatch로 전송되는 유일한 지표는 CPUUtilization
및 ACUUtilization
의 경우 0%, ServerlessDatabaseCapacity
의 경우 0입니다.
CloudWatch가 인스턴스 또는 클러스터 가용성 및 가동 시간과 관련된 통계를 계산하는 경우 Aurora Serverless v2 인스턴스는 일시 중지된 시간 동안 사용 가능한 것으로 간주됩니다.
일시 중지된 Aurora Serverless v2 인스턴스의 로그를 설명하거나 다운로드하기 위해 AWS CLI 또는 RDS API 작업을 시작하면 인스턴스가 자동으로 재개되어 로그 정보를 사용 가능하게 합니다.
CloudWatch 지표의 예
다음 AWS CLI 예시에서는 시간이 지남에 따라 변화하는 인스턴스의 용량을 관찰하는 방법을 보여줍니다. 이 기간 동안 인스턴스는 자동으로 일시 중지되었다가 재개됩니다. 일시 중지된 동안 ServerlessDatabaseCapacity
지표는 0의 값을 보고합니다. 해당 기간의 특정 시점에 인스턴스가 일시 중지된 상태였는지 확인하기 위해 해당 기간 동안의 최소 용량이 0이었는지 확인합니다.
다음 Linux 예시는 일정 시간 동안 자동으로 일시 중지된 Aurora Serverless v2 인스턴스를 나타냅니다. 3분에 걸쳐 1분마다 ServerlessDatabaseCapacity
를 샘플링합니다. 최소 ACU 값인 0.0은 인스턴스가 매분 특정 시점에 일시 중지 상태였음을 알려줍니다.
$ aws cloudwatch get-metric-statistics \ --metric-name "ServerlessDatabaseCapacity" \ --start-time "$(date -d '3 minutes ago')" --end-time "$(date -d 'now')" --period 60 \ --statistics Minimum \ --namespace "AWS/RDS" --dimensions Name=DBInstanceIdentifier,Value=my-autopause-instance \ --output text | sort -k 3 ServerlessDatabaseCapacity DATAPOINTS 0.0 2024-08-02T22:11:00+00:00 None DATAPOINTS 0.0 2024-08-02T22:12:00+00:00 None DATAPOINTS 0.0 2024-08-02T22:13:00+00:00 None
다음으로 일시 중지된 Aurora Serverless v2 인스턴스에 연결하려고 시도합니다. 이 예시에서는 연결 시도가 성공하지 않도록 의도적으로 잘못된 암호를 사용합니다. 실패하더라도 연결 시도로 인해 Aurora가 일시 중지된 인스턴스를 재개합니다.
$ mysql -h
my_cluster_endpoint
.rds.amazonaws.com -u admin -pwrong-password
ERROR 1045 (28000): Access denied for user 'admin'@'ip_address
' (using password: YES)
다음 Linux 예시는 일시 중지된 인스턴스가 재개되고 약 5분 동안 유휴 상태로 유지된 다음 일시 중지 상태로 돌아간 것을 보여줍니다. 인스턴스가 2.0ACU의 용량에서 재개되었습니다. 그런 다음 내부 정리를 수행하는 등의 작업을 위해 약간 스케일 업되었습니다. 5분 제한 시간 내에 사용자 연결 시도를 수신하지 못했기 때문에 4.0ACU에서 곧바로 일시 중지 상태로 전환되었습니다.
$ aws cloudwatch get-metric-statistics \ --metric-name "ServerlessDatabaseCapacity" \ --start-time "$(date -d '8 minutes ago')" --end-time "$(date -d 'now')" --period 60 \ --statistics Minimum \ --namespace "AWS/RDS" --dimensions Name=DBInstanceIdentifier,Value=my-autopause-instance \ --output text | sort -k 3 ServerlessDatabaseCapacity DATAPOINTS 0.0 2024-08-02T22:13:00+00:00 None DATAPOINTS 2.0 2024-08-02T22:14:00+00:00 None DATAPOINTS 3.0 2024-08-02T22:15:00+00:00 None DATAPOINTS 3.0 2024-08-02T22:16:00+00:00 None DATAPOINTS 4.0 2024-08-02T22:17:00+00:00 None DATAPOINTS 4.0 2024-08-02T22:18:00+00:00 None DATAPOINTS 4.0 2024-08-02T22:19:00+00:00 None DATAPOINTS 0.0 2024-08-02T22:20:00+00:00 None
보고서가 인스턴스가 워크로드를 처리하기 위해 얼마나 빨리 스케일 업되었는지 보여주기 위한 것이라면 통계에 Minimum
대신 Maximum
을 지정할 수 있습니다. 용량 계획 및 비용 추정을 위해 더 긴 기간을 지정하고 Average
통계를 사용할 수 있습니다. 이렇게 하면 활동이 많은 기간, 활동이 적은 기간, 일시 중지 상태인 기간 동안의 일반적인 용량 값을 확인할 수 있습니다. 일시 중지 및 재개와 관련된 정확한 시간 동안의 동작을 조사하기 위해 1초의 기간을 지정하고 더 짧은 시간 간격을 살펴볼 수 있습니다. 2024-08-02T22:13:00+00:00
과 같은 출력의 타임스탬프 값은 --start-time
및 --end-time
옵션에 대한 정확한 파라미터를 지정하는 형식을 보여줍니다.
Aurora Serverless v2 자동 일시 중지 문제 해결
Aurora Serverless v2 인스턴스가 예상만큼 자주 일시 중지되지 않는 경우 다음과 같은 가능한 원인을 확인하세요.
-
실행 중인 Aurora 버전이 최소 용량으로 0ACU를 지원하는지 확인합니다. Aurora 버전별 용량 범위는 Aurora Serverless v2 용량 섹션을 참조하세요.
-
클러스터의 최소 용량 값이 0ACU로 설정되어 있는지 확인합니다.
-
해당 인스턴스가 프로비저닝된 인스턴스 클래스 중 하나가 아닌 Aurora Serverless v2 인스턴스 클래스
db.serverless
를 실제로 사용하고 있는지 확인합니다. -
클러스터가 Aurora Serverless v2 자동 일시 중지 기능에 대한 사전 조건 및 제한 사항의 호환되지 않는 기능 또는 설정을 사용하지 않는지 확인합니다.
-
Aurora Serverless v2 인스턴스가 일시 중지 또는 재개된 시점 또는 Aurora가 어떤 이유로 인스턴스를 일시 중지 또는 재개할 수 없었던 시점을 보여주는 로그 파일을 검사합니다. 자세한 내용은 Aurora Serverless v2 일시 중지 및 재개 활동 모니터링 단원을 참조하십시오.
-
클라이언트 또는 애플리케이션이 오랜 기간 동안 연결을 열린 상태로 유지하고 있는지 확인합니다. 반대로 RDS 데이터 API 또는 Lambda 함수를 사용하는 애플리케이션이 빈번한 요청을 보내고 있어 인스턴스가 일시 중지할 만큼 오랫동안 유휴 상태가 발생하지 않는지 확인합니다.
ConnectionAttempts
및DatabaseConnections
과 같은 CloudWatch 지표를 검사할 수 있습니다. 자세한 내용은 Amazon Aurora에 대한 인스턴스 수준 지표 단원을 참조하십시오. -
리더 인스턴스가 거의 일시 중지되지 않는 경우 장애 조치 우선순위를 확인합니다. 리더를 장애 조치 시 대기가 아닌 읽기 크기 조정에 사용하는 경우 2~15 범위의 우선순위로 설정합니다.
-
라이터 인스턴스가 거의 일시 중지되지 않는 경우 리더 인스턴스의 사용량을 확인합니다. 라이터는 전체 클러스터가 유휴 상태인 경우에만 일시 중지할 수 있습니다. 리더 인스턴스에 연결하면 라이터가 재개되기 때문입니다.
-
Aurora Serverless v2 인스턴스가 재개되는 동안 애플리케이션이 연결 요청 중에 제한 시간이 초과되면 애플리케이션 코드 또는 기본 데이터베이스 프레임워크에서 사용하는 제한 시간 간격을 늘리는 것을 고려해 보세요. 연결 제한 시간이 길어지면 Aurora Serverless v2 인스턴스가 재개되는 동안 연결이 실패할 가능성이 줄어듭니다. 그러나 제한 시간이 길수록 애플리케이션이 클러스터의 가용성 문제를 감지하는 속도가 느려질 수도 있습니다.
반대로 애플리케이션이 일시 중지된 인스턴스에 자주 노출되지 않도록 자동 일시 중지 간격을 늘리는 것을 고려해 보세요.
자동 일시 중지 동작과 애플리케이션의 클러스터 응답성 간에 논리적 균형이 없는 경우 해당 클러스터는 자동 일시 중지 기능을 사용하기에 적합하지 않을 수 있습니다.
-
Aurora Serverless v2 인스턴스가 일시 중지되는 기간을 추정하는 경우 정확한 예측을 수행하는 것을 어렵게 하는 요인이 있다는 점에 유의하세요.
-
인스턴스는 유지 관리나 마이너 버전 업그레이드를 수행하거나 파라미터 그룹에 변경 사항을 적용하기 위해 주기적으로 재개될 수 있습니다.
-
다중 AZ 클러스터의 경우 인스턴스 하나를 재개하면 다른 인스턴스도 재개되는 경우가 있습니다. 리더를 재개하면 항상 라이터가 재개됩니다. 라이터를 재개하면 항상 장애 조치 우선순위가 0 및 1인 리더가 재개됩니다.
현실적인 워크로드를 사용하여 며칠 동안 실제 일시 중지된 시간을 측정하는 것이 좋습니다. 그런 다음 이러한 측정값을 사용하여 인스턴스가 일시 중지될 것으로 예상할 수 있는 시간 비율에 대한 기준을 설정합니다.
-
-
MySQL 제거, MySQL 이벤트 스케줄러, PostgreSQL autovacuum 또는
pg_cron
확장을 통해 예약된 PostgreSQL 작업과 같은 내부 작업이 실행되지 않거나 완료되지 않을 수 있습니다. 인스턴스는 사용자가 데이터베이스에 연결하지 않는 이러한 작업을 수행하기 위해 자동으로 재개되지 않습니다. 자동 일시 중지 제한 시간이 만료될 때 이러한 내부 작업이 진행 중인 경우 MySQL 제거 및 PostgreSQL autovacuum과 같은 유지 관리 작업이 취소됩니다. MySQL 이벤트 스케줄러 또는 PostgreSQLpg_cron
확장에서 예약된 작업도 Aurora가 일시 중지 작업을 시작할 때 진행 중인 경우 취소됩니다.예약된 작업을 수행하기 위해 인스턴스가 주기적으로 깨어 있는지 확인해야 하는 경우 작업 시작 시간 전에 인스턴스를 재개하기 위한 연결을 시작할 수 있습니다. 사용자 활동이 완료된 후 autovacuum과 같은 작업이 더 오래 실행되도록 자동 일시 중지 제한 시간 간격을 늘릴 수도 있습니다. Lambda 함수와 같은 메커니즘을 사용하여 필요에 따라 인스턴스를 자동으로 재개하도록 일정에 따라 데이터베이스 작업을 수행할 수도 있습니다.
Aurora Serverless v2 자동 일시 중지 기능을 위한 애플리케이션 설계 고려 사항
Aurora Serverless v2 DB 인스턴스가 자동으로 일시 중지된 후 재개되면 비교적 작은 용량으로 시작하고 거기서부터 스케일 업됩니다. 이 시작 용량은 DB 인스턴스가 자동으로 일시 중지되기 직전에 용량이 약간 더 높았더라도 적용됩니다.
연결을 설정하는 동안 약 15초의 간격을 허용할 수 있는 애플리케이션에서 이 기능을 사용하세요. 이는 하나 또는 소수의 수신 연결로 인해 Aurora Serverless v2 인스턴스가 재개되는 일반적인 경우를 감안한 것입니다. 인스턴스가 일시 중지된 기간이 24시간을 초과하면 재개 소요 시간이 더 길어질 수 있습니다.
애플리케이션이 이미 Aurora Serverless v1 및 자동 일시 중지 기능을 사용하고 있는 경우 연결 시도에 이러한 제한 시간 간격이 이미 있을 수 있습니다. Aurora 중지/시작 클러스터 기능과 함께 Aurora Serverless v2를 이미 사용 중인 경우 자동 일시 중지된 Aurora Serverless v2 인스턴스의 재개 소요 시간은 일반적으로 중지된 클러스터를 시작하는 시간보다 훨씬 짧습니다.
애플리케이션에서 연결 로직을 코딩할 때 첫 번째 시도에서 일시적인 원인이 있는 오류가 반환되면 연결을 다시 시도하세요. (인증 실패로 인한 오류인 경우 다시 시도하기 전에 자격 증명을 수정하세요.) 재개 직후 발생하는 오류는 제한 시간 또는 데이터베이스 한도와 관련된 오류일 수 있습니다. 재시도는 동시 연결 요청 수가 많아서 Aurora Serverless v2 인스턴스가 재개되는 드문 경우에 문제를 처리할 수 있습니다. 이 경우 일부 연결이 처리되는 데 평소보다 오래 걸리거나 첫 번째 시도에서 동시 연결 한도를 초과할 수 있습니다.
애플리케이션 개발 및 디버깅 중에 데이터베이스에 대한 연결이 열려 있는 클라이언트 세션 또는 프로그래밍 도구를 그대로 두지 마세요. Aurora는 연결이 SQL 문 또는 트랜잭션을 실행하고 있지 않더라도 사용자가 시작한 연결이 열려 있는 경우 인스턴스를 일시 중지하지 않습니다. Aurora 클러스터의 한 Aurora Serverless v2 인스턴스를 일시 중지할 수 없는 경우 클러스터의 다른 인스턴스도 일시 중지되지 않을 수 있습니다. 자세한 내용은 Aurora Serverless v2가 자동 일시 중지되지 않는 상황 단원을 참조하십시오.
Aurora는 Aurora Serverless v2 DB 인스턴스가 재개를 시작하고, 재개를 완료하고, 어떤 이유로든 인스턴스를 재개할 수 없을 때 이벤트를 내보냅니다. 이러한 이벤트에 대한 자세한 내용은 DB 인스턴스 이벤트 섹션을 참조하세요.