SAA / ドメイン3 高パフォーマンスなアーキテクチャの設計

重要な内容

Amazon ElastiCache

は、Valkey、Memcached、Redis OSS互換のを提供するです。

SAA では、データベース読み取り負荷の軽減、セッション共有、頻繁に参照するデータの低遅延化で選びます。


概要

アプリケーションと永続データストアの間にを置き、繰り返し読み取るデータをメモリから返します。キャッシュ障害や失効時にも元データから復元できる設計が基本です。


主要技術

①エンジンの選択 ⚠️ 頻出

エンジン特徴向いている要件
Valkey/Redis OSS、永続化、複雑なデータ型セッション、ランキング、高可用
Memcached単純な分散キャッシュオブジェクトキャッシュを水平分割

Valkey/Redis OSSのソート済みセットは、スコアの順に並んだ状態を保つデータ型です。上位N件や特定のメンバーの順位をメモリ上で高速に返せるため、リアルタイムのランキングに使います。Memcachedは単純なキーと値だけを扱います。


②キャッシュ戦略

Lazy Loadingは要求時に読み込み、書き込みはまずDBへ行います。Write Throughは更新時にも更新します。を設定し、古いデータが残る時間を制御します。


③高可用性

Valkey/Redis OSSではとを構成できます。読み取りレプリカで負荷を分散し、障害時にプライマリへ昇格します。

クラスターモードを無効にした構成は1(プライマリ1台と最大5台)です。読み取りはレプリカで増やせますが、データ量と書き込みはプライマリ1台に収める必要があります。クラスターモードを有効にすると、データを複数のシャードへ分割して書き込みとメモリの容量を水平に広げられ、各シャードにレプリカを置いて自動フェイルオーバーも保てます。


④キャッシュ障害への備え

は性能向上の層として扱い、キャッシュミス時は永続DBへフォールバックします。大量同時失効によるキャッシュスタンピードを避けるため、分散やリクエスト制御を検討します。


⑤費用とデプロイの選択

Serverlessは、ノードの種類や台数を選ばずにを作れる構成です。保存したデータ量と処理したリクエスト(ECPU)に応じて課金され、負荷に合わせて自動で増減します。Valkeyはほかのエンジンより料金が低く設定され、Serverlessで課金される最小のデータ量も100MBと、Redis OSSの1GBより小さくなっています。負荷が読めて常に一定なら、ノードを選ぶ構成とリザーブドノードの組み合わせも候補です。

同じデータの繰り返しの読み取りがDBの負荷の大半なら、キャッシュでDBへの読み取りを減らせます。DBインスタンスの拡大やの追加は、キャッシュより高くつくことが多い対策です。


試験対策

「同じ読み取りが多い」「DB負荷を減らす」「セッションを複数で共有」はです。が必要な主データをだけへ保存しません。


参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください