Amazon Cloudwatch Alarm の設定をcsvで管理する
株式会社Goals / 間橋悠
メンバー / インフラエンジニア / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
アラート通知 | 11名〜50名 | 2023年2月 | B to B |
利用機能 | アラート通知 |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2023年2月 |
事業形態 | B to B |
アーキテクチャ
アーキテクチャの意図・工夫
特別な知識や特定の人じゃないとできないということを考慮し、誰でも確認可能なcsvファイルで管理できるようにしています。
自社に関わらず誰でも使えるようにしたいという思いからGitHubリポジトリで公開しています。
https://github.com/Myabaou/cdktf-cwalarm
CDK For Terraform(TypeScript)で実装していますが、TerraformやTypeScriptの知識なしでも運用できるように意識しています。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
アラート監視自体は行なっていたものの、AWSの設定変更したあとに監視設定変更するのが漏れてしまったり、現状の監視設定がどうなっているのか不明で同じような監視設定が重複してしまうといった状態が起こっていました。
例えばRDSのCPU監視で単純に80%以上になったらアラート発報という設定をした場合、一時的なのかそれとも継続して発生しているのかということでアラートがノイズになる傾向がありました。
元々別の監視プロバイダーでアラート設定していましたが、WEB操作にて設定しており、なんの設定がされているか変更履歴などが見えにくい状態となっておりました。
どのような状態を目指していたか
アラートは発報したら何かしらのアクションが決まっているものをアラートとして定義し、時間経過によって解消するものはアラートとしてあげないように定義しました。
監視すべきリソースが変更された場合、変更されたことをトリガーとして監視設定の対象リソースも変更されることで、監視設定の変更漏れなどが防げる状態を目指していました。
比較検討したサービス
- Datadog
比較した軸
アラーム設定を手動で行うとミスだったり、時間が膨大にかかったりするので、Infrastructure as Codeで設定できるかどうかという点
選定理由
監視の設定で状態が一時的なのか継続して発生しているのか ということをアラートとしてキャッチしたかったのでAmazon CloudWatch Alarmを選定しました。CPUが5分間隔で一時的に90%以上になるのは問題ないと考えていますが、 5分 × 3回で15分間90%以上となっているのはアラートとしたいという要件でAmazon CloudWatch Alarmの設定のシンプルさが決め手になりました。
導入の成果
改善したかった課題はどれくらい解決されたか
今まではアラートが多く重要なアラートも見逃してしまうこともあったのですが、アラートが整理されノイズが減ることでアラートをちゃんと見れるようになりました。
どのような成果が得られたか
アラート設定もコード管理することで似たようなアラート設定をコピー&ペーストした後に値の変更で完了するようになったので、アラート設定する作業工数削減にも効果が得られました。
導入時の苦労・悩み
Amazon CloudWatch Alarmへの移行にあたり、既存の監視設定と2重で発報しないように照らし合わせる作業が大変でした。
導入に向けた社内への説明
上長・チームへの説明
アラート設定をコード管理し変更要件や履歴を追うことができるべきという方針のもと意思決定しました。
活用方法
AWSが監視設定のベストプラクティスを公開してくれているのでそれをベースに監視設計および設定をおこなっています。
よく使う機能
主にパフォーマンス監視に利用しています。
ツールの良い点
- AWSリソースとの親和性が高くアラート検知後にAWSリソースに何かしらアクションを起こすといったことも設定しやすい
- AWS公式で推奨の監視設定が公開されている
ツールの課題点
- 推奨の監視設定が公開されているが、大量の監視設定を行う場合、IaCやCLIで行うようにしないと工数がかかる
ツールを検討されている方へ
Amazon CloudWatch AlarmはAWSを利用していれば即座に利用できるため初期設定するケースが多いと思います。 ただ、最初のほうは頑張って設定したとしても開発者体験が良くないとシステムの変更などにより、意味のないアラートなどが生まれてきてしまう可能性があります。なので監視設計は初期設定で完了するのではなくシステムが継続する限り続く前提で運用を決めていったほうが良いと考えています。
今後の展望
現状はアラート監視設定と監視対象のリソースを別々で管理しています。監視対象リソースの変更が入った場合は動的に監視設定も変更するようにし、監視設定の負担を軽減しつつ、適正なアラート設定してある状態を保つようにしていきたいと考えてます。
株式会社Goals / 間橋悠
メンバー / インフラエンジニア / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
2018年 某予約サイト SRE マネージャーとして活動 Terraformの新規導入や新規プロダクトの設計および構築 新卒メンバーの教育などに従事 2023年 株式会社Goals入社 コード管理されていないAWSリソースやDatadogの設定のIaC化・IaC化に伴いGitHubActionsを利用したインフラ設定のCI/CD設計・GitHub Copilotの導入設計設定 ・ポストモーテム文化の導入 ・ リザーブドインスタンスおよびSavingsPlansやAurora I/O最適化などのコスト削減施策実施・セキュリティ対策
よく見られているレビュー
株式会社Goals / 間橋悠
メンバー / インフラエンジニア / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
2018年 某予約サイト SRE マネー...
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法