Udemy「手を動かしながら2週間で学ぶ AWS 基本から応用まで」Day11
どうも、はぐりんです。
前回に引き続き、UdemyのAWS講座
https://www.udemy.com/aws-14days/
のDay11を受講しましたので、
その内容メモを残したいと思います。
Day11 コンテンツキャッシュとインメモリキャッシュ
・コンテンツキャッシュパターン
→ CDN(Content Delivery Network)を配置し、コンテンツをキャッシュすることでWebサーバの負荷を軽減する。
・AWS CloudFront
→ AWSが提供するフルマネージド型CDNサービス
→ 世界に100を超えるエッジロケーションが存在する(リージョンとは別)
→ AWS WAF、AWS Certificate Mangerなどと連携できる。
・CloudFrontの導入
→ ELBの前段に配置
→ OriginDomainとしてALBを指定
→ Cacheの振る舞い設定で実験のためTTLを全て20秒にする
→ デプロイまで待つ。
→ CloudFrontで指定されたDomainNameでWebページが表示されることを確認。
・動作確認
→ index.phpを変更しての動作確認
→ curlコマンドでの「X-Cache」の値をチェックした
・CloudFrontを使う際のポイント
1)キャッシュTTLの設定(短すぎても長すぎてもダメ)
2)CloudWatchで監視する
3)PopularObjectReportを参考に定期的に設定を見直す
CloudFrontの画面から確認できる。
・インメモリキャッシュパターン
→ 頻繁にアクセスする「データ」をDBではなくインメモリキャッシュに格納することでデータベースの負荷を軽減する設計パターン
→ selectが多いデータについては利用価値が高い。またデータの種類によって格納先を変える場合(セッション情報など)
・AWS ElastiCache
→ AWSが提供するフルマネージド型インメモリキャッシュサービス
→ セットアップが簡単(レプリ、バックアップが容易)
→ Redis:シングルスレッド、データ永続化可能。
→ Memcached:マルチスレッド、データ永続化不可能。
・ElastiCacheの導入
→ ElasticCache画面でパラメータグループとサブネットグループを作成。
→ サブネットグループには既存のPrivateSubnetを割り当てる。
→ セキュリティグループを作成(BatchとWebサーバからのアクセスを許可)
→ クラスターエンジンRedisで作成する。
(パラメータグループ、ノードタイプ、サブネットグループ、セキュリティグループを設定)
・redis
→ Batchサーバにredis-cliをインストールし、redisへ接続してみる。
→ データセットのデモ
・ElastiCacheを使う際のポイント
1)キャッシュするデータの選定
2)耐障害性への考慮
3)負荷テストを実施してノードのタイプを決定する
今回の受講時間は1時間、ここまでのAWS課金金額は1.65$です。
ではまた(o'ω')y-~