Amazon ElastiCache를 사용해야 하는 이유
Amazon ElastiCache는 Valkey, Memcached 및 Redis OSS와 호환되는 완전관리형 서비스로, 최신 애플리케이션을 위한 실시간 비용 최적화 성능과 최대 99.99%의 고가용성을 제공합니다. ElastiCache는 데이터 캐싱, 웹, 모바일 앱, 의료 앱, 금융 앱, 게임, 광고 기술, IoT, 미디어 스트리밍, 세션 스토어, 리더보드, 기계 학습(ML), 마이크로서비스 기반 애플리케이션과 같은 고성능 사용 사례에 적합합니다. Amazon ElastiCache 사용 사례를 참조하여 ElastiCache가 어떤 도움을 줄 수 있는지 알아보세요.
ElastiCache는 마이크로초 단위의 응답 시간으로 하루 수백조 건의 요청으로 확장하여 데이터베이스 및 애플리케이션 성능을 가속화합니다. 오픈 소스 대안에 비해 향상된 보안, 신뢰성, 확장성 및 성능이라는 이점이 있습니다. 또한 읽기 작업이 많은 워크로드의 비용을 절감하고 메모리 집약적 워크로드를 위한 데이터 계층화와 같은 비용 최적화 기능을 제공합니다.
ElastiCache는 이제 Valkey를 지원합니다. Valkey는 Redis OSS를 대체하는 오픈 소스 프로젝트이며 지원되는 다른 엔진보다 요금이 최대 33% 저렴합니다.
서버리스
1분 안에 시작하세요.
Amazon ElastiCache 서버리스를 사용하면 인프라를 프로비저닝하거나 구성하지 않고도 1분 이내에 고가용성 캐시를 생성할 수 있습니다. AWS Management Console, AWS 소프트웨어 개발 키트(AWS SDK) 또는 AWS Command Line Interface(AWS CLI)에서 캐시 이름을 지정하여 몇 단계만 거치면 ElastiCache 서버리스 캐시를 생성할 수 있습니다.
Amazon ElastiCache Serverless 소개를 시청하여 간략한 개요를 확인하세요.
용량 계획 없음
ElastiCache 서버리스는 캐시의 컴퓨팅, 메모리 및 네트워크 사용을 지속적으로 모니터링하고 수요에 맞게 수직 및 수평으로 즉시 확장함으로써 복잡하고 시간이 많이 걸리는 용량 계획 프로세스를 제거합니다.
종량제 결제 모델
종량제 결제 모델을 사용하면 ElastiCache 서버리스에서 워크로드를 스케일 다운한 후 용량을 얼마나 빨리 축소할지 걱정할 필요가 없습니다. 저장한 데이터와 애플리케이션에서 사용하는 컴퓨팅에 대해서만 비용을 지불하면 됩니다. 자세한 내용은 ElastiCache 요금 페이지를 참조하세요.
Valkey용 ElastiCache는 ElastiCache Serverless에서 다른 지원되는 엔진에 비해 33% 저렴한 월 6 USD부터 시작할 수 있습니다.
사용 편의성
빠르게 시작하기
ElastiCache Serverless를 사용하면 인프라 또는 용량을 관리하지 않고도 콘솔, AWS CLI 또는 AWS SDK를 사용하여 1분 이내에 새로운 서버리스 캐시를 간단히 생성할 수 있습니다. 자체 클러스터를 설계하는 경우 리소스가 적절한 파라미터 및 설정으로 사전 구성되며, 캐시 파라미터 그룹을 통해 환경을 세부적으로 조정할 수 있습니다.
ElastiCache를 빠르게 시작하는 방법을 알아보려면 설명서를 참조하세요.
완전관리형
ElastiCache는 완전관리형 서비스입니다. 용량 계획, 소프트웨어 패치 관리, 장애 감지 및 복구와 같이 시간이 많이 걸리는 관리 작업을 자동화하여 애플리케이션 개발과 같이 더욱 가치 있는 일에 집중할 수 있습니다. 기본 인 메모리 데이터베이스 환경에 대한 액세스 권한이 내장되어 있어 기존 Valkey, Memcached 및 Redis OSS 도구 및 애플리케이션과 함께 ElastiCache를 쉽게 사용할 수 있습니다. ElastiCache Serverless를 사용하면 구성이 필요 없고 애플리케이션 중단 없이 모든 마이너 버전 업데이트, 성능 향상 및 보안 패치가 자동으로 적용됩니다.
관계형 데이터베이스에 캐시 추가
Amazon Relational Database Service(Amazon RDS) 및 Amazon Aurora를 사용하여 ElastiCache 클러스터를 생성하고 이를 관계형 데이터베이스에 연결할 수 있습니다. 이렇게 하면 읽기 속도를 높이고 비용을 절감하여 애플리케이션 성능을 가속화할 수 있습니다. Amazon RDS 및 Aurora에서 ElastiCache 클러스터를 생성하고 연결하는 방법에 대해 자세히 알아봅니다.
모니터링
Amazon CloudWatch 지표는 추가 비용 없이 ElastiCache 리소스에 대한 인사이트를 제공합니다. 콘솔을 사용하여 컴퓨팅, 사용된 메모리, 캐시 적중률, 활성 연결, 복제, 명령 등 인스턴스에 대한 40개 이상의 주요 운영 지표를 볼 수 있습니다. 캐시 클러스터를 모니터링하는 방법에 대해 자세히 알아보려면 ElastiCache의 CloudWatch 지표 모니터링에 관한 설명서를 참조하세요.
ElastiCache는 주목할 만한 이벤트에 대한 메시지를 게시합니다. 새 캐시 생성, 삭제, 캐시 구성 업데이트를 비롯한 ElastiCache 서버리스 이벤트는 Amazon EventBridge로 전송됩니다. 자체 설계한 캐시 클러스터를 사용하는 경우 ElastiCache는 이벤트를 Amazon Simple Notification Service(SNS)로 보냅니다.
태깅
추적 및 청구 목적으로 ElastiCache 리소스와 스냅샷에 태그를 지정하는 기능을 활용하세요. AWS Cost Explorer를 통해 비용을 리소스와 리소스 그룹에 분배하여 공통 태그 세트를 공유하는 리소스 모음을 생성하고 유지 관리할 수 있습니다. ElastiCache 리소스에 태그를 지정하는 방법에 대해 자세히 알아보려면 ElastiCache 태그 지정에 대한 설명서를 참조하세요.
JSON 지원
ElastiCache에서는 Valkey 및 Redis OSS에 포함된 데이터 구조 외에도 JSON 문서에 대한 기본 지원을 제공합니다. JSON 문서용으로 설계되고 최적화된 기본 제공 명령을 사용하여 애플리케이션 개발을 간소화할 수 있습니다. ElastiCache는 부분 JSON 문서 업데이트와 JSONPath 쿼리 언어를 사용한 강력한 검색 및 필터링을 지원합니다. JSON 지원은 Valkey용 ElastiCache 버전 7.2 및 Redis OSS용 ElastiCache 버전 6.2 이상에서 사용할 수 있습니다.
성능 및 확장성
마이크로초 응답 시간
ElastiCache를 사용하면 자주 액세스하는 데이터에 대해 디스크 기반 데이터베이스에 액세스할 필요가 없으므로 애플리케이션 성능을 개선하고 읽기 중심의 워크로드의 처리량을 높일 수 있습니다. ElastiCache는 마이크로초의 응답 시간으로 초당 수백만 개의 작업으로 확장할 수 있습니다.
고가용성 및 다중 가용 영역
ElastiCache는 다중 AZ 또는 서버리스 구성을 사용할 때 99.99% 서비스 수준 계약(SLA)을 제공합니다. ElastiCache 서버리스는 사용자 구성 없이 다중 가용 영역에 걸쳐 자동으로 데이터를 중복 저장합니다. 자체 캐시 클러스터를 설계할 때는 다중 가용 영역에 복제본을 생성하여 가용성을 높이고 읽기 트래픽을 확장함으로써 다중 AWS 가용 영역을 활용할 수 있습니다. 프라이머리 노드 손실 시 AWS는 장애를 자동으로 감지하고 읽기 전용 복제본으로 장애 조치하여 수동 개입 없이 가용성을 높입니다. 복제 그룹을 사용한 고가용성과 다중 가용 영역을 사용하여 ElastiCache의 가동 중지 시간 최소화에 대해 자세히 알아보세요.
수요에 맞춰 클러스터 규모 조정
ElastiCache 서버리스는 애플리케이션 성능 요구에 맞춰 자동으로 탄력적으로 규모가 조정됩니다. ElastiCache 서버리스는 애플리케이션이 캐시에서 사용하는 메모리, 컴퓨팅 및 네트워크 대역폭을 지속적으로 모니터링합니다. 이를 통해 캐시를 제자리에서 스케일 업하는 동시에 병렬로 스케일 아웃할 수 있으므로 캐시가 애플리케이션의 트래픽 요구 사항을 지원할 수 있습니다. ElastiCache 클러스터 규모 조정에 대해 자세히 알아보세요.
애플리케이션 Auto Scaling
자체 캐시를 설계할 때 ElastiCache 오토 스케일링을 사용하면 원하는 샤드 또는 복제본을 자동으로 늘리거나 줄일 수 있어 최대한 최저 비용으로 안정적이고 예측 가능한 성능을 유지할 수 있습니다. ElastiCache는 AWS Auto Scaling을 사용해 규모 조정과 CloudWatch 지표를 관리하여 스케일 업 또는 스케일 다운할 시점을 결정합니다.
가용성 및 안정성
고가용성 및 다중 가용 영역
ElastiCache는 다중 AZ 또는 서버리스 구성을 사용할 때 99.99% 서비스 수준 계약(SLA)을 제공합니다. ElastiCache 서버리스는 사용자 구성 없이 다중 가용 영역에 걸쳐 자동으로 데이터를 중복 저장합니다. 자체 캐시 클러스터를 설계할 때는 다중 가용 영역에 복제본을 생성하여 가용성을 높이고 읽기 트래픽을 확장함으로써 다중 AWS 가용 영역을 활용할 수 있습니다. 프라이머리 노드 손실 시 AWS는 장애를 자동으로 감지하고 읽기 전용 복제본으로 장애 조치하여 수동 개입 없이 가용성을 높입니다. 복제 그룹을 사용한 고가용성과 다중 가용 영역을 사용하여 ElastiCache의 가동 중지 시간 최소화에 대해 자세히 알아보세요.
글로벌 데이터 스토어를 사용한 크로스 리전 재해 복구
ElastiCache의 글로벌 데이터 스토어에서는 빠르고 안정적이며 안전한 완전관리형 AWS 리전 간 복제를 제공합니다. 글로벌 데이터 스토어를 사용하면 하나의 리전에서 ElastiCache 클러스터에 데이터를 작성하고, 다른 2개의 크로스 리전 복제본 클러스터에서 해당 데이터를 읽을 수 있으므로 AWS 리전 간 읽기 및 재해 복구의 지연 시간이 짧습니다. 혹시라도 한 리전의 성능이 저하되면 정상 상태의 크로스 리전 복제본 클러스터 중 하나를 전체 읽기 및 쓰기 기능을 갖춘 프라이머리 클러스터로 승격할 수 있습니다.
인스턴스 모니터링 및 복구
ElastiCache는 인스턴스의 상태를 지속적으로 모니터링합니다. 노드에 장애가 발생하거나 오랫동안 성능이 저하되는 경우 ElastiCache는 자동으로 다시 시작하거나 노드와 관련 프로세스를 교체합니다.
백업, 복원 및 내보내기
ElastiCache를 사용하면 클러스터의 스냅샷을 생성하여 데이터를 보호할 수 있습니다. 콘솔에서 몇 번의 단계 또는 간단한 API 직접 호출을 통해 자동 스냅샷을 설정하거나 수동 백업을 시작할 수 있습니다. 이러한 스냅샷 또는 Amazon Simple Storage Service(Amazon S3)에 저장된 Valkey 또는 Redis OSS RDB 호환 스냅샷을 사용하여 새로운 ElastiCache 클러스터를 시드할 수 있습니다.
재해 복구, 분석 또는 크로스 리전 백업 및 복원을 위해 스냅샷을 선택한 Amazon S3 버킷으로 내보낼 수도 있습니다. 데이터 보호를 위한 ElastiCache 백업 및 복원에 대해 자세히 알아보세요.
보안 및 규정 준수
네트워크 격리
ElastiCache를 사용하면 Amazon Virtual Private Cloud(Amazon VPC)에서 리소스를 실행할 수 있습니다. Amazon VPC를 사용하면 노드에 사용할 IP 범위를 지정하여 ElastiCache 리소스를 분리하고 같은 Amazon VPC 내의 다른 애플리케이션에 연결할 수 있습니다. 이 서비스를 사용하여 리소스에 대한 네트워크 액세스를 제어하는 방화벽 설정을 구성할 수도 있습니다. Amazon VPC 및 ElastiCache 보안에 대해 자세히 알아보세요.
전송 중 및 저장 중 암호화
ElastiCache는 전송 중 암호화를 지원하므로 ElastiCache 서비스 경계 내에서뿐만 아니라 클라이언트와 ElastiCache 서버 간의 모든 통신을 암호화할 수 있습니다. ElastiCache는 저장 중 암호화도 지원하므로 Amazon S3의 디스크 사용 및 백업을 암호화할 수 있습니다. 암호화 및 ElastiCache 데이터 보안에 대해 자세히 알아보세요. ElastiCache Serverless는 항상 TLS를 사용하여 저장 데이터와 전송 중인 데이터를 암호화합니다.
또한 ElastiCache는 암호화에 자체 AWS KMS 키를 사용할 수 있는 AWS Key Management Service(AWS KMS) 통합 기능을 제공합니다. 또한 Valkey 및 Redis OSS AUTH 명령을 사용하여 인증 수준을 강화할 수 있습니다. ElastiCache에서 인증서의 발급, 갱신 및 만료를 자동으로 관리하므로 사용자는 인증서 수명 주기를 관리할 필요가 없습니다.
인증 및 액세스 제어
ElastiCache는 IAM ID, Valkey 또는 Redis OSS AUTH 및 역할 기반 액세스 제어(RBAC)를 사용하는 AWS Identity and Access Management(IAM) 인증을 통한 인증을 지원합니다.
IAM 인증을 사용하면 IAM ID를 사용해 ElastiCache에 대한 연결을 인증하여 보안 모델을 강화하고 많은 관리 보안 작업을 간소화할 수 있습니다. Valkey 또는 Redis OSS 인증 토큰 또는 암호를 사용하면 Valkey 또는 Redis OSS에서 클라이언트가 명령을 실행하기 전에 암호를 요구할 수 있으므로 데이터 보안이 향상됩니다.
규정 준수
ElastiCache는 SOC 1, SOC 2, SOC 3, ISO, MTCS, C5, PCI, HIPAA 및 FedRAMP와 같은 프로그램을 통해 규정 준수를 지원합니다. 현재 지원되는 규정 준수 프로그램의 목록은 규정 준수 프로그램 제공 범위 내 AWS 서비스를 참조하세요.
AWS PrivateLink
AWS PrivateLink를 사용하여 Amazon VPC에서 ElastiCache에 비공개로 액세스할 수 있습니다. PrivateLink를 사용하면 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결 없이 ElastiCache API 작업에 비공개로 액세스할 수 있습니다. ElastiCache API 및 인터페이스 VPC 엔드포인트에 대해 자세히 알아보세요.
비용 효율성
사용한 만큼만 비용 지불
ElastiCache를 사용하면 선결제 비용이나 장기 약정 없이 사용한 리소스에 대해서만 비용을 지불합니다. 자체 클러스터를 설계할 때 선택한 노드 수, 노드 유형 및 요금 모델을 기준으로 ElastiCache 서버리스에 저장된 데이터 및 컴퓨팅 소비에 대해 시간당 요금이 부과됩니다. 33% 할인된 요금과 100MB의 90% 더 낮은 최소 데이터 스토리지를 통해 Valkey용 ElastiCache Serverless의 비용을 더욱 최적화할 수 있습니다. 자체 설계 노드를 기반으로 하는 Valkey용 ElastiCache의 경우 노드당 비용을 20% 절감할 수 있습니다. 자세한 내용은 ElastiCache 요금 페이지를 참조하세요.
관계형 워크로드의 비용 최적화
ElastiCache를 사용하는 인 메모리 캐싱으로 관계형 데이터베이스 비용을 최적화할 수 있습니다. ElastiCache를 Amazon RDS for MySQL과 함께 사용하면 비용을 최대 55% 절감하고 읽기 성능을 최대 80배 더 빠르게 얻을 수 있습니다(Amazon RDS for MySQL 단독 사용과 비교).
데이터 계층화
ElastiCache에 대한 데이터 계층화를 저렴한 비용으로 사용하여 클러스터를 최대 수백 테라바이트의 용량까지 확장할 수 있습니다. 데이터 계층화는 데이터를 메모리에 저장하는 것 외에도 각 클러스터 노드에서 저렴한 SSD를 사용함으로써 가격 대비 성능 옵션을 제공합니다.
전체 데이터세트의 최대 20%에 정기적으로 액세스하는 워크로드와 SSD의 데이터에 액세스 시 추가 지연 시간을 허용할 수 있는 애플리케이션에 적합합니다. ElastiCache 데이터 계층화는 AWS Graviton2 기반 R6gd 노드에서 Valkey용 ElastiCache 버전 7.2 이상 및 Redis OSS용 ElastiCache 버전 6.2 이상 사용 시 이용할 수 있습니다. R6gd 노드는 총 용량(메모리 + SSD)이 거의 5배 더 크며 최대 사용률로 실행할 때 R6g 노드(메모리만 해당)에 비해 60% 이상 비용을 절감할 수 있습니다.
예약 노드
ElastiCache 예약 노드는 1년 또는 3년 약정 시 온디맨드 사용량에 비해 상당한 할인을 제공합니다. 예약 노드를 사용하면 선결제 없음, 부분 선결제 또는 전체 선결제를 통해 특정 리전에서 노드를 실행하도록 예약할 수 있습니다. 이러한 예약은 1년 또는 3년 단위로 이용할 수 있으며, 시간당 사용 요금을 크게 할인받을 수 있습니다. ElastiCache 예약 노드는 노드 및 AWS 리전 내에서 유연한 크기를 지원합니다. 즉, 할인된 예약 노드 요금이 동일한 노드 제품군의 모든 크기 사용량에 자동으로 적용됩니다. ElastiCache 예약 노드에 대해 자세히 알아보세요.
FAQ
ElastiCache는 어디에 사용되나요?
ElastiCache는 클라우드에서 Valkey, Memcached 및 Redis OSS 프로토콜과 호환되는 서버 노드를 쉽게 배포 및 실행할 수 있도록 해주는 웹 서비스입니다. ElastiCache는 속도가 느린 디스크 기반 시스템에 전적으로 의존하는 대신 빠른 완전관리형 인 메모리 시스템에서 정보를 검색할 수 있도록 하여 웹 애플리케이션의 성능을 개선합니다.
ElastiCache는 인 메모리 환경의 관리, 모니터링 및 운영을 간소화하고 부담을 덜어주므로 엔지니어링 리소스가 애플리케이션 개발에 집중할 수 있도록 해줍니다. ElastiCache를 사용하면 사용자 작업과 쿼리에 대한 로드 및 응답 시간을 개선하고 웹 애플리케이션 확장에 따른 비용을 줄일 수 있습니다.
ElastiCache는 서버리스인가요?
예. ElastiCache 서버리스를 사용하면 고객이 1분 이내에 캐시를 추가하고 애플리케이션 트래픽 패턴에 따라 용량을 즉시 확장할 수 있습니다. AWS Management Console, AWS SDK 또는 AWS CLI를 사용하여 캐시 이름을 지정하면 쉽게 시작할 수 있습니다. 자세한 내용은 ElastiCache 설명서를 참조하세요.
ElastiCache의 장점은 무엇인가요?
ElastiCache는 완전관리형이며 분산된 인 메모리 키-값 환경을 운영하는 데 필요한 일반적인 관리 작업을 자동화합니다.
ElastiCache 서버리스를 사용하면 캐시 클러스터 용량을 프로비저닝, 계획 및 관리할 필요 없이 1분 이내에 가용성과 확장성이 뛰어난 캐시를 생성할 수 있습니다. ElastiCache 서버리스는 3개의 가용 영역에 걸쳐 데이터를 자동으로 중복 저장하며 99.99% 가용성 서비스 수준 계약(SLA)을 제공합니다. ElastiCache는 CloudWatch 모니터링과의 통합을 통해 캐시 리소스와 관련된 주요 성능 지표에 대한 향상된 가시성을 제공합니다.
ElastiCache는 Valkey, Memcached, Redis OSS와 호환되는 프로토콜이므로 기존 Valkey, Memcached 및 Redis OSS 환경에서 사용하는 코드, 애플리케이션 및 주요 도구를 해당 서비스에서 문제 없이 사용할 수 있습니다. ElastiCache의 클러스터 구성 지원을 통해 가장 까다로운 애플리케이션의 요구 사항을 충족할 수 있는 빠르고 확장 가능하며 사용하기 쉬운 관리형 서비스의 이점을 활용할 수 있습니다. ElastiCache를 사용하면 최소 요금, 선수금 또는 장기 약정 없이 사용한 만큼만 비용을 지불합니다.
ElastiCache 인 메모리 캐싱은 내 애플리케이션에 어떻게 도움이 될 수 있나요?
인 메모리 캐싱은 자주 액세스하는 데이터 항목을 메모리에 저장하여 애플리케이션 성능을 개선하므로 디스크 기반 스토리지를 기본으로 사용할 수 있는 기본 데이터베이스에서 읽는 것보다 후속 읽기 속도가 훨씬 빨라집니다. ElastiCache를 사용하면 읽기 중심의 여러 애플리케이션 워크로드(예: 소셜 네트워킹, 게임, 미디어 공유 및 Q&A 포털) 또는 컴퓨팅 중심의 워크로드(예: 추천 엔진)에서 지연 시간을 크게 단축하고 처리량을 상당히 높일 수 있습니다.
인 메모리 캐싱은 핵심 데이터 조각을 메모리에 저장해 액세스 지연 시간을 줄여주므로 애플리케이션 성능이 향상됩니다. 캐싱된 정보에는 I/O 집약적 데이터베이스 쿼리 결과 또는 컴퓨팅 집약적 계산 결과가 포함될 수 있습니다.