このブログをご覧のみなさん、こんにちは。

セッションストレージの冗長性、可用性を確保すべく、Redis のクラウドサービスを比較検討してみました。

条件

以下の条件を満たすものを調査しました。

  • Redis
  • クラスタ構成できる
  • スケールアウト/インできる
  • 日中帯はノーダウン(後でこれは実現できないことが分かったので、「障がい時、早急に復旧できる」へ要求を変更してもらいました)

当初 Amazon ElastiCache を提案されたので、以下を参考に Azure Redis Cache と比較検討してみました。

Microsoft Azure とアマゾン ウェブ サービス

Amazon ElastiCache

Azure Redis Cache

  • クラスタ構成: Premiumレベルで可能
    • Redis クラスター: 53 GB を超えるキャッシュを作成するか、複数の Redis ノード間でデータを共有する場合、Premium レベルで利用可能な Redis クラスタリングを使用することができます。
  • スケールアウト/インできること: 可能
    • 各ノードは、Azure によって管理される高可用性対応のプライマリ/レプリカ キャッシュのペアで構成されています。
  • リージョンをまたいでのクラスタ構成はできない

冗長性(障がい時の復旧)

リージョンをまたいでクラスタ構成ができないため、リージョンで障がいが発生した場合は別のリージョンで同一構成を立ち上げで対処することにしました。 そのため、監視 & インフラの構築 & 向き先変更まで自動化できているのが望ましい状態です。

まとめ

似たサービスでもこうして比較してみると細部が異なっていることってあるんですね。

参考資料