내용으로 건너뛰기

Aurora Serverless v2의 스케일링 문제를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Aurora PostgreSQL 호환 버전용 Amazon Aurora Serverless v2의 스케일링 문제를 해결하려고 합니다.

간략한 설명

데이터베이스에 부하가 없는데도 Aurora Serverless v2가 최소 용량으로 스케일 다운되지 않는 경우, 파라미터를 기본값으로 업데이트해야 합니다. Aurora Serverless v2는 컴퓨팅 용량을 측정하는 데 Aurora 용량 단위(ACU)를 사용하며, 각 ACU는 약 2기비바이트(GiB)의 메모리와 그에 해당하는 CPU 및 네트워킹 리소스를 나타냅니다.

리소스에 유휴 연결이 너무 많거나 장기간 CPU 사용량이 많은 경우, 최대 용량으로 스케일 업할 수 없습니다. 최소 용량을 0.5ACU로 구성하고 자동 일시 중지 기능을 사용하는 경우, 콜드 스타트 문제가 생겨 연결 또는 트랜잭션 시간 초과 오류를 초래할 수 있습니다.

해결 방법

최소 ACU 수정

프로비저닝된 인스턴스에서 서버리스 인스턴스로 마이그레이션 하는 경우, 프로비저닝된 인스턴스의 BufferCacheHitRatio 지표를 검토하여 DB 인스턴스의 동작을 파악합니다. 지표가 안정적이지 않고 Aurora 서버리스에서 급감하는 경우, DB 버퍼 캐시 성능 요구 사항에 따라 최소 ACU를 늘리십시오. 최소 ACU가 클수록 데이터베이스가 애플리케이션 수요에 맞춰 스케일 업하는 속도가 빠릅니다. 자세한 내용은 Aurora 클러스터에 대한 Aurora Serverless v2 용량 범위 선택을 참조하십시오.

최소 ACU를 구성하려면 다음 단계를 완료하십시오.

  1. Amazon Aurora 및 RDS 콘솔을 엽니다.
  2. 탐색 창에서 데이터베이스를 선택합니다.
  3. 새 클러스터에 대하여 데이터베이스 만들기를 선택하거나, 기존 클러스터를 선택한 다음 수정을 선택합니다.
  4. 인스턴스 구성 섹션의 용량 범위에서 최소 ACU 값을 설정합니다. 자세한 내용은 Aurora Serverless v2를 사용하는 DB 클러스터 만들기의 용량 범위를 참조하십시오.
    참고: Database Insights를 활성화한 경우, **최소 용량(ACU)**를 2로 설정하는 것이 좋습니다. 전역 데이터베이스를 사용하는 경우, **최소 용량(ACU)**을 8로 설정하십시오. 자세한 내용은 Aurora Serverless v2의 성능 및 스케일링의 클러스터에 대한 최소 Aurora Serverless v2 용량 설정 선택을 참조하십시오.

리더 인스턴스의 우선순위 계층 변경

유휴 Aurora Serverless v2 라이터 및 리더는 클러스터에 대하여 지정한 최소 ACU 값으로 스케일 다운할 수 있습니다. 배경 처리 및 백엔드에서 실행되는 관리 작업 때문에 서버리스 인스턴스가 최소 ACU로 스케일 다운되지 않을 가능성이 있습니다.

자세한 내용은 Aurora Serverless v2 용량 문제 해결을 참조하십시오.

사용자 지정 값 제거

max_connections 및 max_locks_per_transaction과 같은 데이터베이스 파라미터는 스케일링 동작에 영향을 미칩니다. 사용자 지정 값은 데이터베이스의 최소 용량으로 스케일링을 지원하지 않습니다. max_connections 및 max_locks_per_transaction의 사용자 지정 값을 제거하려면 해당 파라미터를 기본값으로 설정하십시오. 그런 다음 주 DB 인스턴스를 재부팅합니다.

데이터베이스의 연결 압력 줄이기

데이터베이스의 연결 압력을 줄이려면 Amazon RDS Proxy를 사용하여 재시도 로직 및 지수 백오프를 포함해 연결 풀링을 구성합니다.

데이터베이스 쿼리 검토

부하를 줄이고 스케일링 성능을 개선하려면 데이터베이스 쿼리를 정기적으로 검토하고 최적화하십시오. 쿼리를 최적화하려면 ANALYZE 및 VACUUM PostgreSQL 명령을 실행합니다. 자세한 내용은 PostgreSQL 웹 사이트의 ANALYZE 및 Routine Vacuuming을 참조하십시오.

CloudWatch 지표 모니터링

실제 ACU 사용을 추적하려면 ServerlessDatabaseCapacity, ACUUtilization, CPUUtilization, FreeableMemory Aurora Serverless 2에 대한 Amazon CloudWatch 지표를 모니터링합니다. Aurora Serverless v2 스케일링 문제에 대한 선제적 알림을 받으려면 CloudWatch 경보를 구성해야 합니다. ACUUtilization 및 CPUUtilization 지표가 100%에 가까워지면 Aurora Serverless v2의 최대 ACU 용량이 충분하지 않고 극히 부하가 높은 상태라는 뜻입니다.

스케일링 오류 또는 고용량 기간이 길어지는 상황에 대한 알림을 설정하려면 CloudWatch 경보를 만들어 Amazon Aurora 모니터링을 참조하십시오.

자동 일시 중지 및 시간 초과 구성에 대한 값 설정

Aurora Serverless v2에 대하여 자동 일시 중지 및 재개 값을 설정합니다. 데이터베이스를 중지하고 재시작하여 시간이 흐르면서 축적되었을 수 있는 메모리 조각을 회수합니다.

참고: 데이터베이스를 중지하고 재시작하면 데이터베이스에 가동 중지 시간이 발생합니다.

관련 정보

ACU 최소 및 최대 범위가 Amazon Aurora Serverless v2의 스케일링에 어떤 영향을 미치는지 알아보기

AWS 공식업데이트됨 9달 전