크기 조정 ElastiCache - Amazon ElastiCache

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

크기 조정 ElastiCache

필요에 따라 ElastiCache 캐시를 확장할 수 있습니다. 서버리스 캐시와 자체 설계된 클러스터는 다양한 크기 조정 옵션을 제공합니다.

ElastiCache 서버리스 확장

ElastiCache Serverless는 워크로드 트래픽이 증가하거나 감소할 때 워크로드 트래픽을 자동으로 수용합니다. 각 ElastiCache 서버리스 캐시에 대해 는 , CPU메모리 및 네트워크와 같은 리소스의 사용률을 ElastiCache 지속적으로 추적합니다. 이러한 리소스가 제한되면 ElastiCache Serverless는 애플리케이션의 가동 중지 없이 새 샤드를 추가하고 새 샤드에 데이터를 다시 배포하여 확장합니다. 캐시 데이터 스토리지에 대한 지표와 컴퓨팅 사용에 대한 ElastiCacheProcessingUnits (ECPU)를 모니터링 CloudWatch 하여 BytesUsedForCache 에서 캐시가 사용하는 리소스를 모니터링할 수 있습니다.

비용 관리를 위한 규모 조정 한도 설정

캐시 데이터 스토리지에서 최대 사용량을 구성하고 캐시 비용을 제어하기 위해 캐시에 대해 ECPU/초를 구성하도록 선택할 수 있습니다. 이렇게 하면 캐시 사용량이 구성된 최댓값을 초과하지 않도록 할 수 있습니다.

크기 조정 최대값을 설정하면 캐시가 최대값에 도달하면 애플리케이션이 캐시 성능 저하를 경험할 수 있습니다. 캐시 데이터 스토리지 최대값을 설정하고 캐시 데이터 스토리지가 최대값에 도달하면 LRU ElastiCache 는 로직을 Time-To-Live 사용하여 (TTL)가 설정된 캐시의 데이터 제거를 시작합니다. 제거할 수 있는 데이터가 없는 경우 추가 데이터 쓰기 요청은 Out Of Memory(OOM) 오류 메시지를 받게 됩니다. ECPU/초 최대값을 설정하고 워크로드의 컴퓨팅 사용률이 이 값을 초과하면 ElastiCache 는 요청 제한을 시작합니다.

BytesUsedForCache 또는 에 최대 제한을 설정하는 경우 캐시가 이러한 제한에 가깝게 작동할 때 알림을 받을 수 있도록 최대 제한보다 낮은 값으로 CloudWatch 경보를 설정하는 ElastiCacheProcessingUnits것이 좋습니다. 설정한 최대 한도의 75%로 경보를 설정하는 것이 좋습니다. CloudWatch 경보 설정 방법에 대한 설명서를 참조하세요.

ElastiCache Serverless를 사용한 사전 크기 조정

ElastiCache 서버리스 사전 크기 조정

예열이라고도 하는 사전 크기 조정을 사용하면 ElastiCache 캐시에 지원되는 최소 제한을 설정할 수 있습니다. 초당 ElastiCache 처리 단위(ECPUs) 또는 데이터 스토리지에 대해 이러한 최소값을 설정할 수 있습니다. 이는 예상 조정 이벤트를 준비하는 데 유용할 수 있습니다. 예를 들어 게임 회사가 새 게임이 시작되는 첫 1분 내에 로그인이 5배 증가할 것으로 예상하는 경우 이러한 상당한 사용량 증가를 위해 캐시를 준비할 수 있습니다.

ElastiCache 콘솔, 또는 CLI를 사용하여 사전 크기 조정을 수행할 수 있습니다API. ElastiCache Serverless는 60분 이내에 캐시에서 사용 가능한 ECPUs/초를 업데이트하고 최소 한도 업데이트가 완료되면 이벤트 알림을 보냅니다.

사전 크기 조정 작동 방식

콘솔, CLI또는 를 통해 ECPUs/초 또는 데이터 스토리지에 대한 최소 제한이 업데이트되면 API1시간 이내에 새 제한을 사용할 수 있습니다. ElastiCache Serverless는 빈 캐시에서 30KECPUs/초를 지원하고 복제본에서 읽기 기능을 사용할 때는 최대 90KECPUs/초를 지원합니다. 는 10~12분마다 ECPUs/초를 두 배로 할 ElastiCache 수 있습니다. 이 조정 속도는 대부분의 워크로드에 충분합니다. 향후 스케일링 이벤트가 이 속도를 초과할 것으로 예상되는 경우, 최소 ECPUs/초를 최대 이벤트 최소 60분 전에 예상되는 최대 ECPUs/초로 설정하는 것이 좋습니다. 그렇지 않으면 애플리케이션의 지연 시간과 요청 제한이 증가할 수 있습니다.

최소 한도 업데이트가 완료되면 ElastiCache Serverless는 초ECPUs당 새 최소 또는 새 최소 스토리지에 대한 측정 작업을 시작합니다. 이는 애플리케이션이 캐시에서 요청을 실행하지 않거나 데이터 스토리지 사용량이 최소값 미만인 경우에도 발생합니다. 현재 설정에서 최소 한도를 낮추면 업데이트가 즉시 이루어지므로 ElastiCache Serverless는 새 최소 한도에서 즉시 측정이 시작됩니다.

참고
  • 최소 사용량 한도를 설정하면 실제 사용량이 최소 사용량 한도보다 낮더라도 해당 한도에 대한 요금이 부과됩니다. ECPU 또는 최소 사용량 제한을 초과하는 데이터 스토리지 사용량에는 정규 요금이 부과됩니다. 예를 들어 최소 사용량 제한을 초ECPUs당 100,000으로 설정하면 사용량이 최소 설정보다 낮더라도 시간당 최소 1.224달러( us-east-1의 ECPU 요금 사용)가 부과됩니다.

  • ElastiCache Serverless는 캐시의 집계 수준에서 요청된 최소 규모를 지원합니다. ElastiCache Serverless는 또한 슬롯당 최대 30KECPUs/초(READONLY연결을 사용하여 복제본에서 읽기를 사용하는 경우 90KECPUs/초)를 지원합니다. 모범 사례로 애플리케이션은 Valkey 또는 Redis OSS 슬롯 간 키 배포와 키 간 트래픽이 가능한 한 균일해야 합니다.

콘솔 및 를 사용하여 조정 제한 설정 AWS CLI

AWS 콘솔을 사용하여 조정 제한 설정

  1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/elasticache/에서 ElastiCache 콘솔을 엽니다.

  2. 탐색 창에서, 수정하려는 캐시에서 실행 중인 엔진을 선택합니다.

  3. 선택한 엔진을 실행하는 캐시 목록이 표시됩니다.

  4. 캐시 이름 왼쪽에 있는 라디오 버튼을 선택하여 수정할 캐시를 선택합니다.

  5. 작업을 선택한 다음 수정을 선택합니다.

  6. 사용량 한도에서 적절한 메모리 또는 컴퓨팅 한도를 설정합니다.

  7. 변경 사항 미리보기를 클릭한 다음 변경 사항 저장을 클릭합니다.

를 사용하여 조정 제한 설정 AWS CLI

를 사용하여 조정 한도를 변경하려면 를 CLI modify-serverless-cache 사용합니다API.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

를 사용하여 조정 제한 제거 CLI

를 사용하여 조정 제한을 제거하려면 최소 및 최대 제한 파라미터를 0으로 CLI설정합니다.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'