이 문서에서는 Redis 배포 및 Google Cloud로의 마이그레이션에 대한 개요를 제공하며, 요구사항에 따라 다양한 서비스에 Redis를 배포할 때의 옵션과 장단점을 설명합니다.
Redis는 데이터베이스, 캐시, 메시지 브로커 등으로 사용할 수 있는 인메모리 데이터 구조 저장소입니다. Google Cloud는 다음을 포함하여 Redis를 완벽하게 지원합니다.
Memorystore 및 Redis Ltd.에서 제공하는 완전 관리형 옵션
다음 제품을 사용하는 자체 관리형 옵션:
Google Cloud에 Redis를 배포하는 가장 좋은 방법은 특정 니즈와 요구사항에 따라 달라집니다. 이 가이드에서 제공하는 권장사항은 일반적인 권장사항과 고려사항을 기반으로 합니다. Redis 워크로드를 철저히 분석하고 공식 문서를 참조하거나 특정 사용 사례 또는 요구사항에 대한 전문가의 조언을 구하는 것이 중요합니다.
아키텍처
다음 아키텍처 중 하나를 사용하여 Redis를 배포할 수 있습니다.
아키텍처 | 설명 | 사용 사례 | 배포 옵션 | 고가용성 | 읽기 처리량 | 쓰기 처리량 |
---|---|---|---|---|---|---|
표준(독립형) | 읽기 복제본이 없고 고가용성이 없는 단일 Redis 노드입니다. | 모든 데이터가 한 노드에 적합하고 쓰기 및 읽기 처리량이 하나의 노드에서 처리될 수 있고 고가용성이 필요하지 않은 경우입니다. | Memorystore(완전 관리형) 및 Redis 오픈소스 소프트웨어(OSS)(자체 관리형)에서 지원됩니다. 자체 관리에는 더 복잡한 설정이 필요합니다. Memorystore는 빠르게 시작할 수 있는 좋은 옵션입니다. |
아니요 | 단일 노드 | 단일 노드 |
HA 또는 읽기 복제본 | 고가용성을 제공하고 Sentinel을 사용하여 읽기 부하를 선택적으로 공유하는 추가 노드가 있는 쓰기 작업을 위한 단일 Redis 노드입니다. | 쓰기 처리량은 여전히 하나의 노드에서 제공할 수 있지만 한 노드에서 읽기 처리량을 제공할 수 없거나 고가용성이 필요한 경우입니다. | Memorystore(완전 관리형) 및 Redis OSS(자체 관리형)에서 지원됩니다. Redis 클러스터 아키텍처는 자동화된 확장, 고가용성, 데이터 샤딩을 제공하므로 대규모 분산 애플리케이션에 적합합니다. 수동 확장, 클러스터링, 샤딩 시 장단점과 필요한 유지보수 작업을 이해하려면 Memorystore for Redis Cluster의 제로 다운타임 확장을 참조하세요. 자체 관리에는 더 복잡한 설정이 필요합니다. Memorystore는 빠르게 시작할 수 있는 좋은 옵션입니다. |
다중 AZ | 다중 노드 | 단일 노드 |
클러스터(프록시 없음) | 여러 노드가 데이터 쓰기 작업을 별도의 데이터 샤드로 분할합니다. 고가용성 및 읽기 복제본을 선택적으로 추가할 수 있습니다. | 하나의 노드에서 쓰기 처리량을 제공할 수 없고 고가용성 또는 읽기 복제가 선택적으로 필요한 경우입니다. | 다중 AZ | 다중 노드 | 다중 노드 | |
클러스터(프록시 포함) | 여러 노드가 데이터 쓰기 작업을 별도의 데이터 샤드로 분할합니다. 고가용성 및 읽기 복제본을 선택적으로 추가할 수 있습니다. 프록시는 각 기본 노드에 배포됩니다. | 하나의 노드에서 쓰기 처리량을 제공할 수 없고, 고가용성 또는 읽기 복제가 선택적으로 필요하며, 클라이언트 애플리케이션을 리팩터링하여 Redis Cluster API를 사용하는 것이 비용이 많이 들거나 불편하고, 프록시 사용이 다른 이점을 가지는 경우입니다. | Redis Enterprise Cloud(완전 관리형) 또는 Redis Enterprise 소프트웨어(자체 관리형)에서 지원됩니다. Redis OSS로 자체 관리하려면 더 복잡한 설정이 필요합니다. Redis Enterprise Cloud는 빠르게 시작할 수 있는 좋은 옵션입니다. |
다중 AZ 또는 멀티 리전(Redis Enterprise만 해당) | 다중 노드 | 단일 노드 |
배포 옵션
Google Cloud는 다음과 같은 Redis 배포 옵션을 제공합니다.
- Google Cloud의 완전 관리형 Memorystore for Redis: Google에서 관리하는 완전 관리형의 고가용성 및 내구성 있는 Redis 서비스로, 비용 효율적이며 설정, 운영 및 확장이 빠릅니다. Memorystore는 Redis 클러스터와 독립형 Redis를 모두 지원하며, 선택적으로 고가용성을 지원합니다.
- Redis Ltd.의 자체 관리형 또는 완전 관리형 Redis Enterprise: Redis Ltd.에서 라이선스를 부여한 가용성이 높고 내구성 있는 Redis 클러스터로, Redis Ltd. 관리형('Redis Enterprise Software')과 Redis Ltd.의 지원을 받는 자체 관리형('Redis Enterprise Software')의 두 가지 옵션이 있습니다. Redis Ltd.에서 직접 또는 Google Cloud Marketplace를 통해 Redis Enterprise를 조달할 수 있습니다. Redis Ltd.는 Compute Engine, Google Kubernetes Engine, OpenShift에서의 배포를 지원합니다.
- 자체 관리형 Redis 오픈소스 소프트웨어(OSS): Compute Engine, Google Kubernetes Engine 또는 OpenShift에 배포할 수 있는 선택적 고가용성을 제공하는 자체 관리형 Redis 클러스터 또는 독립형 Redis입니다.
Redis 배포 옵션 선택
이 섹션에서는 워크로드에 가장 적합한 Redis 배포 옵션을 선택하는 방법을 설명합니다. 그림 1은 결정 지점의 시각적 개요를 보여줍니다.
Redis 관리 모델 선택
다음 관리 모델 중 하나를 선택할 수 있습니다.
완전 관리형 배포. 배포 및 관리 작업을 서비스 제공업체에 오프로드합니다. 앱 빌드에 집중하고 관리 태스크를 오프로드해야 할 때 이 모델을 선택하세요.
자체 관리형 배포. 배포 및 관리 작업을 담당합니다. 다음 중 하나라도 해당하는 경우 이 모델을 선택하세요.
기존에 대규모 운영 경제가 있으며 Redis를 관리하고 운영하는 것이 조직에서 경제적입니다.
IaaS 전용 종속 항목에 대한 전략적 선호가 있는 경우
고급 최적화가 필요합니다.
배포 옵션 평가
관리 모델을 선택한 후에는 사용 가능한 배포 옵션을 평가합니다.
완전 관리형 옵션
완전 관리형 배포의 경우 Memorystore 또는 Redis Enterprise Cloud를 사용할 수 있습니다.
Memorystore
다음 중 하나라도 해당하는 경우 Memorystore를 선택합니다.
- 관리형 소프트웨어 지원을 Google Cloud와 통합하려는 경우
- Identity and Access Management, API, 조직 정책, 할당량 또는 Cloud 애셋 인벤토리와 같은 Google Cloud 구조와의 통합을 위해 최적화할 수 있습니다.
- Memorystore에서만 사용할 수 있는 특정 기능이 필요한 경우(예: 다시 축소)
Memorystore에 대한 자세한 내용은 Memorystore 제품 문서를 참조하세요.
배포 옵션
- Memorystore for Redis(독립형, HA)
- Memorystore for Redis Cluster(클러스터, HA)
Redis Enterprise Cloud
다음 중 하나라도 해당하는 경우 Redis Enterprise Cloud를 선택하세요.
- Redis Enterprise Cloud에서만 사용할 수 있는 특정 기능이 필요합니다(예: 99.999% SLA의 리전 간 active-active 다중 기본 쓰기, RedisSearch 사용 사례)
- Redis Cluster API를 지원하지 않는 애플리케이션에는 클러스터 확장이 필요합니다.
Redis Enterprise Cloud에 대한 자세한 내용은 Redis Cloud 문서를 참조하세요.
조달 및 결제 옵션
자체 관리형 옵션
자체 관리형 배포의 경우 Redis Enterprise와 Redis 오픈소스 소프트웨어 중에서 선택할 수 있습니다.
Redis Enterprise
다음 중 하나라도 해당하는 경우 자체 관리형 Redis Enterprise를 선택합니다.
- 애플리케이션에는 수평 확장을 위한 자동 재샤딩, 플래시용 Redis, Kubernetes용 Redis Enterprise Operator와 같은 고유한 기능이 필요합니다.
- 운영팀에 검증된 서드 파티 지원 없이 복잡한 Redis 문제를 내부적으로 처리하는 데 필요한 역량이 없습니다.
- Redis Ltd.에서 제공하는 엔터프라이즈 지원이 더 선호되며 관련 라이선스 비용은 조직에서 관리할 수 있습니다.
Redis Enterprise 소프트웨어에 대한 자세한 내용은 Redis Enterprise 소프트웨어 문서를 참조하세요.
배포 옵션
- GKE 또는 OpenShift의 자체 관리형 Redis Enterprise 소프트웨어(선택사항으로 Kubernetes용 Redis Enterprise Operator 사용 가능)
- Compute Engine의 자체 관리형 Redis Enterprise 소프트웨어
조달 및 결제 옵션
- 라이선스 및 지원은 Redis Inc.에서 청구되지만 인프라는 Google에서 청구합니다.
- 라이선스 및 지원은 Google Cloud Marketplace를 통해 조달되며, 인프라 비용은 Google에서 청구합니다.
Redis 오픈소스 소프트웨어
다음 중 하나에 해당하는 경우 자체 관리형 Redis 오픈소스 소프트웨어를 선택합니다.
- 다른 경우에는 불가능한 전체 맞춤설정을 요구하거나 선호합니다.
- 운영팀이 검증된 서드 파티 지원 없이 내부적으로 복잡한 Redis 문제를 처리하는 데 필요한 역량을 갖추고 있습니다.
- 라이선스 비용을 피하려고 합니다.
- 광범위한 사내 Redis 및 Linux 커널 조정 리소스가 있거나 사용 사례에 조정이 필요하지 않습니다.
자체 관리형 Redis 오픈소스 소프트웨어를 배포할 때 플랫폼 전략 선택에 따라 배포 대상을 선택합니다. Redis 오픈소스 소프트웨어는 Compute Engine, Google Kubernetes Engine 또는 OpenShift에 배포할 수 있습니다. GKE Autopilot은 배포 및 관리 작업을 줄일 수 있지만 수평 축소가 더 어려워지는 등의 방식으로 더 제한적일 수 있습니다.
Redis 오픈소스 소프트웨어에 대한 자세한 내용은 Redis.io를 참조하세요.
추가 리소스
기능 비교
다음 표에는 모든 배포 옵션의 주요 차이점이 요약되어 있습니다.
배포 특성 | 배포 옵션 | |||
---|---|---|---|---|
Memorystore for Redis 및 Redis 클러스터 | Redis Enterprise Cloud | Redis Enterprise 소프트웨어 | Redis 오픈소스 소프트웨어 | |
관리 주체 | Google 완전 관리형 | Redis Ltd. 완전 관리형 | 자체 관리형 | 자체 관리형 |
지원 주체 | Redis Ltd. | Redis Ltd. | 자체 지원 | |
청구 주체 | Redis Ltd. 또는 Google | 인프라 비용은 Google에서 청구합니다. Redis Ltd. 또는 Google에서 Redis Ltd. 라이선스 및 지원 요금을 청구합니다. |
||
비용 요소 | 모든 비용이 포함됩니다. 인프라, 라이선스, 지원, 관리 비용이 포함됩니다. 자세한 내용은 Memorystore 가격 책정을 참조하세요. |
모든 비용이 포함됩니다. 인프라, 라이선스, 지원, 관리 비용이 포함됩니다. 자세한 내용은 Redis Enterprise Cloud 가격 책정을 참조하세요. |
소프트웨어 라이선스 및 지원 비용이 포함됩니다. 인프라 사용 요금은 Google Cloud에서 별도로 청구됩니다. 배포, 조정, 인력, 다운타임을 포함한 관리 비용은 고객이 부담합니다. 자세한 내용은 Redis Enterprise 소프트웨어 가격 책정을 참조하세요. |
서비스 또는 라이선스 요금이 없습니다. Google Cloud에서 인프라 사용 비용을 청구합니다. 배포, 조정, 인력, 다운타임을 포함한 관리 비용은 고객이 부담합니다. |
SLA |
자세한 내용은 Memorystore 서비스수준계약을 참조하세요. |
자세한 내용은 Redis Cloud 서비스수준계약을 참조하세요. |
해당 없음 업타임에 대한 책임은 사용자에게 있습니다. |
해당 없음 업타임에 대한 책임은 사용자에게 있습니다. |
무료 등급 | 아니요 | 예 | 30일 무료 체험판 | 해당 사항 없음 |
데이터 계층화 | 아니요 | 자동 계층화 | 자동 계층화 | 아니요 |
멀티 클라우드 | 아니요 | 예 | 수동 | 가능하지만 많은 노력 필요 |
멀티 리전 활성-활성 | 아니요 | 예 | 수동 | 가능하지만 많은 노력 필요 |
모듈 |
|
|||
규정 준수 | 다양한 규정 준수 체계에 대한 기본 지원 자세한 내용은 규정 준수 제품을 참조하세요. | 다양한 규정 준수 체계에 대한 기본 지원 자세한 내용은 Redis Trust Center를 참조하세요. | 다양한 규정 준수 체계에 대한 기본 지원 자세한 내용은 Redis Trust Center를 참조하세요. | 수동 규정 준수 관리가 필요합니다. 자세한 내용은 규정 준수 제품을 참조하세요. |
클러스터 쓰기 확장 | 수평 축소 및 확장 | 수평 축소 및 확장 | 수평 확장 수평 축소하려면 수동 작업이 필요합니다. | 자체 관리형, 수동 작업이 필요합니다. |
자동 재균등화 | 예 | 예 | 자체 관리형, 수동 작업 필요 | 자체 관리형, 수동 작업 필요 |
고가용성 추가 | 원활, 재배포 불필요 | 원활, 재배포 불필요 | 재배포는 필요하지 않지만 수동 작업 필요 | 원래 아키텍처에 따라 재배포가 필요할 수 있으므로 상당한 수동 작업 필요 |
읽기 복제본 추가 | 원활, 재배포 불필요 | 원활, 재배포 불필요 | 원래 아키텍처에 따라 재배포가 필요할 수 있으므로 상당한 수동 작업 필요 | 자체 관리형, 수동 작업 필요 |
쓰기 처리량 증가 시 데이터로 샤딩된 Redis 클러스터로 이동 | 재배포가 필요하지만 작업을 용이하게 하기 위해 도구가 제공됩니다. Redis Cluster API를 지원하도록 클라이언트를 리팩터링해야 합니다. | 원활, 재배포 불필요 | 원활, 재배포 불필요 | 자체 관리형, 수동 작업 필요 |