LoginSignup
0
0

Amazon ElastiCache for Redis Serverlessについてまとめてみた

Last updated at Posted at 2024-06-20

はじめに

こんにちは、今回の記事では、私が業務でAmazon ElastiCache for Redis Serverlessを
導入する際に調査した内容をまとめてみました。non-serverlessと比較してのメリットやコストの観点からまとめてますので、是非最後まで呼んでくださると嬉しいです。

Redis(Remote Dictionaly Server)とは

よくキャッシュやセッション管理で利用されるオープンソースのNoSQLデータベースで以下のような特徴を持ちます。

  • Key-Value形式でのデータ
  • インメモリに保存するので高速に読み書きができる
  • 豊富なデータ型をサポートしている(String/List/Set/Hash/...etc)
  • データの永続化が可能

Amazon ElastiCache for Redis

Screenshot 2024-06-20 at 21.18.32.png

用語

  • ノード(Node)
    キャッシュサーバー/ElastiCacheの最小単位
    選択したノードタイプによって性能(メモリやCPU)が異なる
  • シャード(Shard)
    ノードをまとめるグループ
    1つのシャードにプライマリノード(読み書き可能)1個とリードレプリカノード(読み込み専用)0~5個を持つ
  • クラスタ(Cluster)
    シャードをまとめるグループ
    クラスタ毎にキャッシュエンジンを選択可能
    シャード数は1~15で増減

データの永続化(バックアップ)

  • スナップショット
    -> 定期的にデータベースの内容をスナップショットでとり、s3へ保存する
  • AOF (Append-Only File)
    -> 全ての書き込み操作をログに記録し、そこからデータを復元することができる

上記2つの方法がデータのバックアップ方法としてあるが、AWS公式としては、Multi AZ構成にして可用性を担保することを推奨している。

システム構成

Screenshot 2024-06-20 at 21.41.22.png
全体のシステム構成としては上記のような形(簡略化のためMulti AZは考慮していません)
運用にあたって、ノードサイズのスケールアップやシャードの増減は、CPUやメモリの使用率を監視してスケーリングする必要がある

Amazon ElastiCache for Redis Serverless

2023年11月にGAされたサービス

システム構成

以下のように、non-serverlessと比較して、プロキシという概念がアプリケーションとRedis間に存在している。
Screenshot 2024-06-20 at 21.41.05.png

特徴

  • プロキシは複数のプロキシノードで構成されており、これらがリクエストを処理する
  • プロキシノードはリクエストを適切なキャッシュノードにルーティングする
  • キャッシュノードの数は動的に調整され、その都度プロキシがルーティングを再構築する

サーバーレスのメリット

  • キャッシュ容量の計画・管理をする必要がなくなる
    -> メモリ・コンピューティング・ネットワーク帯域等の使用率をモニタリングし、垂直・水平方向に自動でスケーリングする
  • 高可用性
    -> 複数のAZ間でデータを自動的にレプリケートする。これらにより、SLAが99.99%になった(従来は99.9%)
  • ソフトウェアの自動アップグレード
    -> キャッシュを最新のマイナーおよびパッチバージョンであれば自動でアップグレードする。メジャーバージョンはElastiCacheから通知が送信される

コスト(東京リージョンの場合)

サーバーレスのコストは大きく以下の2つがある

  1. データ保存料: 1時間毎Redisに保存されているデータ量を計測し、課金される。1GB以下の保存料であれば1GBとして料金計算される
    $0.151 / GB-hour
  2. ECPU: 1キロバイトの送受信で1ECPUとして計算され、100万ECUP毎に以下の料金がかかる。1キロバイト以下のデータであれば1キロバイトとして計算される
    $0.0041 / million ECPUs

感想

  • サーバーレスになったことで運用・管理がかなり楽になった上、SLAとしても10倍になっているので、メリットとしては大きい
  • コスト試算は少し計算が面倒ではあるが、従来の手法と比較してRIがないといった点から高額になる
  • サーバーレスのモニタリングとしては、コストやデータの送受信量を計測する意味でもElastiCacheProcessingUnitsメトリクスが有効
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0