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

Amazon CloudWatchで小さく始めるWebサービスのオブザーバビリティ / How...

SMS tech
October 10, 2024

Amazon CloudWatchで小さく始めるWebサービスのオブザーバビリティ / How to start Observability for Web Sevices with Amazon CloudWatch

SMS tech

October 10, 2024
Tweet

More Decks by SMS tech

Other Decks in Technology

Transcript

  1. © SMS Co., Ltd. 加我 貴志 (株式会社エス・エム・エス) JAWS FESTA 2024

    (2024/10/12) Amazon CloudWatchで小さく始める Webサービスのオブザーバビリティ
  2. © SMS Co., Ltd. 1. 2. 3. 4. 自己紹介 オブザーバビリティってなんだっけ

    AWSでオブザーバビリティを始める まとめ 目次
  3. © SMS Co., Ltd. 自己紹介 • 加我 貴志 (@TAKA_0411) •

    株式会社エス・エム・エス プロダクト推進本部 カイポケ開発部 SRE • AWS Community Builder (Cloud Operations, 2023 -) • Media-JAWSの運営やっています
  4. © SMS Co., Ltd. オブザーバビリティに関するよくある勘違い ツール (SaaS) を導入すれば実現できる - ツールの導入はHowでありWhyではない

    オブザーバビリティは不要、モニタリングで十分 - マイクロサービスなどの複雑なシステムでは モニタリングだけでは原因特定に不十分なケースがある
  5. © SMS Co., Ltd. オブザーバビリティってどういうこと? オブザーバビリティとは - システムの内部状態を理解するためのアプローチ - システムが生成するデータ

    (テレメトリーデータ) を 収集、分析することで様々な洞察が得られる - 分散システムにおけるモニタリング、デバッグ、トラブルシュー ティングの複雑さを解消する
  6. © SMS Co., Ltd. システムが生成するデータってなに? Telemetry correlation for deeper insights

    https://ubuntu.com/observability/what-is-observability システムが生成する様々なデータのうち、 指標 (メトリクス) 、ログ、トレースなどのデータを テレメトリーデータと呼ぶ
  7. © SMS Co., Ltd. モニタリングとオブザーバビリティ モニタリング - 特定の条件や閾値を設定し、システムの状態を定期的にチェックするのが目的 - システムエラーの

    「いつ」 「何が」 発生したのかを明らかにする オブザーバビリティ - システムの内部状況を包括的に把握し、問題の予防や迅速な原因特定を目指す - システムエラーの 「なぜ」 「どのように」 発生したのかを明らかにする
  8. © SMS Co., Ltd. オブザーバビリティと 「未知の未知」 Observability in Microservices Architecture

    https://www.codvo.ai/post/observability-in-microservices-architecture 既知の既知 (Known Knowns) とは事実である 既知の未知 (Known Unknowns) とは仮説である 未知の既知 (Unknown Knowns) とは仮定である 未知の未知 (Unknown Unknowns) とは発見であり、予測不可能である
  9. © SMS Co., Ltd. AWSのオブザーバビリティサービス Amazon CloudWatch - AWSのサービスなどから主要なテレメトリーデータを収集 -

    CloudWatch Metrics - CloudWatch Logs - CloudWatch Application Signals (Trace) - データ収集以外にも多数の機能がある
  10. © SMS Co., Ltd. Amazon CloudWatchの機能一覧 Amazon CloudWatchの概要と基本 : AWS

    Black Belt Online Seminar https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AmazonCloudWatch_0330_v1.pdf 2023年3月の資料なので Application Signals (Trace)はまだない
  11. © SMS Co., Ltd. Amazon CloudWatchの嬉しいところ - ほぼ全てのAWSサービスからメトリクスを取得できる - 特に難しい設定なし☺

    - お手軽にログを保存できる - 多少の設定を追加すればOK☺ - 最近になりトレースにも対応! - 主要なテレメトリーデータが揃いそう☺
  12. © SMS Co., Ltd. Amazon CloudWatchの惜しいところ - ログの取り込みが高い😭 - DataProcessing-Bytes

    (PutLogEvents) - 保存は安い ($0.033/圧縮された GB) - トレースに対応している言語が少ない😭 - 2024年10月時点でJavaとPythonのみ - 今後のアップデートに期待! スタンダード $0.76/GB 低頻度アクセス $0.38/GB (東京リージョン)
  13. © SMS Co., Ltd. オブザーバビリティのはじめかた 1. 主要なテレメトリーデータを収集する - メトリクス -

    ログ - トレース 2. 収集したデータを分析できるようにする - 今回は対象外 (ごめんなさい)
  14. © SMS Co., Ltd. テーマ : シンプルなWebサービス フロントエンド (ユーザー体験) バックエンド

    (インフラ) ビルド / デプロイ パイプライン セキュリティ 今回はフロントエンドと バックエンドにフォーカス
  15. © SMS Co., Ltd. 1. フロントエンドモニタリング フロントエンド (ユーザー体験) ビルド /

    デプロイ パイプライン セキュリティ バックエンド (インフラ)
  16. © SMS Co., Ltd. 1. フロントエンドモニタリング CloudWatch RUMを使うと ユーザーの行動情報のログや メトリクスを取得できる

    CloudFrontが出力するメトリクスや リアルタイムログをCloudWatchへ 送信 CloudWatch Syntheticsを使うと 対象のURLにアクセスしてみた結果の メトリクスやトレースを取得できる
  17. © SMS Co., Ltd. 2. バックエンドモニタリング ビルド / デプロイ パイプライン

    セキュリティ バックエンド (インフラ) フロントエンド (ユーザー体験)
  18. © SMS Co., Ltd. 2. バックエンドモニタリング ALBやFargateが出力する メトリクスをCloudWatchへ 送信 Application

    Signalsを使うと リクエスト単位のトレースを 取得できる データストアのサービスが 出力するメトリクスを CloudWatchへ送信 タスクやDBのログを CloudWatch Logsへ 送信
  19. © SMS Co., Ltd. Amazon CloudWatch or Observability SaaS Q

    オブザーバビリティのSaaSって便利なんですか? A 餅は餅屋、うまく使いこなせれば大きなメリットがあります。 (ただし、使いこなすためにはツールへの理解が必要) Q オブザーバビリティのSaaSが有効なケースは? A 複数のクラウドやSaaSと連携する場合は一箇所にデータを 収集し横断的に分析することができます。
  20. © SMS Co., Ltd. Amazon CloudWatch or Observability SaaS Q

    オブザーバビリティのSaaSって高いんでしょう? A 際限無くデータを取得すればとてーーーーーーも高いです。 また、インフラと別で予算が必要なケースが多いため、 Amazon CloudWatchと比較して割高に見えます。 Q オブザーバビリティSaaSを導入する場合のオススメは? A DatadogかNew Relicが無難だと思います。 (ユースケースと利用する組織の規模によります)
  21. © SMS Co., Ltd. Amazon CloudWatch or Observability SaaS Amazon

    CloudWatch Observability SaaS 導入 AWS上にワークロードがあればすぐに利用でき る。 アカウントのサインアップや初期設定など、 使えるまでに若干のタイムラグが発生。 機能 機能の追加はされているがSaaSほどの ペースではない。 機能の追加が多く、トレンドを先取りした便利な サービスが多い。フロントエンドやモバイルの可視化ま で幅広く対応。 他サービス との連携 SaaSなどとの連携が必要であれば、 自分で設定・構築する必要がある。 様々なサービスとの連携が可能なものが多く、 1つのObservability Platformで多くの データをモニタリングすることが可能。 コスト 主要なテレメトリーデータを低価格で収集 することができ、コスト分析にも優れている。 フロントエンドやモバイルのTraces、Logsはコスト急 増の可能性がある。CloudWatchからのデータ転送 を利用するとAWS側のコストも増加しがち。 サポート AWSサポートによる手厚いフォローが 期待できる。 英語のみの対応など、場合によりサポート品質に ばらつきがある可能性がある。