Memorystore for Redis 개요

Memorystore for Redis는 Redis 인메모리 데이터 저장소를 통해 완전 관리형 서비스를 제공하여 밀리초 이하로 데이터에 액세스할 수 있는 애플리케이션 캐시를 빌드합니다.

Memorystore for Redis에서는 자체 관리형 Redis보다 몇 가지 더 많은 장점을 제공합니다.

  • 요구사항에 맞게 배포할 수 있습니다. Memorystore for Redis를 사용하면 성능 및 운영 요구사항에 맞는 서비스 등급 및 크기를 유연하게 선택할 수 있습니다. 단 몇 번의 클릭만으로 기본 등급의 독립형 Redis 인스턴스 또는 표준 등급의 고가용성 Redis 인스턴스를 최대 300GB까지 배포할 수 있습니다.
  • 쉽게 확장해 빠른 속도로 이용할 수 있습니다. Memorystore for Redis를 사용하면 애플리케이션의 가용성에 미치는 영향을 최소화하면서 Redis 인스턴스를 수직 확장하여 지연 시간과 처리량 목표를 쉽게 달성할 수 있습니다. 최저 등급과 최소 크기로 시작한 후 애플리케이션의 요구사항에 따라 Redis 인스턴스를 확장해 보세요.
  • 가용성이 높고 더욱 안전합니다. Redis 인스턴스는 비공개 IP를 사용하여 인터넷에서 보호되고, Cloud Identity and Access Management 역할 기반 액세스 제어를 통해 보안이 한층 강화됩니다. 표준 고가용성 인스턴스는 항상 영역 간에 복제되며 99.9% 가용성 SLA를 제공합니다.
  • 애플리케이션에 집중할 수 있습니다. Memorystore for Redis는 Redis를 배포하고 관리하는 데 필요한 복잡한 운영 작업을 자동화합니다. 프로비저닝, 복제, 장애 조치, 모니터링 등의 작업이 모두 자동화됩니다. 애플리케이션은 단일 엔드포인트에 연결되므로 노드 검색 논리가 필요 없고 관리 및 운영이 단순해집니다. 또한 Cloud Monitoring과의 통합을 통해 Redis 인스턴스를 쉽게 모니터링할 수 있습니다.
  • Redis 프로토콜과 호환됩니다. Memorystore for Redis는 Redis 프로토콜과 완전히 호환됩니다. 오픈소스 Redis를 사용하여 애플리케이션을 이동하면 코드를 변경하지 않고도 Memorystore for Redis를 사용할 수 있습니다. 모든 기존 도구와 클라이언트 라이브러리가 작동하기 때문에 새 도구를 익히지 않아도 됩니다.

장점

Memorystore for Redis는 신속하게 실시간으로 데이터를 처리해야 하는 사용 사례를 위한 신속한 인메모리 저장소를 제공합니다. Memorystore for Redis는 간단한 캐싱 사용 사례에서 실시간 분석에 이르기까지 필요한 성능을 제공합니다.

  • 캐싱: 캐시는 현대적인 애플리케이션 아키텍처에서 필수적인 부분입니다. Memorystore for Redis는 액세스 빈도가 높은 데이터에 대해 디스크 기반 백엔드 저장소의 데이터에 액세스할 때보다 지연 시간이 짧고 높은 처리량을 제공합니다. 세션 관리, 자주 액세스되는 쿼리, 스크립트, 페이지는 캐싱의 일반적인 예입니다.

  • 게임: 게임은 사용자의 관심을 사로잡고 유지해야 합니다. 사용자가 게임에 푹 빠져있게 하는 핵심적인 요소 중 하나는 리더보드입니다. 모든 사용자는 자신의 진행 상황과 순위를 알고 싶어 합니다. 이러한 내용을 간결히 제공하는 것은 매우 중요한데, Sorted Set과 같은 인메모리 저장소 및 데이터 구조를 갖춘 Memorystore for Redis를 활용하면 점수 목록을 쉽게 정렬된 상태로 유지하면서 요소별 고유성을 제공할 수 있습니다. 플레이어 프로필도 리더보드만큼 자주 액세스되는 정보입니다. Redis 해시를 사용하면 프로필 데이터를 빠르고 쉽게 저장하고 액세스할 수 있습니다.

  • 스트림 처리: Twitter 피드를 처리하든 IoT 기기에서 데이터 스트림을 처리하든, Memorystore for Redis가 스트리밍 솔루션에 가장 적합합니다. Cloud Dataflow와 결합된 Memorystore for Redis는 수천 개의 클라이언트가 매우 낮은 지연 시간으로 액세스할 수 있는 중간 데이터를 저장할 수 있도록 확장 가능하고 빠른 인메모리 저장소를 제공합니다.

기능

다음 표에서는 Memorystore for Redis에서 제공하는 기능을 설명합니다.

  • 완전 관리형: Redis 인스턴스를 배포하고 유지관리하는 데 시간이 오래 걸릴 수 있습니다. Memorystore for Redis는 패치, 연중무휴 24시간 모니터링, 오류 감지, 자동 장애 조치를 제공하므로 애플리케이션 빌드에 더 많은 시간을 할애할 수 있습니다.
  • 간단한 배포: Google Cloud Console에서 기본 등급 또는 표준 등급을 선택하거나 Cloud SDK 또는 Cloud 클라이언트 라이브러리를 사용하여 배포를 자동화하는 방법으로 단일 인스턴스 또는 가용성이 높은 Redis 인스턴스를 쉽게 배포할 수 있습니다.
  • 고가용성: 표준 등급의 Memorystore for Redis는 여러 영역에 복제되며 상태를 모니터링하고 빠른 자동 장애 조치 기능을 제공합니다. 표준 등급 인스턴스도 99.9%의 SLA를 제공합니다. 자세한 내용은 고가용성을 참조하세요.
  • 엔터프라이즈 수준의 보안: Redis 인스턴스는 비공개 IP를 사용하여 인터넷에서 보호되고 인스턴스에 대한 액세스는 Redis 인스턴스와 동일한 가상 사설망에서 실행되는 애플리케이션으로 제어되고 제한됩니다.

    Redis 인스턴스를 관리하고 인스턴스에 액세스하는 사용자를 세밀하게 제어할 수 있는 Cloud IAM 역할을 통해 인스턴스의 보안을 더욱 강화합니다. 또한 Memorystore for Redis는 Cloud Audit Logging과 통합되어 '누가 언제 무엇을 했는지' 알 수 있습니다.

  • 필요에 따라 확장: Memorystore for Redis는 최대 300GB까지 인스턴스를 확장할 수 있으며 최대 12Gbps의 네트워크 처리량을 지원합니다. 인스턴스 크기를 원활하게 확장할 수 있으므로 작게 시작하여 필요에 따라 인스턴스 크기를 늘릴 수 있습니다. 표준 등급 인스턴스를 확장할 때 애플리케이션의 다운타임은 1분 미만입니다.
  • 모니터링: Redis 측정항목은 Monitoring을 통해 제공되므로 Redis 인스턴스를 쉽게 모니터링할 수 있습니다. Cloud Logging을 사용하면 인스턴스의 Redis 로그도 볼 수 있습니다.
  • 주문형 결제: Memorystore for Redis 인스턴스를 사용하면 프로비저닝하는 용량(GB)에 시간당 비용이 청구됩니다. 인스턴스를 몇 분만 사용하면 사용한 시간에 대해서만 요금이 청구됩니다.
  • Redis 버전 5.0, 4.0, 3.2: 버전은 항상 최신 중요 패치가 적용된 상태로 유지되므로 Redis 인스턴스가 안전하게 보호됩니다. 버전 및 패치 수준에 대한 자세한 내용은 Memorystore for Redis 출시 노트지원되는 버전을 참조하세요.

Memorystore for Redis 인스턴스에 연결

다음 환경에서 표준 Redis 클라이언트를 사용하여 Memorystore for Redis 인스턴스에 연결할 수 있습니다.

  • App Engine 가변형 환경
  • App Engine 표준 환경

    이 플랫폼에서 Memorystore에 액세스하려면 먼저 VPC 네트워크의 내부 리소스 연결에 나와 있는 설정 안내를 따릅니다.

  • Compute Engine VM 인스턴스

  • Cloud 함수

    이 플랫폼에서 Memorystore에 액세스하려면 먼저 VPC 네트워크의 내부 리소스 연결에 나와 있는 설정 안내를 따릅니다.

  • Google Kubernetes Engine 클러스터

인스턴스에 연결하려면 클라이언트가 동일한 네트워크에 있거나 동일한 네트워크에 피어링되어야 하며 Memorystore for Redis 인스턴스와 동일한 리전에 있어야 합니다. Redis 인스턴스와 영역은 다르지만 동일한 리전에 있는 클라이언트는 Redis 인스턴스에 연결할 수 있습니다.

또한 공유 VPC를 사용하여 다른 프로젝트의 리소스에서 Redis 인스턴스에 연결하려는 경우 Redis 인스턴스가 공유 VPC 호스트 프로젝트에 배포되어 있어야 합니다. 이 경우 리소스 및 Redis 인스턴스는 동일한 공유 VPC 네트워크에 있거나 네트워크가 피어링된 상태여야 합니다. 서비스 프로젝트의 공유 VPC 네트워크에 배포된 Redis 인스턴스에 연결하는 작업은 지원되지 않습니다.

관리형 Redis와 오픈소스 Redis의 차이점

Memorystore for Redis는 Redis 프로토콜과 호환됩니다. 코드 변경 없이 오픈소스 Redis를 사용하는 애플리케이션을 Google Cloud로 이동할 수 있습니다.

일반적으로 Memorystore for Redis 인스턴스가 제공하는 Redis 기능은 로컬에서 호스팅되는 Redis 인스턴스가 제공하는 기능과 동일합니다. 주요 차이점은 다음과 같습니다.

  • 오픈소스 Redis에서는 디스크에 데이터를 유지하는 여러 가지 옵션을 제공합니다. RDB 지속성으로 데이터세트의 특정 시점 스냅샷을 사용할 수 있으며, AOF 지속성은 서버에서 수신한 모든 쓰기 작업을 기록합니다. Memorystore for Redis는 현재 RDB 또는 AOF 지속성을 지원하지 않습니다.

  • 대부분의 매개변수는 Memorystore for Redis 인스턴스에 대해 사전 구성되어 있으며 변경할 수 없습니다. Memorystore for Redis 인스턴스를 설정할 때 구성하는 다른 매개변수입니다. 자세한 내용은 Redis 구성 매개변수를 참조하세요.

  • 일부 명령어는 관리형 Redis 서비스를 방해할 수 있어 차단됩니다. 자세한 내용은 차단된 Redis 명령어 목록을 참조하세요.

  • 표준 등급 인스턴스는 복제본에서 읽기를 허용하지 않습니다.

등급 기능

다음 표에서는 사용 가능한 Memorystore for Redis 서비스 등급 간의 차이점을 설명합니다.

사양 기본 등급 표준 등급
설명 복제 없는 캐시 제공 복제를 사용하여 중복성 및 가용성 제공
최대 인스턴스 크기 300GB 300GB
최대 네트워크 대역폭 12Gbps 12Gbps
Stackdriver Monitoring 있음 있음
확장 메모리¹ 있음 있음
교차 영역 복제 없음 있음
자동 장애 조치 없음

¹ 기본 등급 인스턴스에서는 확장 또는 축소 중에 다운타임 및 전체 캐시 삭제가 발생합니다. 표준 등급 인스턴스에서는 확장 작업 중에 최소한의 다운타임 및 일부 복제되지 않은 데이터의 손실이 발생합니다. 자세한 내용은 확장 중 동작을 참조하세요.

다음 단계