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.6k
ECS Fargate+Mackerelにおける監視費用を削減するまでの話
株式会社ヌーラボ
PRO
August 08, 2022
Tweet
Share
More Decks by 株式会社ヌーラボ
See All by 株式会社ヌーラボ
ヌーラボ‧ウェブサイト課の ⼀年間の取り組みをふり返る
nulabinc
PRO
1
890
今からでも入れる re:Inventがあるんですか!?
nulabinc
PRO
0
330
ライティングチームだからこそできた、「どことでも繋がれるチーム」づくりの結果 / Technical Writing Meetup vol.38
nulabinc
PRO
0
71
4つの基本的な組織形態を知る ~ミンツバーグの組織論 7つの類型と力学、そしてその先へ~ より GWD in Nagoya
nulabinc
PRO
2
190
必要なのは客観性。組織変革をもたらす、より良い「対話」を生み出すための活動 #scrummikawa
nulabinc
PRO
3
1.3k
悪い実装例から学ぶ ウェブアクセシビリティ改善のヒント
nulabinc
PRO
1
740
ヌーラボカスタマーサクセスチームのBacklog活用
nulabinc
PRO
0
370
言葉で「ヌーラボらしさ」をどう届ける? グローバルチームでコラボレーションする大切さ
nulabinc
PRO
1
130
タスクの可視化は争いをなくす!? 夏休みを乗り切る 宿題プロジェクトマネジメント
nulabinc
PRO
2
310
Other Decks in Technology
See All in Technology
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
分解して理解する Aspire
nenonaninu
1
200
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
610
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
540
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
690
君も受託系GISエンジニアにならないか
sudataka
2
430
Classmethod AI Talks(CATs) #16 司会進行スライド(2025.02.12) / classmethod-ai-talks-aka-cats_moderator-slides_vol16_2025-02-12
shinyaa31
0
110
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
730
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.1k
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
98
5.4k
Building Adaptive Systems
keathley
40
2.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Designing for Performance
lara
604
68k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing for humans not robots
tammielis
250
25k
Site-Speed That Sticks
csswizardry
4
380
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Building Your Own Lightsaber
phodgson
104
6.2k
Typedesign – Prime Four
hannesfritz
40
2.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Making Projects Easy
brettharned
116
6k
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