無限ノック › DVA 練習問題一覧 › 問題
DVAAWSのサービスを使用した開発

ゲーミングプラットフォームを開発している会社が、以下の要件を満たすセッションストアをAmazon ElastiCacheで実装しようとしています。 ・クラスター再起動後もセッションデータを永続化する必要がある ・セッションキーの有効期限切れ(TTL)をリアルタイムでアプリケーションに通知する(Keyspace通知) ・マルチAZ構成でノード障害時も自動フェイルオーバーできること どのElastiCacheエンジンと構成を選択すべきですか?

A
ElastiCache for Memcached(クラスターモード有効・複数ノードで水平スケールアウト)
Memcachedはインメモリのみでデータ永続化を持たず、Keyspace通知もサポートしていません。またノード間のマスター・レプリカ構成がないためマルチAZ自動フェイルオーバーも実現できず、3つの要件すべてを満たせません。
B
ElastiCache for Redis(レプリケーショングループを作成しマルチAZを有効化)
✓ 正解
RedisのレプリケーショングループはRDB/AOFによる永続化・Keyspace通知(Pub/Sub)・マルチAZ自動フェイルオーバーの3要件をすべて満たします。ゲーミングセッションのような高可用性・リアルタイム通知が求められるユースケースに最適な構成です。
C
ElastiCache for Memcached(Auto Discovery を使用してノード障害を自動検出)
MemcachedのAuto Discoveryはクライアントライブラリがノード一覧を自動取得する機能ですが、データ永続化・Keyspace通知・自動フェイルオーバーはサポートしていません。Memcached自体がこれらの機能を持たないためです。
D
ElastiCache for Redis(シングルノードクラスターで RDB スナップショットを設定)
シングルノードRedisはRDBスナップショットとKeyspace通知をサポートしますが、レプリカノードが存在しないためマルチAZ自動フェイルオーバーができません。ノード障害時はダウンタイムが発生し、高可用性の要件を満たせません。

解説

ElastiCache for Redisはゲーミングプラットフォームの3つの要件をすべて満たします。 ①永続化:RDB(スナップショット)またはAOF(追記ログ)によりクラスター再起動後もデータを復元できます。 ②Keyspace通知:RedisのPub/Sub機能を使ったKeyspace通知により、キーの期限切れや変更イベントをリアルタイムでアプリケーションに通知できます。 ③マルチAZ自動フェイルオーバー:レプリケーショングループを作成しマルチAZを有効にすると、プライマリノード障害時にレプリカが自動的にプライマリに昇格します。 選択肢AのElastiCache for Memcachedはデータ永続化機能・Keyspace通知・マルチAZ自動フェイルオーバーのいずれもサポートしていません。 選択肢CのElastiCache for MemcachedのAuto Discoveryはクライアントからのノード自動検出機能に過ぎず、永続化・Keyspace通知・自動フェイルオーバーは実現できません。 選択肢DのシングルノードRedisはRDBスナップショットとKeyspace通知はサポートしますが、レプリカが存在しないためマルチAZ自動フェイルオーバーの要件を満たせません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る