ElastiCache Memcached를 위한 스케일링 - 아마존 ElastiCache

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

ElastiCache Memcached를 위한 스케일링

멤캐시드 ElastiCache 스케일링

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

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

캐시 데이터 스토리지와 초당 ECPU의 최대 사용량을 모두 구성하여 캐시 비용을 제어할 수 있습니다. 이렇게 하면 캐시 사용량이 구성된 최댓값을 초과하지 않도록 할 수 있습니다.

규모 조정 최댓값을 설정하면 캐시가 최댓값에 도달할 경우 애플리케이션의 캐시 성능이 저하될 수 있습니다. 캐시 데이터 스토리지의 최대값을 설정하고 캐시 데이터 스토리지가 최대값에 ElastiCache 도달하면 LRU 로직을 사용하여 캐시에 있는 데이터를 제거하기 시작합니다. 초당 최대 ECPU를 설정하고 워크로드의 컴퓨팅 사용률이 이 값을 초과하면 Memcached 요청 병목 현상이 시작됩니다. ElastiCache

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

서버리스를 통한 사전 크기 조정 ElastiCache

ElastiCache 서버리스 사전 스케일링

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

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

사전 스케일링 작동 방식

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

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

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

  • ElastiCache 서버리스는 캐시의 전체 수준에서 요청된 최소 규모를 지원합니다. ElastiCache 또한 서버리스는 슬롯당 초당 최대 30K ECPU를 지원합니다 (READONLY 연결을 사용하여 복제본에서 읽기 기능을 사용하는 경우 초당 90K ECPU). 가장 좋은 방법은 애플리케이션에서 Redis 슬롯을 통한 키 분배와 키 간의 트래픽을 최대한 균일하게 하는 것입니다.

콘솔을 사용하여 스케일링 제한을 설정하고 AWS CLI

AWS 콘솔을 사용한 규모 조정 제한 설정

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

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

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

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

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

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

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

를 사용하여 스케일링 제한을 설정합니다. AWS CLI

CLI를 사용하여 스케일링 제한을 변경하려면 API를 사용하십시오. modify-serverless-cache

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를 사용하여 규모 조정 제한 제거

CLI를 사용하여 조정 제한을 제거하려면 최소 및 최대 제한 매개변수를 0으로 설정합니다.

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}'