データ可視化とコスト管理 slideshare

56
データの可視化と コスト管理 2014/07/04 西村

Upload: yu-nishimura

Post on 13-Jun-2015

868 views

Category:

Technology


1 download

DESCRIPTION

AWSのデータ可視化とコスト管理について

TRANSCRIPT

Page 1: データ可視化とコスト管理 Slideshare

データの可視化と コスト管理

2014/07/04 西村 遊

Page 2: データ可視化とコスト管理 Slideshare

自己紹介

西村 遊

AWS利用歴:2年3ヶ月

好きなAWSサービス:AutoScaling

Page 3: データ可視化とコスト管理 Slideshare

なにしてるの?

Page 4: データ可視化とコスト管理 Slideshare

ざっくりシスオペ主にサーバーの構築・運用・構成管理

サーバー監視 障害対応

ミドルウェアの設定 サーバーリソース最適化

担当アプリは無し。全部見てます。

アプリ、開発支援系 Ansible使ってます

Page 5: データ可視化とコスト管理 Slideshare

ざっくりシスオペ主にサーバーの構築・運用・構成管理

担当アプリは無し。全部見てます。

サーバー監視 障害対応

ミドルウェアの設定 サーバーリソース最適化

・障害を事前に防ぐ ・障害の発生に逸早く気づく ・リソース最適化 = コストの最適化 !

全アプリ、全サーバーの状況を すぐに確認できるようにしておく必要がある

Page 6: データ可視化とコスト管理 Slideshare

今日話したいこと

Page 7: データ可視化とコスト管理 Slideshare

AWS内のデータを 手早くみれるようにして 無駄を省こう!

Page 8: データ可視化とコスト管理 Slideshare

目次

1. コスト管理

2. 可視化

3. まとめ

Page 9: データ可視化とコスト管理 Slideshare

コスト管理

Page 10: データ可視化とコスト管理 Slideshare

コスト = お金・手間

Page 11: データ可視化とコスト管理 Slideshare

お金 = AWS料金 手間 = 構築・調査時間

Page 12: データ可視化とコスト管理 Slideshare

AWSあるある?たぶん

Page 13: データ可視化とコスト管理 Slideshare

無駄遣いしてない?

Page 14: データ可視化とコスト管理 Slideshare

EC2何サーバーかName Tagで判別できない

開発環境用?本番用?テスト用?

***-newは本当にnew?

newがあるのに無印も残っている?

そもそも使ってる?

紐付けられていないElasticIP

Page 15: データ可視化とコスト管理 Slideshare

EC2 & EBSEBSがめっちゃ多い

stop状態のサーバー多いけど使う機会は?

EBS代($0.08/GB)がかかっている事を忘れる

アタッチされていない数百GBのディスク…

どのディスクが何の用途だったかを辿り辛い

Page 16: データ可視化とコスト管理 Slideshare

RDSDB名に日付っぽい数字入ってる

何かのテストで使った?その後は…

newを削除して新しく無印を作成、みたいな対応

例:guild-newを削除して、guildを作成

Page 17: データ可視化とコスト管理 Slideshare

結果

使っているかがわからないものがゴロゴロ

▶調査しないと削除できない

▶その間にも課金は進む…

▶返事がない…そして数ヶ月後…

Page 18: データ可視化とコスト管理 Slideshare

そんな状況に陥らない為に

Page 19: データ可視化とコスト管理 Slideshare

サポート:ビジネス以上

Billing Management Console !

Trusted Advisor

Page 20: データ可視化とコスト管理 Slideshare

でも

Page 21: データ可視化とコスト管理 Slideshare

・アカウント多くて切り替え面倒

!

・そもそもこまめに見れるなら苦労は無い

!

・ビジネスサポートなんて入ってない

Page 22: データ可視化とコスト管理 Slideshare

_人人人人人_ > 自動化 < ‾Y^Y^Y^Y‾

Page 23: データ可視化とコスト管理 Slideshare

_人人人人人人人人人人人人人人_ > プログラマブルなインフラ <

‾Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y‾

Page 24: データ可視化とコスト管理 Slideshare

扱いやすくしよう

Page 25: データ可視化とコスト管理 Slideshare

どうしたら扱いやすいかアカウント内の片付けをする(見やすくする)

Tagを巧く使う

▶Name Tagでサーバー種別毎の命名規則

▶縛りすぎない。連番とかつけると追加・削除が多い場合混乱がおきる。

▶CLIで情報を取る際に絞り込みが楽になる

Page 26: データ可視化とコスト管理 Slideshare

どうしたら扱いやすいかアカウント監視

▶使ってなさそうなのを通知 (EBSのstatusがavailable、ElasticIP:"InstanceId": null)

▶情報取得はawscli+jq

 ▶スクリプト化しておけば楽

▶お好きな言語で

Page 27: データ可視化とコスト管理 Slideshare

AWS利用の上で感じる大切な事

なるべくマネージメントコンソールに入らないで調査できる環境

Nameタグの命名規則

Page 28: データ可視化とコスト管理 Slideshare

可視化

Page 29: データ可視化とコスト管理 Slideshare

可視化って?

可視化とは、人間が直接「見る」ことのできない現象・事象・関係性を「見る」ことのできるもの(画像・グラフ・図・表など)にすることをいう。視覚化・可視化情報化・視覚情報化ということもある。 (Wikipediaより)

Page 30: データ可視化とコスト管理 Slideshare

目的

常に値を収集し見れるようにする(状態を可視化)

異常値が出た場合は通知する(問題を可視化)

暇しているサーバーがあれば構成見直し

Page 31: データ可視化とコスト管理 Slideshare

目的

常に値を収集し見れるようにする(状態を可視化)

異常値が出た場合は通知する(問題を可視化)

暇しているサーバーがあれば構成見直し

▶値をグラフ化

▶値の監視

▶コスト削減

Page 32: データ可視化とコスト管理 Slideshare

監視構成

Page 33: データ可視化とコスト管理 Slideshare

Ganglia(リソースグラフ化) ・EC2インスタンスのサーバーリソースを取得してグラフ化 ・python pluginでredis,mysql等のグラフも取得

Page 34: データ可視化とコスト管理 Slideshare

Icinga(リソース監視) ・閾値超えたら通知 ・プラグインでCloudWatchの値も監視 ・読み方(アイシンガ、イッティンガ)

Page 35: データ可視化とコスト管理 Slideshare

CloudWatch(監視+モニタリング) EC2以外のサービスにはエージェント入れられないので

Page 36: データ可視化とコスト管理 Slideshare

AWS各種サービス起動時に自動で設定されている

カスタムメトリクスとしてデータの送信を行う事で簡単なリソースの可視(グラフ)化

閾値設定してSNSでメール送信(監視)

AWSサービスとの連携(AutoScalingトリガー)

CloudWatch

特徴

Page 37: データ可視化とコスト管理 Slideshare

デフォルトではとれている情報が少ない(EC2)

見る為に手間がかかる。

コンソールログイン▶サービス選択▶インスタンス選択

表示が重い(複数インスタンス選択・遡っての表示)

たまにうまく見れない(カーソルあわせているのに詳細がウィンドウの後ろに…)

サービスまたぎ、アカウントまたぎでの表示×

データの保存期間は2週間

CloudWatch

デメリット

Page 38: データ可視化とコスト管理 Slideshare

デフォルトではとれている情報が少ない(EC2)

見る為に手間がかかる。

コンソールログイン▶サービス選択▶インスタンス選択

表示が重い(複数インスタンス選択・遡っての表示)

たまにうまく見れない(カーソルあわせているのに詳細がウィンドウの後ろに…)

サービスまたぎ、アカウントまたぎでの表示×

データの保存期間は2週間

CloudWatch

デメリット

サービス・アカウントまたぎで 一括で見れて

手間をかけずに見れて

表示が重くなくて

保存期間自由なCloudWatchが欲しい

Page 39: データ可視化とコスト管理 Slideshare

_人人人人人人人人人人人人_ > そんなあなたにGRAFANA < ‾Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y‾

Page 40: データ可視化とコスト管理 Slideshare
Page 41: データ可視化とコスト管理 Slideshare

特徴

・バックエンドをGraphite,InfluxDBから選択

・Dashboard情報をElasticsearch

(JSON形式でダウンロード、アップロード可能)

・表示させるグラフの組み合わせ自由自在

・2003ポートに[時間+タグ+値]を送るだけでグラフ化(Graphite)

(fluentプラグイン使うと楽)

Page 42: データ可視化とコスト管理 Slideshare
Page 43: データ可視化とコスト管理 Slideshare

① fluentd-plugin-cloudwatchで値を取得 ② fluentd-plugin-graphiteでGraphiteへ ③ Grafanaで閲覧

Page 44: データ可視化とコスト管理 Slideshare

うれしい事

・ログイン不要(セキュリティにはお気をつけて…)

 Basic認証、IP制限等

 ElasticSearchのポート開放にも気をつける

手間をかけずに見れて

Page 45: データ可視化とコスト管理 Slideshare

・複合グラフ、過去の時間指定してもサクサク

 現在467メトリクスを毎分取得しているが、

 r3.large(2CPU RAM:15GB)でサクサク

 ▶過去のレンジを指定するときに

  多数のグラフを表示しているとかなりCPUを喰ってしまう…

 whisperファイルはtmpfs領域に置き、

 rsyncで定期的にディスクに落とす。

 

表示が重くなくて

Page 46: データ可視化とコスト管理 Slideshare

・アカウント・サービスまたぎ、組み合わせ自由自在

サービス・アカウントまたぎで 一括で見れて

Page 47: データ可視化とコスト管理 Slideshare

・一年ぐらい前のデータ見れるようにしたい

 グラフ作成時に指定できる(Grafite)

/etc/carbon/storage-schemas.conf

保存期間自由なCloudWatchが欲しい

[cloudwatch] pattern = ^cloudwatch\. retentions = 60s:365d 1ポイント60秒*365日のグラフを作成

1ファイル当たり6.1M

Page 48: データ可視化とコスト管理 Slideshare

サービス・アカウントまたぎで 一括で見れて

手間をかけずに見れて

表示が重くなくて

保存期間自由なCloudWatchが欲しい

要望全部満たせた!!

Page 49: データ可視化とコスト管理 Slideshare

とにかくかっこいいので、

人に見せる時にドヤレる

Page 50: データ可視化とコスト管理 Slideshare

目的

常に値を収集し見れるようにする(状態を可視化)

▶値をグラフ化

Page 51: データ可視化とコスト管理 Slideshare

目的

異常値が出た場合は通知する(問題を可視化)

▶値の監視

(アイシンガ、イッティンガ)

Page 52: データ可視化とコスト管理 Slideshare

目的

暇しているサーバーがあれば構成見直し

▶コスト削減

あとはやるだけだ!

▶リソース可視化で調査コスト削減

Page 53: データ可視化とコスト管理 Slideshare

まとめ

なるべくマネージメントコンソールに入らない

削除漏れによる無駄遣いリスク

▶命名規則決めてタグ付けすると楽(自動化し易い)

▶無駄使い監視(情報は自動で取得し通知)

Page 54: データ可視化とコスト管理 Slideshare

まとめ

「使用していない」状態を見れるようにしよう

Cloudwatchはfluentd + Graphite + Grafana

 構成おすすめ

Page 55: データ可視化とコスト管理 Slideshare

ご清聴ありがとうございました

Page 56: データ可視化とコスト管理 Slideshare

参考

Fluentd を使って CloudWatch のメトリクスを Graphite で見れるようにする

http://qiita.com/inokappa/items/ee993b14f82e544ca6e4