Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ECS Fargate+Mackerelにおける監視費用を削減するまでの話
Search
株式会社ヌーラボ
PRO
August 08, 2022
Technology
1
3.9k
ECS Fargate+Mackerelにおける監視費用を削減するまでの話
株式会社ヌーラボ
PRO
August 08, 2022
Tweet
Share
More Decks by 株式会社ヌーラボ
See All by 株式会社ヌーラボ
サクフェス2024_ヌーラボ原_CSと開発
nulabinc
PRO
0
5
チームの力を成果に変える、次世代のマネジメント術 〜中小企業の生産性革命〜
nulabinc
PRO
0
26
チームワークマネジメントとは
nulabinc
PRO
0
8
チームの未来を支えるバックログスイーパーという役割
nulabinc
PRO
0
6
ヌーラボが取り組む RevOpsのこれまでとこれから
nulabinc
PRO
1
150
【資料】30分でわかる!“とりあえず課題を作った”から抜け出すBacklog活用術
nulabinc
PRO
0
140
【展示会ご参加者様向け】Backlog概要編-配布資料
nulabinc
PRO
0
53
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
5
780
Datadog のトライアルを成功に導く技術 / Techniques for a successful Datadog trial
nulabinc
PRO
0
460
Other Decks in Technology
See All in Technology
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
870
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
180
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
270
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
470
S3アクセス制御の設計ポイント
tommy0124
3
200
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
210
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
BBQ
matthewcrist
89
9.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Thoughts on Productivity
jonyablonski
70
4.8k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Scaling GitHub
holman
463
140k
Transcript
ECS Fargate+Mackerelにおける 監視費用を削減するまでの話 JAWS-UGコンテナ支部 入門編 #7 初心者大歓迎LT大会 2022.08.09 株式会社ヌーラボ 中野
1
自己紹介 2 @maaaato Masayuki Nakano 💻: ヌーラボ Backlog課 Git Team
❤: 筋トレ/ウマ娘/ジョジョ/アニメ鑑賞/AWS 🏠: と🐈と暮らしてます Embedded SREをしています
きょうお話すること ECS Fargateの監視にMackerelとCloudWatch Container Insightsを利用 • Mackerelの費用を削減するための経緯と行ったこと • Mackerel、CloudWatch Container
Insightsでどういう監視をしているのか 質問や気になる事がありましたらお気軽にTwitterで! 3
なにがあったのか とある日のこと... 4 うわーぜったいうちやん... 最近リリースしたアプリの ホストメトリック数ってど うなっているっけ? あれ?Mackerelの費用が上 がってるな ホストメトリック数の超過が
目立つね ちょっと調べて みますね〜 言葉ではなく心で理解
Mackerelにおけるホストについて ホストとは「そのシステムを構成する最小単位」 1. スタンダートホスト a. mackerel-agentをインストールしたホスト(e.g. EC2など) 2. マイクロホスト a.
mackerel-container-agentをサイドカーとして利用したホスト(e.g. ECS Fargateなど) 5
Mackerelにおけるホストについて ホストとは「そのシステムを構成する最小単位」 1. スタンダートホスト a. mackerel-agentをインストールしたホスト(e.g. EC2など) 2. マイクロホスト a.
mackerel-container-agentをサイドカーとして利用したホスト(e.g. ECS Fargateなど) 6
マイクロホストメトリック数とは? >CPU使用率やメモリの使用量、ロードアベレージなど、サーバーにひも付くメ トリックを「ホストメトリック」と呼んでいます。 ※https://ja.mackerel.io/pricing より引用 マイクロホストメトリック数は上限値が設定されており 30となっている 30メトリック毎に1マイクロホスト分の費用が発生する つまり30を超えると俺が二人分になる!(2マイクロホスト扱い) 7
ECS Fargateの構成について • 1つのClusterに複数のServiceが存在 • Serviceのタスクの内訳 ◦ Applicationコンテナ ◦ サイドカーとしてLogコンテナと
mackerel-container-agentがある • LogはAmazon Kinesis Data Firehose経由 でログをElasticsearchに送信している 8
ECS Fargateのタスクと監視について 9 CloudWatch Alarmのアラート条件 1. Running Task CountがDesired Task
Countを下回った 2. Running Task Countが0になった Application,Logのメトリクスを収集(自身のメトリクス含む) mackerel-plugin-gostatsを利用してカスタムメトリクスも収集 CloudWatch Container InsightsでTaskのプロセス監視 MackerelでTaskのリソース監視
超過したホストメトリック数に対して どういう判断をしたか Application以外のメトリクスは必要がないと判断 理由としてチームで毎朝メトリクスをチェックしている Log、mackerel-container-agentのメトリクスが安定していることがわかったため、メトリクス取 得対象から外すことにした 10 mackerel-container-agent 自身のメトリクス送信も止め る
特定のコンテナをignoreする 11 roles: - "Git: api" plugin: metrics: gostats: command:
mackerel-plugin-gostats -port=9000 -path=/api/stats ignoreContainer: '\A(mackerel-container-agent|Log)\z' mackerel-container-agentのyamlファイルにignoreContainerを追加(正規表現が利用可能)
おどろきの結果 ホストメトリック数が30を切る状態になりホストメトリックの超過一覧から 運用しているコンテナが消えた もちろんMackerelの費用も下がることになり笑顔が溢れた 12 メトリックの対象からLogと mackerel-container-agentが 消えた
まとめ • ホストメトリック数の扱いを把握できてなかった • ホストメトリックの見直しをするにあたり必要がなくなったコンテナのメト リクス取得を止める判断をした ◦ 必要かどうか判断をして止めたが、必要のあるメトリクスであれば無理 に止める必要はないと考えている •
Application以外のコンテナのメトリクスがMackerel上では反映されないので パッと見た時にリソース消費が減ったように錯覚 13