Slide 1

Slide 1 text

Amazon ElastiCache 株式会社リクルート クラウドアーキテクトグループ

Slide 2

Slide 2 text

Amazon ElastiCacheとは AWSが提供するマネージドなキャッシュサービス • マネージドなキャッシュサービスなので、 • 構築・運⽤⽀援のための様々な仕組みを提供 • RDSなどと同じく⼀部(主に下位レイヤー)のをAWSが代わりに管理することで、 利⽤者が実施しなければいけないタスク総量を削減 • 2種類のエンジンを提供 • Redis・memcachedの2種類 2

Slide 3

Slide 3 text

Amazon ElastiCacheとは AWSが提供するマネージドなキャッシュサービス • マネージドなキャッシュサービスなので、 • 構築・運⽤⽀援のための様々な仕組みを提供 • RDSなどと同じく⼀部(主に下位レイヤー)のをAWSが代わりに管理することで、 利⽤者が実施しなければいけないタスク総量を削減 • 2種類のエンジンを提供 • Redis・memcachedの2種類 3 Redisを利⽤することが社内では多いため、 以降はRedisの場合を前提において説明

Slide 4

Slide 4 text

ElastiCache(Redis)の使い所 主な利⽤箇所は以下の2つ。 ① セッション管理 ② DBキャッシュ ほとんどの場合は①のセッション管理で利⽤。 別で永続化されているデータから再⽣成が可能なデータまたは、 消えたとしても影響が少ないデータのみを格納する。 4

Slide 5

Slide 5 text

ElastiCache Redisの提供する様々な仕組み • 構築⽀援の仕組み • プライマリーセカンダリ構成やRedis Cluster構成などが容易に実現可能できます • ⾮機能要件を⾼めるための仕組み • リードレプリカ提供 • 読み取り性能の⽔平スケーリング/AZ障害時のデータ保全の実現 • マルチAZ対応・⾃動フェイルオーバー • ノードやAZ障害時に⾃動で他のノードにフェイルオーバーする • Redis Clusterの場合とそうでない場合でフェイルオーバーにかかる時間が異なるので注意 • バックアップ・リストア機能 • スナップショットによるデータ保全 • 監視・モニタリング連携 • CloudWatchとの連携による可観測性向上やアラーティングの容易化 • https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/MonitoringECMetrics.html • 保管データ・通信データの暗号化 • 暗号化によるセキュリティの向上 • https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/at-rest-encryption.html • https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/in-transit-encryption.html 5

Slide 6

Slide 6 text

リードレプリカ提供 読み込み⽤のリードレプリカを提供することで読み込み性能を⽔平スケーリングさ せることができる 6 App Primary Node Read replica Read replica Read replica 読み込み エンドポイント SET GET 読み込み処理の分散 プライマリ エンドポイント App Primary Node GET SET プライマリ エンドポイント プライマリノード の負荷 ⼤ プライマリノード の負荷 ⼩ 読み込み処理を リードレプリカに オフロード リードレプリカ 無 リードレプリカ 有 ⾮同期レプリケーション

Slide 7

Slide 7 text

マルチAZ・⾃動フェイルオーバー プライマリノードまたはプライマリノードが存在するAZで 障害が発⽣した場合にリードレプリカにフェイルオーバーする 7 Availability Zone (ap-northeast-1a) Availability Zone (ap-northeast-1c) Primary node Read replica App App Read replica SET SET GET GET プライマリノード で障害が発⽣ Availability Zone (ap-northeast-1a) Availability Zone (ap-northeast-1c) Primary node Read replica App App Primary Node SET SET GET GET DNSでプライマリ エンドポイントの 向き先を変更 Availability Zone (ap-northeast-1a) Availability Zone (ap-northeast-1c) Read replica Read replica App App Primary Node SET SET GET 障害から復旧できたら Read Replicaとして 組み込みなおす GET ノード障害の発⽣ ノードの昇格 障害ノードの復旧と最組み込み (復旧ができた場合のみ) Cluster modeの場合はフェイルオーバーの際の仕組みが異なるので注意

Slide 8

Slide 8 text

バックアップ・リストア機能 • スナップショットをバックアップとして取得できる • 取得したスナップショットからElastiCacheのインスタンスを作成し、 データをリストアすることができる • スナップショットからRDBファイルをエクスポートすることで、ElastiCacheだけでなく それ以外のRedis環境(EC2上やオンプレミスサーバ上のRedis)にデータを リストアすることができる 8 ElastiCache Redis (A) S3 Snapshot バックアップ取得 (スナップショット作成) ElastiCache Redis (B) リストア RDB ファイル RDBファイル のエクスポート ElastiCache Redis (C) EC2上に導⼊ したRedis オンプレミス サーバ上のRedis リストア

Slide 9

Slide 9 text

リザーブドキャッシュノードによる費⽤の圧縮 ⻑期(1年以上)継続して利⽤する場合は前払い料⾦を⽀払うことで⼤幅な割引を受 けることができます(最⼤70%の割引) • https://aws.amazon.com/jp/elasticache/reserved-cache-nodes/ 9