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 株式会社ヌーラボ
ライティングチームだからこそできた、「どことでも繋がれるチーム」づくりの結果 / Technical Writing Meetup vol.38
nulabinc
PRO
0
30
4つの基本的な組織形態を知る ~ミンツバーグの組織論 7つの類型と力学、そしてその先へ~ より GWD in Nagoya
nulabinc
PRO
2
97
必要なのは客観性。組織変革をもたらす、より良い「対話」を生み出すための活動 #scrummikawa
nulabinc
PRO
3
1k
悪い実装例から学ぶ ウェブアクセシビリティ改善のヒント
nulabinc
PRO
1
320
ヌーラボカスタマーサクセスチームのBacklog活用
nulabinc
PRO
0
280
言葉で「ヌーラボらしさ」をどう届ける? グローバルチームでコラボレーションする大切さ
nulabinc
PRO
1
100
タスクの可視化は争いをなくす!? 夏休みを乗り切る 宿題プロジェクトマネジメント
nulabinc
PRO
2
260
情シスの申請業務におけるBacklog活用術
nulabinc
PRO
0
300
Backlogと業務プロセスのちょっといい関係
nulabinc
PRO
0
270
Other Decks in Technology
See All in Technology
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
310
SSMRunbook作成の勘所_20241120
koichiotomo
2
140
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
110
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
800
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
600
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Producing Creativity
orderedlist
PRO
341
39k
Speed Design
sergeychernyshev
25
620
The Invisible Side of Design
smashingmag
298
50k
Become a Pro
speakerdeck
PRO
25
5k
Designing for humans not robots
tammielis
250
25k
Designing for Performance
lara
604
68k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Teambox: Starting and Learning
jrom
133
8.8k
Building Adaptive Systems
keathley
38
2.3k
Stop Working from a Prison Cell
hatefulcrawdad
267
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