Memorystore とは
Google Cloud Japan Team
※この投稿は米国時間 2021 年 8 月 18 日に、Google Cloud blog に投稿されたものの抄訳です。
ゲーム、サイバーセキュリティ、ソーシャル メディアなど、今日のアプリケーションの多くは、リアルタイムのエクスペリエンスを提供するために、ミリ秒未満のレイテンシでデータを処理する必要があります。スケールの拡大とコスト削減を実現しつつ、低レイテンシ化にも対応するには、インメモリ データストアが必要です。代表的なものとして、Redis や Memchaced が挙げられます。Memorystore は、Google Cloud の Redis および Memcached 向けの、フルマネージド インメモリ データストア サービスです。他の Google Cloud サービスと同様に、高速かつスケーラブルで、可用性と安全性に優れています。プロビジョニング、レプリケーション、フェイルオーバー、パッチ適用などの複雑なタスクを自動化することで、他のアクティビティにより多くの時間を割くことができるようになります。99.9% の SLA が提供され、Google Cloud 内のアプリとシームレスに統合されます。
Memorystore は、さまざまなタイプのメモリ内キャッシュや一時ストアに使用されます。また、Memorystore for Redis は、可用性の高い Key-Value ストアとしても使用されます。これにより、ウェブ コンテンツ キャッシュ、セッション ストア、分散ロック、ストリーム処理、レコメンデーション、容量キャッシュ、ゲーム リーダーボード、不正行為 / 脅威検出、パーソナライズ、アドテックなど、さまざまなユースケースに対応します。
アプリケーションに必要な可用性とは
Memorystore for Redis ではベーシック ティアとスタンダード ティアを提供しています。ベーシック ティアは、Redis をキャッシュとして使用し、コールド リスタートやデータの完全なフラッシュを許容できるアプリケーションに適しています。スタンダード ティアのインスタンスは、レプリケーションと自動フェイルオーバーを使用した高可用性を提供します。
Memorystore for Memcached インスタンスは、ノードごとコアごとの vCPU およびメモリで、ノード単位でプロビジョニングされるため、特定のアプリケーション要件に基づいて選択できます。
特徴と機能
安全性: Memorystore は VPC ネットワークとプライベート IP を使用してインターネットから保護されており、データを保護するための IAM 統合が付属しています。また、Memorystore for Redis はインスタンス レベルの認証と転送中の暗号化にも対応しています。また、主要な認定にも準拠しています(例: HIPAA、FedRAMP、SOC2)。
オブザーバビリティ: Cloud Monitoring を使用して、インスタンスをモニタリングし、カスタム アラートを設定できます。また、OpenCensus と統合し、クライアント側指標の分析情報をさらに詳細に取得することもできます。
スケーラブル: 最も下の階層と最も小さいサイズから開始し、必要に応じてインスタンスを拡張できます。Memorystore は、API を使用した自動スケーリングや、ゾーン間での最適なノード配置による冗長性を提供します。Memorystore for Memcached は、数百万という QPS を低レイテンシでサポートする 5 TB もの大容量のクラスタに対応できます。
高可用性: Memorystore for Redis インスタンスは 2 つのゾーンにレプリケートされ、99.9% の可用性 SLA を提供します。各インスタンスは常にモニタリングされ、自動フェイルオーバーによってアプリケーションの停止を最小限に抑えます。
移行の際のコード変更が不要: Memorystore は、オープンソース ソフトウェアに準拠しているため、コードを変更することなく簡単にアプリケーションを切り替えることが可能です。
バックアップ: Memorystore for Redis は、RDS スナップショットを使用して Redis インスタンスを Google Cloud に移行するインポート / エクスポート機能を提供します。
ユースケース
Memorystore は高速でリアルタイムなデータ処理が要求されるユースケースに最適です。単純なキャッシュ保存、ゲーム リーダーボード、リアルタイム解析などがその一例です。
キャッシュ保存: キャッシュは、最新のアプリケーション アーキテクチャにおいて不可欠な要素です。Memorystore はセッション管理、高頻度でアクセスされるクエリ、スクリプト、ページなどのキャッシュ保存のユースケースに使用されます。
ゲーム: Sorted Set 型などのデータ構造により、Memorystore は要素の一意性を保ちながら、リーダーボードの並べ替えられたスコアのリストを簡単にメンテナンスできます。Redis の Hash 型を使用すれば、迅速かつ容易にプレーヤー プロフィールにアクセスできます。
ストリーム処理: Twitter フィードを処理する場合でも IoT デバイスからのデータ ストリームを処理する場合でも、Memorystore は Dataflow や Pub/Sub と組み合わせたストリーミング ソリューションに最適です。
結論
優れたユーザー エクスペリエンスを保証するために、アプリケーションで低レイテンシを実現する必要がある場合は、Memorystore をぜひチェックしてください。Memorystore の詳細については、ドキュメントをご確認ください。
#GCPSketchnote の詳細については、GitHub リポジトリをフォローしてください。同様のクラウド コンテンツについては、Twitter @pvergadia で発信しています。thecloudgirl.dev もぜひご覧ください。
-Google デベロッパー アドボケイト Priyanka Vergadia