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.5k
ECS Fargate+Mackerelにおける監視費用を削減するまでの話
株式会社ヌーラボ
PRO
August 08, 2022
Tweet
Share
More Decks by 株式会社ヌーラボ
See All by 株式会社ヌーラボ
ヌーラボ‧ウェブサイト課の ⼀年間の取り組みをふり返る
nulabinc
PRO
1
720
今からでも入れる re:Inventがあるんですか!?
nulabinc
PRO
0
280
ライティングチームだからこそできた、「どことでも繋がれるチーム」づくりの結果 / Technical Writing Meetup vol.38
nulabinc
PRO
0
45
4つの基本的な組織形態を知る ~ミンツバーグの組織論 7つの類型と力学、そしてその先へ~ より GWD in Nagoya
nulabinc
PRO
2
130
必要なのは客観性。組織変革をもたらす、より良い「対話」を生み出すための活動 #scrummikawa
nulabinc
PRO
3
1.1k
悪い実装例から学ぶ ウェブアクセシビリティ改善のヒント
nulabinc
PRO
1
600
ヌーラボカスタマーサクセスチームのBacklog活用
nulabinc
PRO
0
310
言葉で「ヌーラボらしさ」をどう届ける? グローバルチームでコラボレーションする大切さ
nulabinc
PRO
1
110
タスクの可視化は争いをなくす!? 夏休みを乗り切る 宿題プロジェクトマネジメント
nulabinc
PRO
2
280
Other Decks in Technology
See All in Technology
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
14
12k
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
380
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
200
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
110
UI State設計とテスト方針
rmakiyama
2
600
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
750
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
570
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Building Your Own Lightsaber
phodgson
103
6.1k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Faster Mobile Websites
deanohume
305
30k
Being A Developer After 40
akosma
87
590k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Into the Great Unknown - MozCon
thekraken
33
1.5k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
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