クラウド資格実践ラボ ハンズオン手順記事に戻る

ElastiCache の遅延読み込みと書き込みスルーの違い ── キャッシュミスのときだけデータベースから読む

記事の「実践」を 1 項目ずつ進めるためのページです。AWS マネジメントコンソールで操作したら、右の一覧にチェックを入れてください。チェックはこのブラウザに保存されます。

準備 7 項目中 1 番目

前提条件

  1. リージョン: ap-northeast-1(東京)
  2. 以下のリソースが作成済みであること

まだ用意していない場合は、「作り方の参考」の記事の手順で作れます。リソース名は、この記事の名前に読み替えてください。

リソース種別リソース名内容作り方の参考
VPC・サブネットdva-cache-vpcパブリックサブネット 2 つ(1a / 1c)―
ElastiCache クラスターdva-cache-labMemcached、cache.t4g.micro × 1 ノード。SG で dva-cache-app-sg からの 11211 番ポートを許可Amazon ElastiCache でキャッシュを置いて読み込みを速くする(※この記事は Memcached を使う)
DynamoDB テーブルdva-cache-recordsパーティションキー record_id。rec-001〜rec-003 の 3 件(details に品名と値段)Amazon DynamoDB でテーブルを作り Lambda から読み書きする
EC2 インスタンスdva-cache-appAmazon Linux 2023。Session Manager で接続でき、/opt/cache-lab/ に下の 3 つのスクリプトと、キャッシュとテーブルへの接続を設定した common.py があるAmazon EC2 でインスタンスを起動しSSH接続する
スクリプト処理
lazy_get.py <キー>遅延読み込み。キャッシュを読み、無ければ DynamoDB から読んで TTL 300 秒でキャッシュに書く。HIT / MISS と処理時間を表示する
update_db.py <キー> <値>DynamoDB だけを更新する(キャッシュは触らない)
write_through.py <キー> <値>書き込みスルー。DynamoDB を更新し、キャッシュも同じ値で更新する