Memorystore for Redis 개요

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

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

  • 요구사항에 맞게 배포할 수 있습니다. Memorystore for Redis를 사용하면 성능 및 운영 요구사항에 맞는 서비스 등급 및 크기를 유연하게 선택할 수 있습니다. 단 몇 번의 클릭만으로 기본 등급의 독립형 Redis 인스턴스 또는 표준 등급의 고가용성 Redis 인스턴스를 최대 300GB까지 배포할 수 있습니다.
  • 쉽게 확장해 빠른 속도로 이용할 수 있습니다. Memorystore for Redis를 사용하면 애플리케이션의 가용성에 미치는 영향을 최소화하면서 Redis 인스턴스를 수직 확장하여 지연 시간과 처리량 목표를 쉽게 달성할 수 있습니다. 최저 등급과 최소 크기로 시작한 후 애플리케이션의 요구사항에 따라 Redis 인스턴스를 확장해 보세요. 읽기 쿼리를 확장해야 하는 애플리케이션의 경우 읽기 엔드포인트를 사용하여 5개의 읽기 복제본으로 쿼리를 확장할 수 있습니다.
  • 가용성이 높고 더욱 안전합니다. Redis 인스턴스는 비공개 IP를 사용하여 인터넷에서 보호되고 Identity and Access Management 역할 기반 액세스 제어 및 전송 중 암호화를 사용하여 보안이 한층 강화됩니다. 표준 고가용성 인스턴스는 영역 간에 복제되는 최대 5개의 복제본을 제공하고 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는 패치, 연중무휴 위협 모니터링, 오류 감지, 자동 장애 조치를 제공하므로 애플리케이션 빌드에 더 많은 시간을 할애할 수 있습니다.
  • 간단한 배포: Google Cloud Console에서 기본 등급 또는 표준 등급을 선택하거나 Google Cloud CLI 또는 Cloud 클라이언트 라이브러리를 사용하여 배포를 자동화하는 방법으로 단일 인스턴스 또는 고가용성 Redis 인스턴스를 쉽게 배포할 수 있습니다.
  • 고가용성: 표준 등급의 Memorystore for Redis는 여러 영역에 복제되며 상태를 모니터링하고 빠른 자동 장애 조치 기능을 제공합니다. 표준 등급 인스턴스도 99.9%의 SLA를 제공합니다. 자세한 내용은 고가용성을 참조하세요.
  • 엔터프라이즈 수준의 보안: Redis 인스턴스는 비공개 IP를 사용하여 인터넷에서 보호되고 인스턴스에 대한 액세스는 Redis 인스턴스와 동일한 승인된 Virtual Private Cloud에서 실행되는 애플리케이션으로 제어되고 제한됩니다.

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

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

Memorystore for Redis 인스턴스에 연결

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

  • App Engine 가변형 환경
  • App Engine 표준 환경
  • Compute Engine VM 인스턴스
  • Cloud Run 함수
  • Cloud Run
  • Google Kubernetes Engine 클러스터

일부 서버리스 환경에는 Memorystore for Redis와의 연결을 위한 선행 조건으로 서버리스 VPC 액세스 커넥터가 필요합니다. 자세한 내용은 서버리스 VPC 액세스 커넥터 요구사항을 참조하세요.

인스턴스에 연결하려면 클라이언트가 Memorystore for Redis 인스턴스와 동일한 네트워크에 연결되어 있어야 합니다. 자세한 내용은 Memorystore for Redis 네트워킹 페이지를 참조하세요.

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

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

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

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

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

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

등급 기능

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

사양 기본 등급 표준 등급(읽기 복제본 사용 중지됨) 표준 등급(읽기 복제본 사용 설정됨)
설명 복제 없는 캐시 제공 복제를 사용하여 중복성 및 가용성 제공 데이터를 백업하기 위해 복제를 사용하여 중복성 및 가용성 제공 및 읽기 처리량 증가를 위해 여러 읽기 복제본 제공
최대 Redis 기본 크기 300GB 300GB 300GB
최대 네트워크 대역폭 16Gbps 16Gbps 쓰기에 총 16Gbps 읽기에 노드당 16Gbps1
I/O 스레드 2 2 2
기본 크기 확장
읽기 복제본의 확장 수 아니요 아니요
교차 영역 복제 아니요
자동 장애 조치 아니요
읽기 복제본 아니요 아니요
전송 중인 데이터 암호화
유지보수 기간
Cloud Monitoring

1 최대 쓰기 처리량은 16Gbps입니다. 읽기 처리량은 기본 노드를 포함하여 인스턴스의 노드(읽기 복제본) 수에 따라 다릅니다. 예를 들어 기본 노드 1개와 읽기 복제본 2개가 있는 인스턴스의 경우 총 읽기 처리량은 48Gbps입니다.

2 I/O 스레드는 Redis 버전 6.x가 실행되는 M3 인스턴스 이상에서만 사용 가능합니다. 자세한 내용은 Redis 버전 6.x를 참조하세요.

용량 등급 성능

용량 등급 최소 네트워크 처리량 버전 4 및 5의 I/O 스레드 버전 6 및 7의 최소 I/O 스레드
M1: 1~4GB 10Gbps 해당 사항 없음 1
M2: 5~10GB 10Gbps 해당 사항 없음 1
M3: 11~35GB 10Gbps 해당 사항 없음 2
M4: 36~100GB 16Gbps 해당 사항 없음 6
M5: 101~300GB 16Gbps 해당 사항 없음 8

다음 단계