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
820
今からでも入れる re:Inventがあるんですか!?
nulabinc
PRO
0
300
ライティングチームだからこそできた、「どことでも繋がれるチーム」づくりの結果 / Technical Writing Meetup vol.38
nulabinc
PRO
0
59
4つの基本的な組織形態を知る ~ミンツバーグの組織論 7つの類型と力学、そしてその先へ~ より GWD in Nagoya
nulabinc
PRO
2
160
必要なのは客観性。組織変革をもたらす、より良い「対話」を生み出すための活動 #scrummikawa
nulabinc
PRO
3
1.2k
悪い実装例から学ぶ ウェブアクセシビリティ改善のヒント
nulabinc
PRO
1
650
ヌーラボカスタマーサクセスチームのBacklog活用
nulabinc
PRO
0
340
言葉で「ヌーラボらしさ」をどう届ける? グローバルチームでコラボレーションする大切さ
nulabinc
PRO
1
120
タスクの可視化は争いをなくす!? 夏休みを乗り切る 宿題プロジェクトマネジメント
nulabinc
PRO
2
300
Other Decks in Technology
See All in Technology
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
コロプラのオンボーディングを採用から語りたい
colopl
5
1.3k
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
12k
生成AIのビジネス活用
seosoft
0
110
2025年のARグラスの潮流
kotauchisunsun
0
790
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
250
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
170
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
140
ABWGのRe:Cap!
hm5ug
1
120
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
240
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
1.5k
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
200
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The Invisible Side of Design
smashingmag
299
50k
Agile that works and the tools we love
rasmusluckow
328
21k
The Pragmatic Product Professional
lauravandoore
32
6.4k
How STYLIGHT went responsive
nonsquared
96
5.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Into the Great Unknown - MozCon
thekraken
34
1.6k
Optimising Largest Contentful Paint
csswizardry
33
3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Why Our Code Smells
bkeepers
PRO
335
57k
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