Amazon Web Services 한국 블로그

Amazon ElastiCache 서버리스 정식 출시 – Redis 및 Memcached용

캐시를 1분 안에 생성하고 애플리케이션 트래픽 패턴에 따라 용량 크기를 즉시 조정할 수 있는 새 서버리스 옵션인 Amazon ElastiCache Serverless를 정식 출시합니다. ElastiCache Serverless는 인기 있는 두 가지 오픈 소스 캐싱 솔루션인 Redis와 Memcached와 호환됩니다.

ElastiCache Serverless를 사용하여 용량을 계획하는 데 시간을 소모하거나 캐싱 전문 지식을 요구하지 않고도 가장 까다로운 워크로드에 대해 캐시를 운영할 수 있습니다. ElastiCache Serverless는 애플리케이션의 메모리, CPU 및 네트워크 리소스 사용률을 지속적으로 모니터링하고, 지원하는 워크로드의 액세스 패턴 변화에 따라 즉시 확장됩니다. 여러 가용 영역에서 데이터가 자동으로 복제되고 모든 워크로드에 대해 최대 99.99%의 가용성 서비스 수준 계약(SLA)을 사용하여 고가용성 캐시를 생성하여 시간과 비용을 절약할 수 있습니다.

고객은 캐시를 매우 간단하게 배포하고 운영하기를 원했습니다. ElastiCache Serverless는 기본 클러스터 토폴로지 및 캐시 인프라를 추상화하는 간단한 엔드포인트 환경을 제공합니다. 재연결을 처리하거나 노드를 재검색하지 않고도 애플리케이션 복잡성을 줄이고 운영 효율성을 높일 수 있습니다.

ElastiCache Serverless를 사용하면 선결제 비용이 없고, 사용한 리소스에 대한 비용만 지불하면 됩니다. 애플리케이션에서 사용하는 캐시 데이터 스토리지와 ElastiCache 처리 장치(ECPU) 리소스의 양에 대한 비용을 지불합니다.

Amazon ElastiCache Serverless 시작
시작하려면 ElastiCache 콘솔로 이동하여 왼쪽 탐색 창에서 Redis 캐시 또는 Memcached 캐시를 선택합니다. ElastiCache Serverless는 Redis 7.1 이상 및 Memcached 1.6 이상의 엔진 버전을 지원합니다.

예를 들어 Redis 캐시의 경우 Redis 캐시 생성을 선택합니다.

노드 기반 캐시 클러스터를 생성하기 위해 서버리스 또는 사용자 고유 캐시 설계의 두 가지 배포 옵션이 표시됩니다. 서버리스 옵션과 새 캐시 방법을 선택하고, 이름을 제공합니다.

기본 설정을 사용하여 캐시를 기본 VPC, 가용 영역, 서비스 소유 암호화 키 및 보안 그룹에 생성합니다. 권장 모범 사례가 자동으로 설정됩니다. 추가 설정을 입력할 필요가 없습니다.

기본 설정을 사용자 지정하려는 경우 사용자 고유의 보안 그룹을 설정하거나 자동 백업을 활성화할 수 있습니다. 또한 캐시가 특정 크기를 초과하지 않도록 컴퓨팅 및 메모리 사용량에 대한 최대 제한을 설정할 수 있습니다. 캐시가 메모리 제한에 도달하면 TTL(Time to Live)이 있는 키가 LRU(오래 전에 사용한 항목) 로직에 따라 제거됩니다. 컴퓨팅 제한에 도달하면 ElastiCache에서 요청을 조절하여 요청 지연 시간이 길어집니다.

새 서버리스 캐시를 생성하면 엔드포인트 및 네트워크 환경을 포함하여 연결 및 데이터 보호 설정에 대한 세부 정보를 볼 수 있습니다.

이제 애플리케이션에서 ElastiCache Serverless 엔드포인트를 구성하고 클러스터 모드에서 Redis를 지원하는 Redis 클라이언트(예: redis-cli)를 사용하여 연결할 수 있습니다.

$ redis-cli -h channy-redis-serverless.elasticache.amazonaws.com --tls -c -p 6379
set x Hello
OK
get x
"Hello"

캐시는 AWS Command Line Interface(AWS CLI) 또는 AWS SDK를 사용하여 관리할 수 있습니다. 자세한 내용은 AWS 설명서의 Amazon ElastiCache for Redis 시작을 참조하세요.

기존 Redis 클러스터가 있는 경우 ElastiCache Serverless 캐시를 생성할 때 ElastiCache 백업 또는 백업 파일의 Amazon S3 위치를 표준 Redis rdb 파일 형식으로 지정하여 데이터를 ElastiCache Serverless로 마이그레이션할 수 있습니다.

Memcached 캐시의 경우 새 서버리스 캐시를 Redis와 동일한 방식으로 생성하여 사용할 수 있습니다.

ElastiCache Serverless for Memcached를 사용하는 경우 Memcached 엔진에서 기본적으로 사용할 수 없으므로 고가용성 및 즉각적인 크기 조정이라는 상당한 이점이 있습니다. Memcached를 통해 고가용성을 확보하기 위해 더 이상 사용자 지정 비즈니스 로직을 작성하거나, 여러 캐시를 관리하거나, 타사 프록시 계층을 통해 데이터를 복제할 필요가 없습니다. 이제 여러 가용 영역에서 최대 99.99%의 가용성 SLA와 데이터 복제를 얻을 수 있습니다.

Memcached 엔드포인트에 연결하려면 다음 예제 출력과 같이 openssl 클라이언트 및 Memcached 명령을 실행합니다.

$ /usr/bin/openssl s_client -connect channy-memcached-serverless.cache.amazonaws.com:11211 -crlf 
set a 0 0 5
hello
STORED
get a
VALUE a 0 5
hello
END

자세한 내용은 AWS 설명서의 Amazon ElastiCache Serverless for Memcached 시작을 참조하세요.

크기 조정 및 성능
ElastiCache 서버리스는 용량 요구 사항을 적시에 충족하기 위해 캐시 스케일 업을 허용하고 병렬 스케일 아웃을 시작하여 가동 중지 시간이나 애플리케이션 성능 저하 없이 크기 조정됩니다.

ElastiCache Serverless의 성능을 보여주기 위해 간단한 크기 조정 테스트를 수행했습니다. 키 크기가 512바이트이고 읽기와 쓰기 비율이 80/20인 일반적인 Redis 워크로드부터 시작했습니다. Redis 클라이언트는 최적의 읽기 성능을 위해 READONLY Redis 명령을 사용하여 복제본에서 읽기(RFR)로 구성되었습니다. 여기서의 목표는 지연 시간에 영향을 주지 않고 ElastiCache Serverless에서 워크로드를 얼마나 빠르게 크기 조정할 수 있는지 보여주는 것입니다.

위 그래프에서 볼 수 있듯이 테스트의 목표 요청 속도인 1M RPS가 될 때까지 10분마다 초당 요청 수(RPS)를 두 배로 늘릴 수 있었습니다. 이 테스트에서 p50 GET 지연 시간이 약 751마이크로초로 유지되고, 항상 860마이크로초 미만으로 유지되는 것을 관찰했습니다. 마찬가지로 p50 SET 지연 시간은 처리량이 급격히 증가하는 동안에도 1,200마이크로초를 넘지 않은 약 1,050마이크로초로 유지되는 것을 관찰했습니다.

알아야 할 사항

  • 엔진 버전 업그레이드 – ElastiCache Serverless는 새 마이너 버전 및 패치 엔진 버전을 포함하여 새로운 기능, 버그 수정 및 보안 업데이트를 캐시에 투명하게 적용합니다. 새 메이저 버전을 사용할 수 있으면 ElastiCache Serverless는 콘솔에서 알림을 보내고 Amazon EventBridge에서 이벤트를 보냅니다. ElastiCache Serverless 메이저 버전 업그레이드는 애플리케이션을 중단하지 않도록 설계되었습니다.
  • 성능 및 모니터링 – ElastiCache Serverless는 메모리 사용량(BytesUsedForCache), CPU 사용량(ElastiCacheProcessingUnits), 캐시 지표(CacheMissRate, CacheHitRate, CacheHits, CacheMissesThrottledRequests)을 포함한 일련의 지표를 Amazon CloudWatch에 게시합니다. 또한 ElastiCache Serverless는 캐시 생성, 삭제 및 제한 업데이트 등 중요한 이벤트에 대한 Amazon EventBridge 이벤트를 게시합니다. 사용 가능한 지표 및 이벤트의 전체 목록은 설명서를 참조하세요.
  • 보안 및 규정 준수 – ElastiCache Serverless 캐시는 VPC 내에서 액세스할 수 있습니다. AWS Identity and Access Management(IAM)를 사용하여 데이터 영역에 액세스할 수 있습니다. 기본적으로 ElastiCache Serverless 캐시를 생성하는 AWS 계정만 이 영역에 액세스할 수 있습니다. ElastiCache Serverless는 ElastiCache Serverless에 대한 각 연결을 암호화하는 전송 계층 보안(TLS)을 통해 모든 저장 데이터 및 전송 중 데이터를 암호화합니다. 선택적으로 VPC, 서브넷, IAM 액세스 및 암호화를 위한 AWS Key Management Service(AWS KMS) 키 내의 캐시에 대한 액세스를 제한하도록 선택할 수 있습니다. ElastiCache Serverless는 PCI-DSS, SOC 및 ISO를 준수하며 HIPAA 인증을 받았습니다.

정식 출시
Amazon ElastiCache Serverless는 이제 중국을 포함하여 모든 상용 AWS 리전에서 사용할 수 있습니다. ElastiCache Serverless를 사용하면 선결제 비용이 없고, 사용한 리소스에 대한 비용만 지불하면 됩니다. 캐시된 데이터 비용은 GB-시간 단위로 지불하고, ECPU 사용량과 스냅샷 스토리지에 대한 비용은 GB-월 단위로 지불합니다.

자세한 내용은 ElastiCache Serverless 페이지요금 페이지를 참조하세요. 한번 사용해 보시고 Amazon ElastiCache에 대한 AWS re:Post 또는 일반적인 AWS Support 문의를 통해 피드백을 보내주세요.

Channy