Amazon ElastiCache for Redis란 무엇입니까? - Amazon ElastiCache for Redis

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 지표를 사용한 사용량 모니터링을 참조하세요.