Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AIやマイクロサービスを活用したDynamoDB節約術

1,223 views

Published on

「WFS Tech Talk #2」で発表された資料です。
https://gree.connpass.com/event/158257/

Published in: Engineering
  • Be the first to comment

AIやマイクロサービスを活用したDynamoDB節約術

  1. 1. AIやマイクロサービスを活用した DynamoDB節約術 グリー株式会社 開発本部 インフラストラクチャ部 サービスインストレーショングループ 橋本順之
  2. 2. 目次 ● 前置き ● コストの肝のキャパシティ ● キャパシティの自動化 ● まとめ 2
  3. 3. 前置き ● DynamoDB ○ アナザーエデンとダンメモのメインストレージ ○ 国内および海外を合わせると7箇所で運用 ○ NoSQL:アクセス数に対してスケールしやすい ○ データ量だけでなく、キャパシティ(スループット)で費用がかかる ● 解決したい問題 ○ メインストレージなのでサーバーの運用費を安くしたい ○ 運用を自動化したい ■ (20~50テーブル) x 7 の キャパシティを設定
  4. 4. キャパシティ ● DynamoDBはキャパシティ(スループット)で費用がかかる ● テーブル単位でキャパシティを設定 一時間:1リクエスト/秒 リード:$0.0001484 ライト:$0.000742
  5. 5. キャパシティ ● DynamoDBはキャパシティ(スループット)で費用がかかる ● テーブル単位でキャパシティを設定 一カ月:10000リクエスト/秒 ReadWriteこみで$6410
  6. 6. キャパシティ ● DynamoDBはキャパシティを上げ下げすると安くなる プロビジョンされたキャパシティ 利用しているキャパシティ
  7. 7. キャパシティの注意点 ● 利用しているキャパシティ > プロビジョンされたキャパシティの場合 ○ アクセスに失敗します。 プロビジョンされたキャパシティ 利用しているキャパシティ
  8. 8. キャパシティ ● (20~50テーブル) x 7 の キャパシティを設定
  9. 9. キャパシティの費用体系 ● オンデマンド ○ リクエストした分だけ費用がかかる ○ これまでのピークの倍のスループットが出せる ○ 0.001026USD/RCU (一時間) ● プロビジョニング ○ あらかじめ決めたキャパシティで費用がかかる ■ 0.0001484USD/RCU (一時間) ■ RCU = 1秒1回のリード ● リザーブドを買う(一年) ■ 0.000029USD/RCU(一時間) ● プロビジョニング ● リザーブド ● 自分でキャパシティ管理
  10. 10. キャパシティの費用体系(1Mリクエスト/秒) Read(USD 1MReq/sec) Write(USD 1MReq/sec) オンデマンド 0.285 1.427 プロビジョニング 0.041 0.206 リザーブド(1年) 0.008 0.041 東京リージョン、2020/01/14調査 例:プロビジョニング Read 0.041 = 0.0001484/3600*1000000
  11. 11. 前置き ● DynamoDB ○ アナザーエデンとダンメモのメインストレージ ○ 国内および海外を合わせると7箇所で運用 ○ NoSQL:アクセス数に対してスケールしやすい ○ データ量だけでなく、キャパシティ(スループット)で費用がかかる ● 解決したい問題 ○ メインストレージなのでサーバーの運用費を安くしたい ○ 運用を自動化したい ■ (20~50テーブル) x 7 の キャパシティを設定
  12. 12. キャパシティをコントロールするシステム構成 ● AWS Lambdaで構成 ● 特徴 ○ AIが5分おきにキャパシティを調整 ○ 突発の負荷に対応(設定値を超えると自動で増やす) ● 定常の調整 ○ 設定値の40%の負荷で調整 ○ 前日の負荷をみてAIが当日のキャパシティを調整 ○ Haskellでかかれているので安全 ● イベントのための調整 ○ ユーザーが設定 ○ AIが自動と手動(ユーザー定義)を切り替える
  13. 13. キャパシティをコントロールするシステム構成
  14. 14. まとめ ● DynamoDB ○ アナザーエデンとダンメモのメインストレージ (7箇所) ○ 安く使うにはリザーブドがおすすめ ○ キャパシティをテーブルごとにコントロールする必要があります ○ 問題:テーブルが多い。(20~50テーブル) x 7 ● 対応策 ○ ユーザーによるスケジュールと前日の利用量からAIがキャパシティをコント ロール ○ AWS Lambda の無料利用枠には、1 か月に 1,000,000 件の無料リクエスト ■ 5分おきの実行:8640回/月 ■ 100テーブル程度なら無料
  15. 15. ご清聴ありがとうございました。

×