Amazon ElastiCacheRedisMemcached와 호환되는 완전관리형 서비스로서 최신 애플리케이션을 위한 실시간 비용 최적화 성능과 최대 99.99%의 고가용성을 제공합니다. ElastiCache는 데이터 캐싱, 웹, 모바일 앱, 의료 앱, 금융 앱, 게임, 광고 기술, IoT, 미디어 스트리밍, 세션 스토어, 리더보드, 기계 학습(ML), 마이크로서비스 기반 애플리케이션과 같은 고성능 사용 사례에 적합합니다. ElastiCache가 어떻게 도움이 될 수 있는지 알아보려면 Amazon ElastiCache for Redis 사용 사례Amazon ElastiCache for Memcached 사용 사례를 참조하세요.

ElastiCache는 마이크로초 단위의 응답 시간으로 초당 수억 건의 작업으로 확장하여 데이터베이스 및 애플리케이션 성능을 가속화합니다. 이점으로는 오픈 소스 대안에 비해 향상된 보안, 신뢰성, 확장성 및 성능이 포함됩니다. 또한 읽기 작업이 많은 워크로드의 비용을 절감하고 메모리 집약적 워크로드를 위한 데이터 계층화와 같은 비용 최적화 기능을 제공합니다. 아래에서 ElastiCache 기능 및 이점에 대해 자세히 알아봅니다.

서버리스

1분 안에 시작하세요.

Amazon ElastiCache 서버리스를 사용하면 인프라를 프로비저닝하거나 구성하지 않고도 1분 이내에 고가용성 캐시를 생성할 수 있습니다. AWS Management Console, AWS 소프트웨어 개발 키트(SDK) 또는 AWS 명령줄 인터페이스(CLI)에서 캐시 이름을 지정하여 몇 단계만 거치면 ElastiCache 서버리스 캐시를 생성할 수 있습니다.

용량 계획 없음

ElastiCache 서버리스는 캐시의 컴퓨팅, 메모리 및 네트워크 사용을 지속적으로 모니터링하고 수요에 맞게 수직 및 수평으로 즉시 확장함으로써 복잡하고 시간이 많이 걸리는 용량 계획 프로세스를 제거합니다.

Amazon ElastiCache 서버리스 소개(1:30)

종량제 결제 모델

종량제 결제 모델을 사용하면 ElastiCache 서버리스에서 워크로드를 스케일 다운한 후 용량을 얼마나 빨리 축소할지 걱정할 필요가 없습니다. 저장한 데이터와 애플리케이션에서 사용하는 컴퓨팅에 대해서만 비용을 지불하면 됩니다. 자세한 내용은 ElastiCache 요금 페이지를 참조하세요.

사용 편의성

빠르게 시작하기

ElastiCache 서버리스를 사용하면 인프라 또는 용량을 관리할 필요 없이 콘솔, AWS CLI 또는 AWS SDK를 사용하여 1분 이내에 새로운 서버리스 캐시를 간단히 생성할 수 있습니다. 자체 클러스터를 설계하는 경우 리소스가 적절한 파라미터 및 설정으로 사전 구성되며, 캐시 파라미터 그룹을 통해 Redis 또는 Memcached 환경을 세부적으로 조정할 수 있습니다.

설명서를 참조하여 빠르게 ElastiCache for Redis를 시작하고 ElastiCache for Memcached를 시작하는 방법을 알아봅니다.

완전관리형 Redis 및 Memcached

ElastiCache는 완전관리형 서비스입니다. 용량 계획, 소프트웨어 패치 관리, 장애 감지 및 복구와 같이 시간이 많이 걸리는 관리 작업을 자동화하여 더 높은 가치의 애플리케이션 개발을 추구할 수 있도록 합니다. 기본 인 메모리 데이터베이스 환경에 대한 액세스 권한이 내장되어 있어 기존 Redis와 Memcached 도구 및 애플리케이션과 함께 ElastiCache를 쉽게 사용할 수 있습니다. ElastiCache 서버리스를 사용하면 구성이 필요 없고 애플리케이션 중단 없이 모든 마이너 버전 업데이트, 성능 향상 및 보안 패치가 자동으로 적용됩니다.

관계형 데이터베이스에 캐시 추가

Amazon Relational Database Service(RDS) 및 Amazon Aurora용 콘솔을 사용하여 ElastiCache 클러스터를 생성하고 이를 관계형 데이터베이스에 연결할 수 있습니다. 이렇게 하면 읽기 속도를 높여 애플리케이션 성능을 가속화하고 비용을 절감할 수 있습니다. Amazon RDS에서 ElastiCache 클러스터 생성 및 연결Aurora 설명서에 대해 자세히 알아봅니다.

모니터링

Amazon CloudWatch 지표는 추가 비용 없이 ElastiCache 리소스에 대한 인사이트를 제공합니다. 콘솔을 사용하여 컴퓨팅, 사용된 메모리, 캐시 적중률, 활성 연결, 복제, 명령 등 인스턴스에 대한 40개 이상의 주요 운영 지표를 볼 수 있습니다. 캐시 클러스터 모니터링에 대해 자세히 알아보려면 ElastiCache for Redis에 대한 CloudWatch 지표ElastiCache for Memcached에 대한 CloudWatch 지표 모니터링에 대한 설명서를 참조하세요.

ElastiCache는 주목할 만한 이벤트에 대한 메시지를 게시합니다. 새 캐시 생성, 삭제, 캐시 구성 업데이트를 비롯한 ElastiCache 서버리스 이벤트는 Amazon EventBridge로 전송됩니다. 자체 설계한 캐시 클러스터를 사용하는 경우 ElastiCache는 이벤트를 Amazon Simple Notification Service(SNS)로 보냅니다.

태그 지정

추적 및 청구 목적으로 ElastiCache 리소스와 Redis 또는 Memcached 스냅샷에 태그를 지정하는 기능의 이점을 활용하세요. AWS Cost Explorer를 통해 비용을 리소스와 리소스 그룹에 분배하여 공통 태그 세트를 공유하는 리소스 모음을 생성하고 유지 관리할 수 있습니다. ElastiCache 리소스에 태그를 지정하는 방법에 대해 자세히 알아보려면 ElastiCache for Redis 태그 지정ElastiCache for Memcached 태그 지정에 대한 설명서를 참조하세요.

JSON 지원

ElastiCache for Redis에서는 오픈 소스 Redis에 포함된 데이터 구조 외에도 JavaScript Object Notation(JSON) 문서에 대한 기본 지원을 제공합니다. JSON 문서용으로 설계되고 최적화된 기본 제공 명령을 사용하여 애플리케이션 개발을 간소화할 수 있습니다. ElastiCache for Redis는 부분 JSON 문서 업데이트와 JSONPath 쿼리 언어를 사용한 강력한 검색 및 필터링을 지원합니다. JSON 지원은 ElastiCache for Redis 버전 6.2 이상을 사용할 때 사용할 수 있습니다.

성능 및 확장성

마이크로초 응답 시간

ElastiCache를 사용하면 자주 액세스하는 데이터에 대해 디스크 기반 데이터베이스에 액세스할 필요가 없으므로 애플리케이션 성능을 개선하고 읽기 중심의 워크로드의 처리량을 높일 수 있습니다. ElastiCache는 마이크로초의 응답 시간으로 초당 수백만 개의 작업으로 확장할 수 있습니다.

높은 처리량 및 지연 시간

ElastiCache for Redis 버전 7.1은 ElastiCache for Redis 버전 7.0에 비해 최대 100% 더 많은 처리량과 50% 더 낮은 P99 지연 시간을 제공합니다. r7g.4xlarge 노드 이상에서는 노드당 초당 1백만 개 이상의 요청 또는 클러스터당 초당 5억 개 이상의 요청을 처리할 수 있습니다.

ElastiCache for Redis 버전 7.1은 멀티플렉싱, 프레젠테이션 계층 오프로드 및 기타 기능을 통해 대규모 처리량과 지연 시간을 크게 개선하는 향상된 I/O 스레드를 제공합니다. 향상된 I/O 스레드는 다수의 클라이언트 연결이 있는 처리량 제한 워크로드에 적합하며 워크로드 동시성 수준에 따라 그 이점이 확대됩니다. 이러한 개선 사항은 다이어그램에 나와 있으며 전용 스레드로 푸시된 작업을 보여줍니다.

ElastiCache for Redis 버전 7.1을 시작하려면 추가 비용 없이 ElastiCache 콘솔을 사용하여 새 클러스터를 생성하거나 기존 클러스터를 업그레이드하세요. 자세히 알아보려면 ElastiCache for Redis Redis용 지원 버전 설명서를 참조하고 ElastiCache for Redis 버전 7.1 블로그 게시물을 읽어보세요.

수요에 맞춰 클러스터 규모 조정

ElastiCache 서버리스는 애플리케이션 성능 요구에 맞춰 자동으로 탄력적으로 규모가 조정됩니다. ElastiCache 서버리스는 애플리케이션이 캐시에서 사용하는 메모리, 컴퓨팅 및 네트워크 대역폭을 지속적으로 모니터링합니다. 이를 통해 캐시를 제자리에서 스케일 업하는 동시에 병렬로 스케일 아웃할 수 있으므로 캐시가 애플리케이션의 트래픽 요구 사항을 지원할 수 있습니다. ElastiCache for Redis 클러스터 크기 조정ElastiCache for Memcached 클러스터 크기 조정에 대해 알아봅니다.

애플리케이션 Auto Scaling

자체 캐시를 설계할 때 ElastiCache for Redis Auto Scaling을 사용하면 ElastiCache for Redis 서비스에서 원하는 샤드 또는 복제본을 자동으로 늘리거나 줄일 수 있어 가능한 최저 비용으로 안정적이고 예측 가능한 성능을 유지할 수 있습니다. ElastiCache for Redis는 AWS Auto Scaling을 사용해 규모 조정과 CloudWatch 지표를 관리하여 스케일 업 또는 스케일 다운할 시점을 결정합니다.

가용성 및 안정성

고가용성 및 다중 가용성 영역

ElastiCache는 다중 가용 영역(다중 AZ) 또는 서버리스 구성을 사용할 때 99.99% 서비스 수준 계약(SLA)을 제공합니다. ElastiCache 서버리스는 사용자 구성 없이 여러 AZ에 걸쳐 자동으로 데이터를 중복 저장합니다. 자체 캐시 클러스터를 설계할 때는 여러 AZ에 복제본을 생성하여 가용성을 높이고 읽기 트래픽을 확장함으로써 여러 AWS AZ를 활용할 수 있습니다. 기본 노드 손실 시 AWS는 오류를 자동으로 감지하고 읽기 전용 복제본으로 장애 조치하여 수동 개입 없이 가용성을 높입니다. 복제 그룹을 사용한 고가용성다중 AZ를 사용하는 ElastiCache for Redis의 가동 중지 시간을 최소화하는 방법에 대해 자세히 알아보세요.

글로벌 데이터 스토어를 사용한 리전 간 재해 복구

ElastiCache for Redis의 글로벌 데이터 스토어에서는 빠르고 안정적이며 안전한 완전관리형 AWS 리전 간 복제를 제공합니다. 글로벌 데이터 스토어를 사용하면 하나의 리전에서 ElastiCache for Redis 클러스터에 데이터를 작성하고, 다른 2개의 교차 리전 복제본 클러스터에서 해당 데이터를 읽을 수 있으므로 AWS 리전 간 짧은 지연 시간의 읽기와 재해 복구가 가능합니다. 혹시라도 한 리전의 성능이 저하되면 정상 상태의 교차 리전 복제본 클러스터 중 하나를 전체 읽기 및 쓰기 기능을 갖춘 프라이머리 클러스터로 승격할 수 있습니다. 

인스턴스 모니터링 및 복구

ElastiCache는 인스턴스의 상태를 지속적으로 모니터링합니다. 노드에 장애가 발생하거나 오랫동안 성능이 저하되는 경우 ElastiCache는 자동으로 다시 시작하거나 노드와 관련 프로세스를 교체합니다.

백업, 복원 및 내보내기

ElastiCache for Redis를 사용하면 클러스터의 스냅샷을 생성하여 데이터를 보호할 수 있습니다. 콘솔에서 몇 번의 단계로 또는 간단한 API 호출을 통해 자동 스냅샷을 설정하거나 수동 백업을 시작할 수 있습니다. 이러한 스냅샷 또는 Simple Storage Service(S3)에 저장된 Redis RDB 호환 스냅샷을 사용하여 새로운 Amazon ElastiCache for Redis 클러스터를 시드할 수 있습니다.

재해 복구, 분석 또는 리전 간 백업 및 복원을 위해 스냅샷을 선택한 Amazon S3 버킷으로 내보낼 수도 있습니다. 데이터 보호를 위한 ElastiCache for Redis 백업 및 복원에 대해 자세히 알아봅니다.

보안 및 규정 준수

네트워크 격리

ElastiCache를 사용하면 Amazon Virtual Private Cloud(VPC)에서 리소스를 실행할 수 있습니다. Amazon VPC를 사용하면 노드에 사용할 IP 범위를 지정하여 ElastiCache 리소스를 분리하고 같은 Amazon VPC 내의 다른 애플리케이션에 연결할 수 있습니다. 이 서비스를 사용하여 리소스에 대한 네트워크 액세스를 제어하는 방화벽 설정을 구성할 수도 있습니다. Amazon VPC 및 ElastiCache for Redis 보안Amazon VPC 및 ElastiCache for Memcached 보안에 대해 자세히 알아보세요.

전송 중 및 저장 중 암호화

ElastiCache는 전송 중 암호화를 지원하므로 ElastiCache 서비스 경계 내에서뿐만 아니라 클라이언트와 ElastiCache 서버 간의 모든 통신을 암호화할 수 있습니다. ElastiCache는 저장 중 암호화 또한 지원하므로 Amazon S3의 디스크 사용 및 백업을 암호화할 수 있습니다. 암호화와 ElastiCache for Redis 데이터 보안Elasticache for Memcached 데이터 보안에 대해 자세히 알아봅니다. ElastiCache 서버리스는 항상 전송 계층 보안(TLS)을 사용하여 저장 데이터와 전송 중인 데이터를 암호화합니다. 

또한 ElastiCache는 암호화에 자체 AWS KMS 키를 사용할 수 있는 AWS Key Management Service(AWS KMS) 통합 기능을 제공합니다. 더 나아가 Redis AUTH 명령을 사용하여 인증 수준을 강화할 수 있습니다. ElastiCache for Redis에서 인증서의 발급, 갱신 및 만료를 자동으로 관리하므로 사용자는 인증서 수명 주기를 관리할 필요가 없습니다.

Redis 인증 및 액세스 제어

ElastiCache for Redis는 IAM ID, Redis AUTH 및 역할 기반 액세스 제어(RBAC)를 사용하는 AWS Identity and Access Management(IAM) 인증을 통한 인증을 지원합니다.

IAM 인증을 사용하면 AWS IAM ID를 사용하여 ElastiCache for Redis에 대한 연결을 인증하여 보안 모델을 강화하고 많은 관리 보안 작업을 간소화할 수 있습니다. Redis 인증 토큰 또는 암호를 사용하면 Redis에서 클라이언트가 명령을 실행하기 전에 암호를 요구할 수 있으므로 데이터 보안이 향상됩니다.

규정 준수

ElastiCache는 SOC 1, SOC 2, SOC 3, ISO, MTCS, C5, PCI, HIPAA 및 FedRAMP와 같은 프로그램을 통해 규정 준수를 지원합니다. 현재 지원되는 규정 준수 프로그램의 목록은 규정 준수 프로그램 제공 범위 내 AWS 서비스를 참조하세요.

AWS PrivateLink를 사용하여 Amazon VPC에서 ElastiCache에 비공개로 액세스할 수 있습니다. PrivateLink를 사용하면 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결 없이 ElastiCache API 작업에 비공개로 액세스할 수 있습니다. ElastiCache for Redis API 및 인터페이스 VPC 엔드포인트ElastiCache for Memcached API 및 인터페이스 VPC 엔드포인트에 대해 자세히 알아보세요.

비용 효율성

사용한 만큼만 요금 지불

ElastiCache를 사용하면 선결제 비용이나 장기 약정 없이 사용한 리소스에 대해서만 비용을 지불합니다. 자체 클러스터를 설계할 때 선택한 노드 수, 노드 유형 및 요금 모델을 기준으로 ElastiCache 서버리스에 저장된 데이터 및 컴퓨팅 소비에 대해 시간당 요금이 부과됩니다. 자세한 내용은 ElastiCache 요금 페이지를 참조하세요.

관계형 워크로드의 비용 최적화

ElastiCache를 사용하는 인 메모리 캐싱으로 관계형 데이터베이스 비용을 최적화할 수 있습니다. ElastiCache를 Amazon RDS for MySQL과 함께 사용하면 비용을 최대 55% 절감하고 읽기 성능을 최대 80배 더 빠르게 얻을 수 있습니다(Amazon RDS for MySQL 단독 사용과 비교).

데이터 계층화

ElastiCache for Redis에 대한 데이터 계층화를 저렴한 비용으로 사용하여 클러스터를 최대 수백 테라바이트의 용량까지 확장할 수 있습니다. 데이터 계층화는 Redis 워크로드에 대한 가격 대비 성능 옵션으로, 저렴한 Solid State Drive(SSD)를 각 클러스터 노드에서 활용하고 데이터를 메모리에 저장합니다.

전체 데이터 세트의 최대 20%에 정기적으로 액세스하는 워크로드와 SSD의 데이터에 액세스 시 추가 지연 시간을 허용할 수 있는 애플리케이션에 적합합니다. ElastiCache 데이터 계층화는 Graviton2 기반 R6gd 노드에서 Redis 버전 6.2 이상을 사용 시 이용할 수 있습니다. R6gd 노드는 총 용량(메모리+SSD)이 거의 5배 더 크며 최대 사용률로 실행할 때 R6g 노드(메모리만 해당)에 비해 60% 이상 비용을 절감할 수 있습니다.

예약 노드

ElastiCache 예약 노드는 1년 또는 3년 약정 시 온디맨드 사용량에 비해 상당한 할인을 제공합니다. 예약 노드를 사용하면 선결제 없음, 부분 선결제 또는 전체 선결제를 통해 특정 리전에서 노드를 실행하도록 예약할 수 있습니다. 이러한 예약은 1년 또는 3년 단위로 이용할 수 있으며, 시간당 사용 요금을 대폭 할인받을 수 있습니다. ElastiCache for Redis 예약 노드ElastiCache for Memcached 예약 노드에 대해 자세히 알아보세요.

FAQ

ElastiCache는 어디에 사용되나요?

ElastiCache는 클라우드에서 Redis 또는 Memcached 프로토콜과 호환되는 서버 노드를 쉽게 배포 및 실행할 수 있도록 해주는 웹 서비스입니다. ElastiCache는 속도가 느린 디스크 기반 시스템에 전적으로 의존하는 대신 빠르고 완벽하게 관리되는 인 메모리 시스템에서 정보를 검색할 수 있도록 하여 웹 애플리케이션의 성능을 개선합니다.

ElastiCache는 인 메모리 환경의 관리, 모니터링 및 운영을 간소화하고 부담을 덜어주므로 엔지니어링 리소스가 애플리케이션 개발에 집중할 수 있도록 해줍니다. ElastiCache를 사용하면 사용자 작업과 쿼리에 대한 로드 및 응답 시간을 개선하고 웹 애플리케이션 확장에 따른 비용을 줄일 수 있습니다.

ElastiCache는 서버리스인가요?

예. ElastiCache 서버리스를 사용하면 고객이 1분 이내에 캐시를 추가하고 애플리케이션 트래픽 패턴에 따라 용량을 즉시 확장할 수 있습니다. 콘솔, SDK 또는 AWS CLI를 사용하여 캐시 이름을 지정하면 쉽게 시작할 수 있습니다. 자세한 내용은 ElastiCache 설명서를 참조하세요.

ElastiCache의 장점은 무엇인가요?

ElastiCache는 완전관리형이며 분산된 인 메모리 키-값 환경을 운영하는 데 필요한 일반적인 관리 작업을 자동화합니다.

ElastiCache 서버리스를 사용하면 캐시 클러스터 용량을 프로비저닝, 계획 및 관리할 필요 없이 1분 이내에 가용성과 확장성이 뛰어난 캐시를 생성할 수 있습니다. ElastiCache 서버리스는 3개의 가용 영역에 걸쳐 데이터를 자동으로 중복 저장하며 99.99% 가용성 서비스 수준 계약(SLA)을 제공합니다. ElastiCache는 CloudWatch 모니터링과의 통합을 통해 캐시 리소스와 관련된 주요 성능 지표에 대한 향상된 가시성을 제공합니다.

ElastiCache는 Redis 및 Memcached와 프로토콜을 준수하므로 기존 Redis 또는 Memcached 환경에서 사용하는 코드, 애플리케이션 및 인기 있는 도구가 서비스와 원활하게 연동됩니다. ElastiCache의 클러스터 구성 지원을 통해 가장 까다로운 애플리케이션의 요구 사항을 충족할 수 있는 빠르고 확장 가능하며 사용하기 쉬운 관리형 서비스의 이점을 얻을 수 있습니다. ElastiCache를 사용하면 최소 요금, 선수금 또는 장기 약정 없이 사용한 만큼만 비용을 지불합니다.

ElastiCache 인 메모리 캐싱은 내 애플리케이션에 어떻게 도움이 될 수 있나요?

인 메모리 캐싱은 자주 액세스하는 데이터 항목을 메모리에 저장하여 애플리케이션 성능을 개선하므로 디스크 기반 스토리지를 기본으로 사용할 수 있는 기본 데이터베이스에서 읽는 것보다 후속 읽기 속도가 훨씬 빨라집니다. ElastiCache를 사용하면 읽기 중심의 여러 애플리케이션 워크로드(예: 소셜 네트워킹, 게임, 미디어 공유 및 Q&A 포털) 또는 컴퓨팅 중심의 워크로드(예: 추천 엔진)에서 지연 시간을 크게 단축하고 처리량을 상당히 높일 수 있습니다.

인 메모리 캐싱은 핵심 데이터 조각을 메모리에 저장해 액세스 지연 시간을 줄여주므로 애플리케이션 성능이 향상됩니다. 캐싱된 정보에는 I/O 집약적 데이터베이스 쿼리 결과 또는 컴퓨팅 집약적 계산 결과가 포함될 수 있습니다.

ElastiCache를 설정하고 시작하려면 어떻게 해야 하나요?

ElastiCache는 간단하게 시작할 수 있습니다. 아직 ElastiCache에 가입하지 않았다면 ElastiCache 개요 페이지에서 ‘Get started(시작하기)’ 버튼을 클릭하여 가입 절차를 완료할 수 있습니다. 이 서비스에 액세스하려면 AWS 계정이 있어야 합니다. 아직 계정이 없는 경우 ElastiCache 가입 프로세스를 시작하면 계정을 생성하라는 메시지가 표시됩니다.

신규 AWS 고객은 가입 시 AWS 프리 티어의 일부로 750시간의 ElastiCache cache.t2.micro 또는 cache.t3.micro 노드 사용량을 최대 12개월간 무료로 받습니다.

ElastiCache에 가입한 후 ElastiCache for Redis 시작 안내서ElastiCache for Memcached 시작 안내서를 참조하여 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 몇 분 내에 클러스터를 시작할 수 있는 방법을 알아보세요.