Amazon ElastiCache for Redis란 무엇입니까?
Amazon ElastiCache for Redis 사용 설명서를 시작합니다. Amazon ElastiCache는 클라우드에서 분산된 인 메모리 데이터 스토어 또는 캐시 환경을 손쉽게 설정, 관리 및 확장할 수 있는 웹 서비스입니다. 확장 가능하고 비용 효율적인 고성능 캐싱 솔루션을 제공합니다. 또한 분산된 캐시 환경의 배포 및 관리와 관련된 복잡성을 해소할 수 있습니다.
Amazon ElastiCache는 Redis 엔진 및 Memcached 엔진 모두와 함께 작동합니다. 관심 있는 엔진에 대해 설명한 가이드를 사용하세요. 사용하고 싶은 엔진을 결정하기 어렵다면 이 가이드의 Memcached와 Redis 비교 섹션을 참조하세요.
ElastiCache for Redis 개요
Redis를 사용하는 기존 애플리케이션은 거의 수정하지 않고 ElastiCache를 사용할 수 있습니다. 애플리케이션에서는 사용자가 배포한 ElastiCache 노드의 호스트 이름과 포트 번호에 관한 정보만 필요합니다.
ElastiCache for Redis는 중요한 프로덕션 배포를 위해 서비스를 보다 안정적으로 제공하는 여러 가지 기능을 갖추고 있습니다.
캐시 노드 실패에서 자동 감지 및 복구를 합니다.
복제를 지원하는 Redis 클러스터에 있는 읽기 전용 복제본으로 실패한 기본 클러스터를 조치하는 다중 AZ입니다.
Redis(클러스터 모드 활성화됨)는 최대 500개 샤드로의 데이터 분할을 지원합니다.
Redis 버전 3.2 이상에서는 모든 버전이 전송 중 데이터 암호화와 인증으로 저장된 데이터 암호화를 지원합니다. 이 지원을 통해 HIPAA 규정 준수 애플리케이션을 구축할 수 있습니다.
내결함성 향상을 위한 노드 및 클러스터의 유연한 가용 영역 배치.
Amazon EC2, Amazon CloudWatch, AWS CloudTrail 및 Amazon SNS 같은 다른 AWS 서비스와의 통합. 이러한 통합을 통해 고성능과 높은 보안성을 갖춘 관리되는 인메모리 캐싱 솔루션을 제공합니다.
ElastiCache for Redis는 백업, 소프트웨어 패치, 자동 장애 감지 및 복구를 관리합니다.
필요할 때 자동화된 백업을 수행하거나 고유한 백업 스냅샷을 수동으로 만들 수 있습니다. 이러한 백업을 사용하여 클러스터를 복원할 수 있습니다. ElastiCache for Redis 복원 프로세스는 안정적이고 효율적입니다.
기본 인스턴스 및 문제 발생 시 장애 조치를 수행할 수 있는 동기식 보조 인스턴스에서 가용성을 높일 수 있습니다. 읽기 전용 복제본을 사용하여 읽기 조정을 높일 수도 있습니다.
AWS Identity and Access Management를 사용하여 사용자 및 권한을 정의하여 ElastiCache for Redis 클러스터에 대한 액세스를 제어할 수 있습니다. 클러스터를 Virtual Private Cloud(VPC)에 넣어 클러스터를 보호할 수도 있습니다.
Redisdyd 글로벌 데이터 스토어 기능을 사용하면 AWS 리전 간에 빠르고 안정적이며 안전한 완전 관리형 복제를 수행할 수 있습니다. 이 기능을 사용하면 ElastiCache for Redis에 대한 리전 간 읽기 전용 복제본 클러스터를 생성하여 AWS 리전 간에 지연 시간이 짧은 읽기 및 재해 복구를 수행할 수 있습니다.
데이터 계층화는 데이터를 메모리에 저장하는 것 외에도 각 클러스터 노드에서 저렴한 SSD(solid state drives)를 활용하여 Redis 워크로드에 대한 가격 대비 성능 옵션을 제공합니다. 데이터 계층화는 전체 데이터 세트의 최대 20%까지 정기적으로 액세스하는 워크로드와 SSD에서 데이터에 액세스할 때 추가 지연 시간을 허용할 수 있는 애플리케이션에 이상적입니다. 자세한 내용은 데이터 계층화 섹션을 참조하세요.
클러스터
ElastiCache for Redis의 기본 빌딩 블록은 클러스터입니다. 클러스터는 하나 이상의 캐시 노드 모음으로서, 이 모든 노드는 Redis 캐시 엔진 소프트웨어의 인스턴스 하나를 실행합니다. 클러스터를 만들 때 모든 노드에서 사용할 엔진과 버전을 지정합니다. ElastiCache for Redis 인스턴스는 Amazon EC2 인스턴스를 통해 액세스하도록 설계되었습니다. AWS CLI, ElastiCache for Redis API 또는 AWS Management Console을 사용해 클러스터를 생성하고 수정할 수 있습니다.
각 ElastiCache for Redis 클러스터는 Redis 엔진 버전을 실행합니다. 각 Redis 엔진 버전에는 지원되는 고유한 기능이 있습니다. 또한 Redis 엔진 버전마다 관리하는 클러스터의 동작을 제어하는 파라미터 그룹에 파라미터 집합이 있습니다.
클러스터의 계산 및 메모리 용량은 해당 인스턴스 또는 노드 클래스에 의해 결정됩니다. 사용자의 요구 사항에 가장 잘 맞는 노드 유형을 선택할 수 있습니다. 시간이 지나면서 요구 사항이 바뀌면 노드 유형을 변경할 수 있습니다. 자세한 내용은 지원되는 노드 유형 섹션을 참조하세요.
노드 유형 요구 사항을 고려할 때 데이터 계층화를 활용할 수도 있습니다. 데이터 계층화는 SSD(solid state drives)의 데이터에 액세스할 때 추가 대기 시간을 허용할 수 있는 애플리케이션의 메모리 제한을 완화하기 위해 자주 사용되지 않는 일부 데이터가 디스크에 저장되는 기능입니다.
ElastiCache 인스턴스 클래스의 요금에 대한 자세한 정보는 Amazon ElastiCache 요금
클러스터 노드 스토리지는 표준 및 메모리 최적화의 두 가지 유형으로 제공됩니다. 이 두 가지 유형은 성능 특성과 가격이 다르므로 필요에 따라 스토리지 성능과 비용을 조정할 수 있습니다. 각 인스턴스에는 스토리지 유형에 따라 최소/최대 스토리지 요구 사항이 있습니다. 충분한 스토리지를 보유하여 클러스터를 조정할 수 있는 여유를 확보하는 것이 중요합니다. 또한 스토리지가 충분하면 콘텐츠를 작성하거나 항목을 기록할 수 있는 기능을 도입할 수 있습니다.
Amazon Virtual Private Cloud(Amazon VPC) 서비스를 사용해 Virtual Private Cloud(VPC)에서 클러스터를 실행할 수 있습니다. VPC를 사용하면 가상 네트워킹 환경을 완벽하게 제어할 수 있습니다. 자기만의 IP 주소 범위를 선택하고, 서브넷을 생성하고, 라우팅 및 액세스 제어 목록을 구성할 수 있습니다. ElastiCache는 백업, 소프트웨어 패치, 자동 장애 감지 및 복구를 관리합니다. VPC에서 클러스터를 실행하는 데는 추가 비용이 들지 않습니다. Amazon VPC를 ElastiCache for Redis와 함께 사용하는 방법에 대한 자세한 내용은 Amazon VPC 및 ElastiCache 보안을 참조하세요.
AWS 리전 및 가용 영역
Amazon 클라우드 컴퓨팅 리소스는 전 세계 여러 리전의 가용성이 높은 데이터 센터 시설에 하우징됩니다(예: 북미, 유럽 또는 아시아). 각 데이터 센터 위치를 AWS 리전이라고 합니다.
AWS 리전마다 가용 영역 또는 AZ라는 고유한 위치가 여러 개 포함됩니다. 각 가용 영역은 다른 가용 영역에서 발생한 장애에서 격리되도록 설계되었습니다. 각 가용 영역은 같은 AWS 리전에 있는 다른 가용 영역에 대해 저렴하고 지연 시간이 짧은 네트워크 연결을 제공하도록 설계되었습니다. 별도의 가용 영역에서 인스턴스를 시작함으로써 단일 위치에서 장애가 발생할 경우 애플리케이션을 보호할 수 있습니다. 자세한 내용은 리전 및 가용 영역 선택 섹션을 참조하세요. 여러 가용 영역에서 클러스터를 생성할 수 있습니다. 다중 AZ 배포라는 옵션입니다. 이 옵션을 선택하면 Amazon은 다른 가용 영역에서 보조 예비 노드 인스턴스를 자동으로 프로비저닝하고 유지합니다. 기본 노드 인스턴스는 가용 영역 전체에서 보조 인스턴스로 비동기식으로 복제됩니다. 이 접근 방식을 통해 데이터 중복 및 장애 조치 지원을 제공하고, I/O 중지를 없애고, 시스템 백업 중에 지연 시간 스파이크를 최소화할 수 있습니다. 자세한 내용은 다중 AZ로 ElastiCache for Redis의 가동 중지 시간 최소화를 참조하세요.
보안
보안 그룹은 클러스터에 대한 액세스를 제어합니다. 사용자가 지정한 IP 주소 범위 또는 Amazon EC2 인스턴스에 액세스할 수 있도록 허용하는 방법으로 제어합니다. 보안 그룹에 대한 자세한 내용은 ElastiCache for Redis의 보안을 참조하세요.
ElastiCache for Redis 클러스터 모니터링
ElastiCache for Redis 클러스터의 성능과 상태를 추적할 수 있는 여러 가지 방법이 있습니다. CloudWatch 서비스를 사용하여 클러스터의 성능 및 상태를 모니터링할 수 있습니다. CloudWatch 성능 차트는 ElastiCache for Redis 콘솔에 표시됩니다. ElastiCache for Redis 이벤트를 구독해 클러스터, 스냅샷, 파라미터 그룹 또는 보안 그룹이 변경될 때마다 알림을 받을 수 있습니다. 자세한 내용은 CloudWatch 지표를 사용한 사용량 모니터링을 참조하세요.