기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Aurora Serverless Scaling 실행 블록
범주: 데이터베이스 조정
리전 전환 중에 대상 Aurora Serverless 클러스터의 ACU(Aurora 용량 단위) 설정은 프로덕션 트래픽을 흡수하는 데 필요한 값보다 훨씬 낮을 수 있습니다. Aurora Serverless Scaling 실행 블록은 소스 클러스터의 실제 사용량에 따라 올바른 최소 및 최대 ACU 용량을 자동으로 계산하여 대상 클러스터에 적용하여 서버리스 데이터베이스가 제한이나 연결 실패 없이 들어오는 워크로드를 처리할 수 있도록 합니다.
주요 이점
사용량 기반 용량 계산: 리전 스위치는 정적 구성에 의존하는 대신 지난 24시간 동안 소스 클러스터의 실제 피크 사용률에서 목표 용량을 도출하여 실제 트래픽 패턴을 기반으로 적절한 크기의 용량을 제공합니다.
Cross-engine-type 인텔리전스: 소스가 서버리스, 프로비저닝 또는 하이브리드 구성인지 여부에 관계없이 리전 스위치는 소스 용량을 대상 서버리스 클러스터에 적합한 ACU 설정으로 변환하는 방법을 알고 있습니다.
액티브-액티브에 대한 백분율 기반 조정: 대상이 두 리전의 결합된 트래픽을 흡수해야 하는 액티브-액티브 아키텍처에 대해 100%(예: 200%)를 초과하는 목표 백분율을 구성합니다.
사용해야 하는 경우
서버리스 대기를 사용하는 액티브-패시브: 대상 리전은 최소 ACUs에서 서버리스 클러스터를 실행하며 프로덕션 트래픽을 수신하기 전에 스케일 업해야 합니다.
액티브-액티브 장애 조치: 두 리전 모두 트래픽을 처리하며, 전환 중에 나머지 리전은 결합된 로드를 처리해야 합니다. 100%를 초과하는 목표 비율을 사용합니다.
혼합 엔진 글로벌 데이터베이스: 소스 리전은 프로비저닝된 인스턴스를 사용하지만 대상은 서버리스를 사용합니다. 리전 스위치는 용량 변환을 자동으로 처리합니다.
Aurora Serverless Scaling과 대안 비교
이 실행 블록이 없으면 고객은 트래픽을 전환하기 전에 ACU 요구 사항을 수동으로 계산하고 클러스터 설정을 수정해야 합니다. 특히 소스와 대상이 서로 다른 엔진 유형을 사용하는 경우 복잡하고 오류가 발생하기 쉬운 프로세스입니다.
| 접근 방식 | 장점 | 단점 | |
|---|---|---|---|
| 1 | Aurora Serverless Scaling 블록 | 실제 사용량에서 자동 계산, 교차 엔진 번역 처리, 백분율 기반 제어, 계획 오케스트레이션과 통합 | 확장만 가능합니다. IaC에서 드리프트될 수 있는 ACU 설정을 수정합니다. |
| 2 | 수동 ACU 조정 | 전체 제어 | 압력 시 ACU 등가 계산 필요, 느림, 오류가 발생하기 쉬움 |
| 3 | 스크립팅된 자동화 | 사용자 지정 가능 | 엔진 간 번역 로직을 복제해야 함, 계획 평가 없음, 유지 관리 부담 |
| 4 | 사전 프로비저닝(최대 ACU 항상 높음) | 장애 조치 지연 없음 | 비용이 많이 들며 서버리스의 비용 이점을 잃고 대기 리전에서 낭비됩니다. |
Aurora Serverless Scaling 블록은 엔진 간 ACU 변환의 복잡성을 처리하는 자동화된 사용량 인식 용량 조정이 필요한 경우에 적합한 선택입니다.
작동 방식
Aurora Serverless Scaling 실행 블록을 구성한 후 리전 스위치는 지정된 글로벌 데이터베이스에 소스 클러스터 하나와 대상 클러스터 하나가 있는지 확인합니다. 목표 용량은 소스 클러스터 유형에 따라 결정됩니다.
소스는 서버리스입니다.
최소 ACU = 지난 24시간 동안 소스 클러스터의 관찰된 최대 ACU 사용률(
ServerlessDatabaseCapacityCloudWatch 지표)최대 ACU = 지난 24시간 동안 소스 클러스터의 최대 ACU 피크
소스가 프로비저닝되었습니다.
소스 클러스터의 EC2 인스턴스 메모리를 동등한 ACUs(GiB의 인스턴스 메모리 ÷ 2)에 매핑합니다.
최대 ACU를 256으로 설정합니다.
소스는 하이브리드(프로비저닝 + 서버리스)입니다.
최소 ACU = 프로비저닝된 인스턴스 ACU에 상응하는 최대 수 및 24시간 동안 관찰된 서버리스 ACU 사용률
최대 ACU = 256
그런 다음 리전 전환은 대상 백분율을 적용하여 최종 값을 계산합니다.
destination min ACU = round_to_nearest_0.5(targetPercent × source min ACU) destination max ACU = round_to_nearest_0.5(targetPercent × source max ACU)
대상 클러스터의 현재 용량이 이미 계산된 대상 이상일 경우 리전 스위치는 변경하지 않고 단계를 완료합니다. 리전 스위치는 클러스터 용량을 축소하지 않습니다. 대상 클러스터가 Serverless가 아닌 경우 블록은 no-op로 성공적으로 완료됩니다.
액티브-액티브 계획의 경우 리전 스위치는 구성된 다른 리전을 소스로 사용합니다. 리전이 비활성화되는 경우 리전 스위치는 다른 활성 리전을 소스로 사용하여 조정할 비율을 계산합니다.
참고
이 블록을 실행하면 Aurora Serverless 클러스터의 최소 및 최대 ACU 용량 설정이 수정되므로 infrastructure-as-code 도구 또는 기타 자동화를 통해 이러한 값을 관리하는 경우 구성 드리프트가 발생할 수 있습니다. 구성 관리 프로세스가 이러한 변경 사항을 고려하여 의도하지 않은 롤백을 방지하는지 확인합니다.
구성
Aurora Serverless Scaling 실행 블록을 구성할 때 Aurora Global Database의 글로벌 클러스터 식별자와 계획 실행 중에 확장하려는 각 리전의 데이터베이스 클러스터 ARNs을 입력합니다.
중요
실행 블록을 구성하기 전에 계획의 실행 역할에 올바른 IAM 정책이 있는지 확인합니다. 자세한 내용은 Aurora 서버리스 조정 실행 블록 샘플 정책 단원을 참조하십시오.
Aurora Serverless Scaling 실행 블록을 구성하려면 다음 값을 입력합니다.
단계 이름: 이름을 입력합니다.
설명(선택 사항): 단계에 대한 설명을 입력합니다.
Aurora Global Database 클러스터 이름: 글로벌 클러스터 식별자를 입력합니다.
리전의 클러스터 ARN: 계획의 각 리전에서 사용할 데이터베이스 클러스터 ARN을 입력합니다.
대상 백분율(선택 사항): 대상 클러스터를 확장할 파생 소스 용량의 백분율을 입력합니다. 기본값은 100입니다. 액티브-액티브 계획의 경우 결합된 트래픽을 고려하려면 더 높은 값(예: 200%)을 고려하세요.
제한 시간: 제한 시간 값을 입력합니다.
그런 다음 단계 저장을 선택합니다.
계획 평가의 일부로 평가되는 항목
리전 전환이 계획을 평가할 때 리전 전환은 Aurora Serverless Scaling 실행 블록 구성 및 권한에 대해 몇 가지 중요한 검사를 수행합니다. 리전 스위치 평가는 Aurora Serverless 클러스터가 두 리전에 모두 있는지 확인하고, 클러스터가 올바르게 구성되고 액세스할 수 있는지 확인하고, 각 리전의 현재 용량을 기록합니다. 또한 대상 리전의 클러스터에 있는 최대 용량이 필요한 용량에 대해 지정된 비율 일치 규모를 처리하기에 충분한지 확인합니다.
또한 리전 스위치는 계획의 IAM 역할에 Aurora Serverless 조정에 대한 올바른 권한이 있는지 확인합니다. 리전 전환 실행 블록에 필요한 권한에 대한 자세한 내용은 Aurora 서버리스 조정 실행 블록 샘플 정책 섹션을 참조하세요. 검사 중 하나라도 실패하면 리전 전환은 콘솔에서 볼 수 있는 경고 메시지를 반환합니다. 또는 API 작업을 통해 또는 API 작업을 사용하여 검증 경고를 받을 수 있습니다.