ElastiCache for redisを本番導入してみました
-
Upload
- -
Category
Technology
-
view
4.563 -
download
0
description
Transcript of ElastiCache for redisを本番導入してみました
ElastiCache for Redisを本番導入してみました
114年1月13日月曜日
目次
• 自己紹介• Redis運用に最低限必要な知識
• gumiでのRedis運用方法
• (現在の)ElastiCache for Redis運用注意点
• まとめ
214年1月13日月曜日
目次
• 自己紹介• Redis運用に最低限必要な知識
• gumiでのRedis運用方法
• (現在の)ElastiCache for Redis運用注意点
• まとめ
314年1月13日月曜日
自己紹介
• 本間 知教(ほんま とものり)
• 株式会社gumi
• System Operation Engineer• 国内アプリのサーバ運用全般
• アプリのイベントとかは作ってないです
• 好きなAWSサービス:Amazon S3@CkReal
414年1月13日月曜日
目次
• 自己紹介• Redis運用に最低限必要な知識
• gumiでのRedis運用方法
• (現在の)ElastiCache for Redis運用注意点
• まとめ
514年1月13日月曜日
Redis運用に最低限必要な知識
• キーバリューストア• データ取得は全てインメモリ
• メモリ以上のデータ格納時の挙動は、 maxmemory-policyで制御(default:volatile-lru)
• 2種類のデータ永続手段• Append-only file(追記型ファイル)
• RDBスナップショット
• 複数データベースが使える
614年1月13日月曜日
目次
• 自己紹介• Redis運用に最低限必要な知識
• gumiでのRedis運用方法
• (現在の)ElastiCache for Redis運用注意点
• まとめ
714年1月13日月曜日
現在運用中のサーバ構成例
memcached
RDS(MySQL5.5)
app
player-shard
others
staticjobqredis
M
S
M
S
masterSQS
814年1月13日月曜日
ElastiCache for Redisを利用したサーバ構成
redis
RDS(MySQL5.6)
app
jobq
S
SQSstatic(S3)
914年1月13日月曜日
アプリでの利用例
• ユーザの行動結果を即時反映させたいイベント
• 使用例• イベントランキング
• プレイヤーのマッチング処理
1014年1月13日月曜日
運用での利用例
• イベント収集ツール(Sentry)のバッファ
• 最近のツールは、Redisを利用するものがある
• ちょっとした検証でEC2を立てるのはコストが大きい
1114年1月13日月曜日
Redisサーバ運用状況
• master-slave構成がメイン
• masterはRDBなし、slave側でスナップショット生成
• EC2(Xen)のforkは遅くなる
• 用途によって、データベースを複数利用
• 最近はmemcachedのキャッシュをredisへ移行
• memcachedのeviction発生タイミングは、開発者がつかみづらい
1214年1月13日月曜日
目次
• 自己紹介• Redis運用に最低限必要な知識
• gumiでのRedis運用方法
• (現在の)ElastiCache for Redis運用注意点
• まとめ
1314年1月13日月曜日
ElastiCache for Redisでできることできないこと
できること (まだ)できないことEC2運用からの開放S3からのデータロードAOFファイルの設定awscliからも扱えるレプリカのマスター昇格
自動フェイルオーバーRDBのS3バックアップインスタンスタイプ変更PITR機能
1414年1月13日月曜日
ElastiCache for Redisでできることできないこと
できること (まだ)できないことEC2運用からの開放S3からのデータロードAOFファイルの設定awscliからも扱えるレプリカのマスター昇格
自動フェイルオーバーRDBのS3バックアップインスタンスタイプ変更PITR機能
現時点でRDSほど高機能ではないことに注意
1414年1月13日月曜日
ElastiCache for Redisを本番導入してみて
• masterの稼働場所として、性能的には全く問題ない
• スナップショットを利用したいときは、EC2を利用
• FAQや公式ドキュメントでも推奨されている
• cache.t1.microはappendonlyをサポートしていない
• 障害発生時の挙動はまだ未経験
• AOFファイルが壊れたり、slaveのスナップショットから復元させるといったケースがあった
1514年1月13日月曜日
目次
• 自己紹介• Redis運用に最低限必要な知識
• gumiでのRedis運用方法
• (現在の)ElastiCache for Redis運用注意点
• まとめ
1614年1月13日月曜日
まとめ
• Redisが短時間で利用可能になるのは、インフラメンバーが少ない企業ではとても嬉しい
• 当初想定していた機能はまだ未実装ではあったが、本番環境でも問題なく利用できる
• 今のところ、障害は発生していない^^;
1714年1月13日月曜日
ElastiCache for Redisの今後に期待!!
1814年1月13日月曜日
ご清聴ありがとうございました
1914年1月13日月曜日