【AWS SAA対策 #17】動画配信の「読み取り」が追いつかない!?ElastiCacheでDB負荷を劇的に下げる方法

AWS

人気の動画配信サービスや、SNS。特定のタイミングで爆発的なアクセスがあり、データベース(RDS)の読み取り負荷が限界に達してサイトが重くなる⋯⋯。そんな危機を救うのが、インメモリキャッシュのAmazon ElastiCacheです。

私は最初、「読み取りが遅いなら、RDSのリードレプリカを増やせばいいんじゃない?」と考えていました。しかし、試験の要件は「ミリ秒単位の超低遅延」と「極度のコスト効率」

これらを満たすための、RDSとElastiCacheの「黄金コンビ」について解説します!

データベースの前に「高速なメモ」を置く

ElastiCacheは、ハードディスクではなく「メモリ(RAM)」の上にデータを保存するデータベースです。

  • 驚異のスピード
    ミリ秒(1000分の1秒)ではなく、マイクロ秒(100万分の1秒)単位の応答時間を実現します。
  • RDSを休ませる
    一度DBから読み取ったデータをElastiCacheにキャッシュしておけば、次に同じリクエストが来た時はDBまで行かずに済みます。これで、高価なDBインスタンスの負荷を劇的に減らせます。

試験で狙われる「Redis」と「Memcached」の選び方

ElastiCacheには2つのエンジンがありますが、SAA試験で問われるのは「どっちを使うべきか」の判断です。

①Redis

  • 多機能
    データのバックアップ(スナップショット)や、レプリケーションによる高可用性に対応。
  • 高度なデータ構造
    リストやセットなど、複雑なデータを扱えます。
  • 用途
    ランキング機能、セッション管理、高可用性が必要なシステム。

②Memcached

  • シンプル
    機能は少ないですが、その分極めてシンプルで高速。
  • マルチスレッド
    複数のCPUコアを効率よく使えます。
  • 用途
    構造が単純なキャッシュ。

【比較表】RDS vs ElastiCache

特徴Amazon RDS / AuroraAmazon ElastiCache
データの置き場所ストレージ(永続的)メモリ(一時的)
レスポンス速度ミリ秒単位マイクロ秒単位(爆速)
主な役割データの正確な保存読み取りの高速化・負荷分散

試験で役立つ!キーワード判別法

パフォーマンス最適化の問題で、以下の言葉があればAmazon ElastiCacheが正解の鍵です!

  • 「ミリ秒未満(Sub-millisecond)のレイテンシー」
  • 「データベースの読み取り負荷を軽減」
  • 「インメモリデータストア」
  • 「リードレプリカよりも高いパフォーマンス」

今回の学び:攻略の格言

「重いDB、叩く前(読み取る前)にキャッシュを見ろ!ミリ秒未満の壁を超えるならElastiCacheの一択だ!」

あとがき:一歩ずつ、合格へ

最後まで読んでいただき、ありがとうございました。

今回の構成は、動画配信サービスなど、現代のWebアプリケーションでは欠かせないアーキテクチャです。RDSだけで無理に頑張るのではなく、キャッシュを組み合わせて「適材適所」で負荷を逃がす。この考え方ができるようになると、インフラ設計がぐっと楽しくなりますね。

「速さは正義」。ユーザー体験を向上させるための強力な武器を、また一つ手に入れました。

それでは、次回の記事でお会いしましょう!