이 문서에서는 요구사항에 따라 서로 다른 서비스에 Redis를 배포하는 옵션과 장단점을 포함하여 Redis 배포와 Google Cloud로 마이그레이션을 간략하게 설명합니다.
Redis는 데이터베이스, 캐시, 메시지 브로커 등으로 사용할 수 있는 인메모리 데이터 구조 스토어입니다. Google Cloud 는 다음을 포함하여 Redis를 완전히 지원합니다.
Memorystore 및 Redis Ltd.에서 제공하는 완전 관리형 옵션
다음 제품을 사용하는 자체 관리형 옵션:
Redis를 Google Cloud 에 배포하는 가장 좋은 방법은 구체적인 니즈와 요구사항에 따라 달라집니다. 이 가이드에 제공된 권장사항은 일반적인 권장사항과 고려사항을 기반으로 합니다. Redis 워크로드를 철저히 분석하고 공식 문서를 참고하거나 특정 사용 사례 또는 요구사항에 대한 전문가 조언을 구하는 것이 중요합니다.
아키텍처
다음 아키텍처 중 하나를 사용하여 Redis를 배포할 수 있습니다.
아키텍처 | 설명 | 사용 사례 | 배포 옵션 | 고가용성 | 읽기 처리량 | 쓰기 처리량 |
---|---|---|---|---|---|---|
표준(독립형) | 읽기 복제본과 고가용성이 없는 단일 Redis 노드입니다. | 모든 데이터가 노드 하나에 맞고 노드 하나에서 쓰기 및 읽기 처리량을 제공할 수 있으며 고가용성이 필요하지 않은 경우입니다. | Memorystore(완전 관리형) 및 Redis 오픈소스 소프트웨어(OSS)(자체 관리형)에서 지원됩니다. 자체 관리를 사용하려면 더 복잡한 설정이 필요합니다. Memorystore는 빠르게 시작할 수 있는 좋은 옵션입니다. |
없음 | 단일 노드 | 단일 노드 |
HA 또는 읽기 복제본 | 고가용성을 제공하고 Sentinel을 사용하여 읽기 부하를 선택적으로 공유하는 추가 노드가 있는 쓰기 작업을 위한 단일 Redis 노드입니다. | 쓰기 처리량은 여전히 하나의 노드에서 제공할 수 있지만 한 노드에서 읽기 처리량을 제공할 수 없거나 고가용성이 필요한 경우입니다. | Memorystore(완전 관리형) 및 Redis OSS(자체 관리형)에서 지원됩니다. Redis Cluster 아키텍처는 대규모 분산 애플리케이션에 적합한 자동 확장, 고가용성, 데이터 샤딩을 제공합니다. 수동 확장, 클러스터링, 샤딩 시 장단점과 필요한 유지보수 작업을 이해하려면 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 클러스터 API를 지원하도록 클라이언트를 리팩터링해야 합니다. | 원활, 재배포 불필요 | 원활, 재배포 불필요 | 자체 관리형, 수동 작업 필요 |