20150207 amazon elasticache

41
Amazon ElastiCache ~運用を考えて~

Upload: daiki-mori

Post on 17-Jul-2015

471 views

Category:

Engineering


8 download

TRANSCRIPT

Page 1: 20150207 amazon elasticache

Amazon ElastiCache ~運用を考えて~

Page 2: 20150207 amazon elasticache

森 大樹 (もり だいき)業務系エンジニア 大阪生まれ大阪育ちの浪速っ子 今、AWSを利用したシステムの 開発と運用をやってます !facebook : /areaz.daiki twitter : @areaz_ slideshare: http://www.slideshare.net/areazdaiki/ !hobby:スノボ(アルペンボーダー)    お酒(毎日コンビニで購入)      →C3(Can Convinience Club)会長

Who am I ?

Page 3: 20150207 amazon elasticache

ハッシュタグ#jawsug #fullmanaged

JAWS-UG KANSAI特別編 「AWSを使い倒せ。 AWSのフルマネージドサービス活用 によるネイティブクラウドシステム への誘い」

Page 4: 20150207 amazon elasticache

Amazon ElastiCache

Page 5: 20150207 amazon elasticache

Amazon ElastiCache

Memcached

Redis

Page 6: 20150207 amazon elasticache

メモリ内キャッシュのデプロイ、運用、スケーリングを クラウド内で簡単に実行できるウェブサービスです。 このサービスは、低速のディスクベースのデータベースに 完全に依存せずに、高速の管理されたメモリ内のキャッシュ から情報を取得できるようにすることで、 ウェブアプリケーションのパフォーマンスを向上させます。

Page 7: 20150207 amazon elasticache

DBにアクセスしてると遅いから、 メモリキャッシュしてる情報を

getでデータ取得して、高速返却。

Page 8: 20150207 amazon elasticache

データ取得

値を返す

[メモリにデータキャッシュあり]

DBから取得[メモリにデータキャッシュなし]

メモリに キャッシュ

get(key)で キャッシュ検索

select文で検索

set(key, value)で キャッシュへ設定

メモリキャッシュを使った仕組み

Page 9: 20150207 amazon elasticache

Memcached

Redis

データは全てメモリ上に保存

GETやSET等のシンプルな操作に特化

LRU(Least Recently Used)順に古いデータを自動削除

基本的にデータをメモリに保存 データをハードディスク上に書き込むこと

valueに文字列だけでなく、リスト/ハッシュも可能

コマンドで明示的に削除もしくは、timeoutで削除

Page 10: 20150207 amazon elasticache

主な用途セッション管理

同じデータをよく使うシステムパフォーマンス

向上

Page 11: 20150207 amazon elasticache

今日のテーマ ~運用を考えて~○稼働状況 / 負荷など監視○障害発生時のリカバリ

Page 12: 20150207 amazon elasticache

今日のテーマ ~運用を考えて~モニタリング

可用性

自動障害検出

復旧

Page 13: 20150207 amazon elasticache

今日のテーマ ~運用を考えて~モニタリング

可用性

自動障害検出

復旧

Page 14: 20150207 amazon elasticache

Cloud Watchモニタリング

ホストレベルのメトリックス

Memcachedのメトリックス

Redisのメトリックス

Page 15: 20150207 amazon elasticache

Cloud Watchモニタリング

ホストレベルのメトリックス

CPU使用率 

ホストで使用可能な空きメモリの量      

ネットワークから読み書きしたバイト数

AWS Documentation : http://amzn.to/1EgUC10

Page 16: 20150207 amazon elasticache

Cloud Watchモニタリング

Memcachedのメトリックス

AWS Documentation : http://amzn.to/1EgTJFL

get / set / Hit した数

現時点のキャッシュ数 / 接続数

期限切れ等で削除した項目数

Page 17: 20150207 amazon elasticache

Cloud Watchモニタリング

Redisのメトリックス

maxmemory の制限のため排除されたキーの数

期間内にサーバーによって受け入れられた接続の総数

Redis によって割り当てられた総バイト数

AWS Documentation : http://amzn.to/1EhcvNp

Page 18: 20150207 amazon elasticache

Cloud Watchモニタリング

iOSnodeJSRuby

AWS SDK / CLIを利用

メトリックスを取得 メトリックス情報を渡す

Webで確認メールで通知

Page 19: 20150207 amazon elasticache

モニタリング 可視化

Page 20: 20150207 amazon elasticache

今日のテーマ ~運用を考えて~モニタリング

可用性

自動障害検出

復旧

Page 21: 20150207 amazon elasticache

Multi - AZ

Availability Zone - bAvailability Zone - a

Page 22: 20150207 amazon elasticache

Cluster

Page 23: 20150207 amazon elasticache

Multi - AZ & Cluster

Availability Zone - a Availability Zone - b

Page 24: 20150207 amazon elasticache

Availability Zone - a Availability Zone - b

Multi - AZ & Cluster

Master

Master

Read

Read

Read

Read Read

Read

Read

Read

Read

Master Nodeで障害発生

Page 25: 20150207 amazon elasticache

ElastiCache Redis Multi-AZ 自動フェイルオーバー機能

Availability Zone - a Availability Zone - b

Master

Master

Read

Read

Read

Read Read

Read

Read

Read

自動フェイルオーバー(Redis)

Masterに 昇格

Page 26: 20150207 amazon elasticache

今日のテーマ ~運用を考えて~モニタリング

可用性

自動障害検出

復旧

Page 27: 20150207 amazon elasticache

Auto Discovery (Memcached)

Cacheノード全てに アクセス

Cache Cluster

Page 28: 20150207 amazon elasticache

Configuration Endpoint

Auto Discovery (Memcached)

全Endpointを 自動取得/設定/接続する

Cache Cluster

Auto Discovery Client (Java / PHP / .NET)

Page 29: 20150207 amazon elasticache

今日のテーマ ~運用を考えて~モニタリング

可用性

自動障害検出

復旧

Page 30: 20150207 amazon elasticache

Backup / Restore (Redis)復旧

定期的なバックアップ手動バックアップ

リストア

Backup

RestoreAWS Management

ConsoleAWS CLI

Page 31: 20150207 amazon elasticache

今日のテーマ ~運用を考えて~モニタリング

可用性

自動障害検出

復旧

Page 32: 20150207 amazon elasticache

運用としてiOSnodeJSRuby

AWS SDK / CLIを利用

運用監視

Page 33: 20150207 amazon elasticache

運用例これ以上、何も思いつきません。

Page 34: 20150207 amazon elasticache

まとめ可用性

耐障害性

パフォーマンス向上

Page 35: 20150207 amazon elasticache

まとめ冗長化はコストがかかる

[CacheNodeType] Cost / h ($) Cost / m ($) Cost / m (¥) cache.t2.micro $0.026 $18.7 ¥2,247cache.t2.small $0.052 $37.4 ¥4,493

cache.t2.medium $0.104 $74.9 ¥8,986cache.m3.medium $0.120 $86.4 ¥10,368

cache.m3.large $0.240 $172.8 ¥20,736cache.m3.xlarge $0.485 $349.2 ¥41,905

cache.m3.2xlarge $0.965 $694.8 ¥83,376cache.r3.large $0.273 $196.6 ¥23,588cache.r3.xlarge $0.546 $393.1 ¥47,175

cache.r3.2xlarge $1.092 $786.2 ¥94,349cache.r3.4xlarge $2.184 $1,572.5 ¥188,698cache.r3.8xlarge $4.368 $3,145.0 ¥377,396

表1. [東京リージョン] オンデマンドキャッシュノードの料金

Page 36: 20150207 amazon elasticache

まとめSmall Start

Small Success

New Challenge

Page 37: 20150207 amazon elasticache

なんとなく 理解できましたか?

Page 38: 20150207 amazon elasticache

教えてもらうより、 まずは使ってみよう!!

Page 39: 20150207 amazon elasticache

新たな世界へ!!

Page 40: 20150207 amazon elasticache

次はあなたがスピーカーよ。

Page 41: 20150207 amazon elasticache

ご清聴 有り難う御座いました。