Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CloudWatchアラームによるサービス継続のための監視入門 / Introduction...

inomaso
July 31, 2022

CloudWatchアラームによるサービス継続のための監視入門 / Introduction to Monitoring for Service Continuity with CloudWatch Alarms

Talked at "DevelopersIO 2022 #devio2022"

inomaso

July 31, 2022
Tweet

More Decks by inomaso

Other Decks in Technology

Transcript

  1. 2 自己紹介 猪股 翔(inomaso) • 2021年1月入社 (元金融系SIer)
 • AWS事業本部コンサルティング部
 •

    好きなAWSサービス
 ◦ AWS Certificate Manager
 ◦ Amazon CloudWatch
 • 好きなIaCツール
 ◦ Terraform @inomasosan

  2. 16 EC2の標準メトリクス関連だけでも結構ある CPU 使用率 EC2 ステータスチェック EBS 読み書き操作 CPU クレジット

    ネットワーク送受信 バイト数 インスタンスストア 読み書き バイト数 インスタンスストア 書き込み操作数 EBS 読み書きバイト数
  3. 17 よくある監視アンチパターン • CPUやメモリ使用量を80%で一律監視 ◦ バッチ処理等で夜間にCPU使用率が急上昇するのは正常動作 ◦ CPUが100%でもサービス継続に問題ない • 「*error*

    || *warn*」等のログ監視 ◦ 大量のアラートが出力され狼少年になってしまう • 通知後の復旧手順がない ◦ 通知に対して次に何を実行すべきかの手順が必要
  4. 22 ELB(ALB) • TargetResponseTime ◦ リクエストがロードバランサーから送信され、ターゲット(EC2)か らの応答を受信するまでの経過時間 (秒) ◦ Webサイトやアプリケーションの応答遅延に直結

    • UnHealthyHostCount ◦ ロードバランサーに登録された異常なターゲット(EC2)の数 ◦ EC2のWebサーバソフトや応答遅延等が原因で、ロードバラン サーからのヘルスチェックが失敗することで発生する
  5. 25 EC2 • StatusCheckFailed_Instance ◦ 1 分間にEC2インスタンスがインスタンスステータスチェックに失 敗した場合に1 (失敗) となる

    ◦ EC2内のソフトウェア、ネットワーク起因によるEC2自体の障害 を検知可能 ◦ CloudWatchアラームのアクションからEC2の再起動を実行する ことで、OSが再起動されるため一時的原因の場合は回復が見 込める。
  6. 26 EC2 • StatusCheckFailed_System ◦ 1 分間にインスタンスがシステムステータスチェックに失敗した 場合に1 (失敗) となる

    ◦ 物理ホストの電源障害やネットワーク接続喪失など、AWSの基 盤の問題によるダウンを検知可能 ◦ Auto Recoveryと呼ばれる、CloudWatchのアクションからEC2の 復旧を実行することで、EC2インスタンスを新しいホストへ置き 換えられる ▪ 2022/3/30のアップデートで、EC2インスタンスのAuto Recoveryはデ フォルトで有効 ▪ https://dev.classmethod.jp/articles/amazon-ec2-now-performs-auto matic-recovery-of-instances-by-default/
  7. 27 EC2 • メモリやディスク使用率のカスタムメトリクス ◦ メモリやディスク不足を検知可能 ◦ EC2内のプロセス停止やファイル作成・更新不可等を防ぐこと が可能 ◦

    EC2のメモリや、EBSのディスク使用率は標準メトリクスにないた め、CloudWatch Agentを導入し追加取得が必要 ▪ https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitorin g/create-cloudwatch-agent-configuration-file-wizard.html#cloudwatc h-agent-preset-metrics
  8. 28 RDS • FreeStorageSpace ◦ RDSの使用可能なストレージ容量 ◦ ストレージの枯渇により、DBインスタンスの停止を防ぐことが可 能 ◦

    ストレージの自動スケーリング機能はあるが、以下の制約があ るため、急激かつ継続的にストレージの使用量が増加する場 合に監視が必要 ▪ 最後のストレージ変更から 6 時間以上経過しないと、スケーリングで きない
  9. 29 まとめ • まずはCloudWatchアラームのシンプルな監視からやって みる • WebページやAPIエンドポイントの外形監視(URL監視等)が 必要であれば、CloudWatch Syntheticsの導入検討 ◦

    https://dev.classmethod.jp/articles/amazon-cloudwatch-synthe tics/ • CloudWatchの運用知見が溜まり、追加の要望が見えてき たら他のクラウド監視サービスも検討してみる