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

Observability による高可用性最後の難関Gray Failureの突破と実践

Mitsuaki Tsugo
March 18, 2025
450

Observability による高可用性最後の難関Gray Failureの突破と実践

JAWS-UG SRE支部 #11 での資料です。
AWS re:Invent 2024でのStripe社のセッションから高い可用性に向けた取り組みやグレー障害への対応をご紹介し、CloudWatchを活用した観測の取り組みをご紹介しています。

Mitsuaki Tsugo

March 18, 2025
Tweet

Transcript

  1. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS re:Invent 2024 re:Cap Observability による⾼可⽤性最後の難関 Gray Failureの突破と実践 Mitsuaki Tsugo J A W S-U G SRE 支 部 # 1 1 Amazon Web Service Japan G.K. Solutions Architect
  2. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 2 ⾃⼰紹介 津郷 光明 Mitsuaki Tsugo アマゾンウェブサービスジャパン ソリューションアーキテクト • 製造業のお客様を中⼼にご⽀援しています。 • Observability / IaC x GenAI が最近のテーマ
  3. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. AWS re:Invent 2024 イベント概要 • AWSによるクラウドコンピューティングに関する世界最⼤規模の「学習型」 カンファレンス • 2024/12/2 ~ 6 の 5 ⽇間 • 基調講演、AWSエキスパートによる特定トピックのInnovation Talks、 多数のブレイクアウトセッションなど、様々なコンテンツを提供 • re:Play Party などの ”Fun”イベントも各種開催 参加者: 6 万⼈ (40 万⼈がオンラインで参加)
  4. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 6 Gray Failureの定義と特徴 Gray Failure(グレー障害)とは、 • 完全な障害ではなく、部分的または断続的に発⽣する微妙な問題 • 通常の障害と異なり、検出が難しく、システムの信頼性に⼤きな影響を与える
  5. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Gray Failureの具体例(セッションから) • ⾼いディスクレイテンシ • ⾼いネットワークレイテンシ • ノイジーネイバー問題 障害とは判断されないが、ユーザー体験に影響を与える可能性が⾼い Gray Failureをいかに早く検知・対処するかがサービスの信頼性に直結する
  6. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 8 ⾼い可⽤性がもとめられたら︖
  7. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. アーキテクチャ ⾼可⽤性の実現に向けたアプローチ 観測 対処 予防
  8. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Stripeが取り組んだアプローチ • セルベースアーキテクチャ • カオステストとフォールトインジェクション • 継続的デリバリーとリトライメカニズム • グレー障害(Gray Failure)への対応
  9. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 14 ⾼可⽤性へのアプローチ(Stripeの例) ⾼い可⽤性を実現するために必要な2つのサイクル アーキテクチャ 観測 対処 予防 カオステスト・ フォールトイン ジェクション Gray Failureへの 対応 セルベース アーキテクチャ リトライ メカニズム
  10. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. アーキテクチャ オブザーバビリティ が可⽤性向上の基本 まずはここから取り組む 観測 対処 予防
  11. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Stripeが取り組んだアプローチ • セルベースアーキテクチャ • カオステストとフォールトインジェクション • 継続的デリバリーとリトライメカニズム • グレー障害(Gray Failure)への対応
  12. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Stripeが実施したGray Failure対策 1. EBSの詳細なメトリクス収集 • データベースストレージをシンプル化・⾼速化のためAmazon EBSに移⾏ • CloudWatchを利⽤した詳細なメトリクスの収集・監視 • IOPS/スループット制限到達を⽰すメトリクス • ボリューム故障の可能性を通知するメトリクス など 2. 異常検知システムの構築 • リクエストレイテンシーを指標として異常検知を実施 • 他のノードと⽐較して異常なレイテンシーを⽰すノードをトラフィックから除外 3. ⾃動修復システムの構築 • 「機械にやらせるべき仕事を⼈にさせない」という原則 • データベースのプライマリノード⾃動切り替え
  13. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. アーキテクチャ どう実装するか︖ 観測 対処 予防
  14. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Auto-scaling and serverless 監視の集約 分析・トラブルシュート Amazon CloudWatch A W S の リ ソ ー ス 、 ア プ リ ケ ー シ ョ ン 、 オ ン プ レ ミ ス の モ ニ タ リ ン グ サ ー ビ ス ⽣成 AI を利⽤した状況把握・運⽤改善 ⾃動アクション
  15. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. CloudWatch Application Signals によるスパンの可視化 • 従来の X-Ray だと • ベストエフォートでのトレース取得 • リクエスト全ての調査を⾏う場合コストが⾼額になる • 実現すること • すべてのトランザクションスパンを構造化されたログ として⼤規模に取り込み、ログとして分析可能 § Lambda で構築されたサーバーレスアプリケーションの パフォーマンスも簡単に監視可能 § 新しい料⾦体系も発表済み 全てのスパンを利⽤してサービス間の通信に関する詳細な調査が可能に re:Invent 2024 update
  16. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 21 CloudWatch Logs と OpenSearch が Zero-ETL 統合 CloudWatch へのインサイト集約と分析ツールの統⼀で分析の⼿間を削減 • 課題 • CloudWatch のログを慣れた OpenSearch で分析す るためには ETL パイプラインの構築が必要 • 実現できること • CloudWatch Logs Insights で、OpenSearch SQL と PPL (パイプ処理⾔語) が利⽤可能に • Zero-ETL 統合によりデータをコピーせずに CloudWatch のログを OpenSearch 上で分析可能 https://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/direct-query.html#direct-query-cloudwatch-logs-regions-table • 追加料⾦なし • OpenSearch から CW Logs へのダイレクトクエリをサポートしているリージョンで 利⽤可能 (東京リージョン含む ) re:Invent 2024 update
  17. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stripe の活動をヒントとした Gray Failureの対応にむけた Amazon CloudWatch の活⽤ 22
  18. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. オブザーバビリティのプロセス 収集実装 データ加⼯ 保管設定 ⽬的別 ダッシュボード 原因分析 相関分析 事象連絡 ⾏動へ Gray Failureに対する取り組みでも基本的な流れに変わりはない 計装 収集/保管 可視化 分析 通知
  19. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. オブザーバビリティのプロセス Gray Failureに対する取り組みでも基本的な流れに変わりはない 計装 収集/保管 可視化 分析 通知
  20. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 25 まずはテレメトリデータの収集から Observability Collectors and SDKs Container insights Lambda insights Contributor insights Application insights Synthetics Dashboards Alarms AWS Services Amazon CloudWatch Open source managed services Amazon Managed Grafana Third-party solutions Metrics CloudWatch agent AWS Distro for OpenTelemetry Internet monitor Logs Amazon OpenSearch Service Amazon Managed Service for Prometheus Fluent Bit RUM AWS X-Ray Amazon CloudWatch Application Signals テレメトリデータの収集無くして現状把握、分析、障害対応は不可能 • 全てのTierでログ、メトリクス、 トレースを取得する • CloudWatch Agentも進化し OpenTelemetryをサポート • CloudWatch Application Signalsなど、 テレメトリの収集からビルドイン ダッシュボードでの可視化、詳細分 析がAWSに閉じて可能 • 簡単に導⼊可能なEKS add-onなども 提供されている
  21. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. オブザーバビリティのプロセス Gray Failureに対する取り組みでも基本的な流れに変わりはない 計装 収集/保管 可視化 分析 通知
  22. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. CloudWatch Application Signals でレイテンシ 傾向を簡単に確認 Trace Map Service 詳細 サービス単位でのレイテンシ増加やリクエスト数の傾向分析が簡単に開始可能 • ビルドインダッシュボードで傾向分析 やトレースの詳細確認が可能 • SLOモニタリングも具備
  23. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 28 EBSメトリクスによるGray Failure検出 https://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/ebs-io-characteristics.html#ebs-io-metrics EBSに関して重要な2つのメトリクス 1. VolumeStalledIOCheck - 名前空間:EBS - 過去 1 分間にボリュームの IO チェックに合格したか失敗したかを 0 (合格) または 1 (不合格)で返す - 値が1である場合、ボリュームのI/O操作に問題が発⽣している可能性が⾼い 2. StatusCheckFailed_AttachedEBS - 名前空間:EC2 - 直近 1 分間でインスタンスがアタッチ済みの EBS ステータスチェックに成功したか どうかを 0 (合格) または 1 (失敗) で返す - 値が1である場合、インスタンスとボリューム間の接続に問題がある可能性が⾼い EBS に関する詳細なメトリクスを確認することで異常を検出可能
  24. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. • メトリクスの過去のデータに機械学習アルゴリ ズムを適⽤して、メトリクスの期待値を作成。 • モデルは、メトリクスのトレンドと時間単位、 ⽇単位、週単位のパターンの両⽅を評価。 • アルゴリズムは最⼤ 2 週間のメトリクスデータ を対象にするが、メトリクスに 2 週間のデータ が含まれていない場合でも、異常検出を有効に できる。 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html EBS VolumeTotalReadTimeでの Anomaly Detection活⽤例 通常の利⽤から逸脱していることがわかる CloudWatch Anomaly Detectionによる⾃動異常検出
  25. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 30 CloudWatch Contributor Insightsによる異常検出 CloudWatch Contributor Insights ruleを利⽤することでピア分析も可能 CloudWatch Alarmと連携し、⾃動的な対応アクションに繋げる { "AggregateOn": "Count", Contribution": { "Filters": [ { "Match": "$.stream", "In": [ "stderr" ] } ], "Keys": [ "$.kubernetes.pod_name ", "$. kubernetes.namespace_name", "$.kubernetes.host" ] }, "LogFormat": "JSON", "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "LogGroupARNs": [ "arn:aws:logs:region:accountid:log-group:/group" ] } ルールの定義 ピア分析︓ 同様のリソースやインスタンス間でのパフォーマンスや動作を⽐較 することで異常を検出する⼿法
  26. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. オブザーバビリティのプロセス Gray Failureに対する取り組みでも基本的な流れに変わりはない 計装 収集/保管 可視化 分析 通知
  27. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 32 複合アラームの利⽤ 複数のアラームを 1 つの複合アラームにまとめて、アプリケーション全体での ヘルスインジケーターを作成可能 EBSでのGray Failure検知に向けた複合アラームの例(閾値は仮値) ALARM ( EBSレイテンシ ) AND ( ALARM ( I/Oキュー⻑ ) OR ALARM ( スループット低下 ) EBSレイテンシ OR演算 AND EBSレイテンシアラーム VolumeTotalReadTime / VolumeReadOps > 20s VolumeTotalWriteTime / VolumeWriteOps > 20s I/Oキュー⻑ スループット 低下 OR I/Oキュー⻑アラーム VolumeQueueLength > 5 スループット低下アラーム VolumeReadBytes < 期待値の70% VolumeWriteBytes < 期待値の70%
  28. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ⼤切なこと 最初から全てをやろうとしない(不可能) ⼩さな取り組みを1つ1つ積み上げることが⼤事
  29. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 本セッションのまとめと提案 押さえていただきたいポイント • 優れたアーキテクチャや優れた習慣だけでは不十分で、 優れたオペレーションが必要(今回はObservabilityを中⼼に説明) • Gray Failureはユーザー体験に影響するが検出が難しい(⾼可⽤性への最後の壁) • 必要なメトリクスを取得し分析する • ⼩さく始め、継続的かつ段階的な改善に取り組む 次のステップへの提案 • 明⽇から始められること︓テレメトリデータの収集と重要なメトリクスの特定
  30. © 2025, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Thank you! © 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved. Mitsuaki Tsugo Solutions Architect