Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CloudWatch で APM
Search
Kento Kimura
PRO
January 18, 2024
Technology
0
1k
CloudWatch で APM
18th Jan, Jr. Champions 勉強会 #8
Kento Kimura
PRO
January 18, 2024
Tweet
Share
More Decks by Kento Kimura
See All by Kento Kimura
Jagu'e'r Advent Calendar でコミュニティを盛り上げよう / Join us the community with Jagu'e'r Advent Calendar
aoto
PRO
0
33
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
1.2k
「最速」で Gemini CLI を使いこなそう! 〜Cloud Shell/Cloud Run の活用〜 / The Fastest Way to Master the Gemini CLI — with Cloud Shell and Cloud Run
aoto
PRO
1
240
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
720
予測から調査へ、AI エージェントで叶える AIOps の未来 / From Prediction to Investigation: The Future of AIOps with AI Agents
aoto
PRO
0
110
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
530
Datadog による AI エージェント オブザーバビリティの最前線 / The Frontlines of AI Agent Observability by Datadog
aoto
PRO
0
96
プラットフォームとしての Datadog / Datadog as Platforms
aoto
PRO
2
640
Cloud Run を解剖して コンテナ監視を考える / Breaking Down Cloud Run to Rethink Container Monitoring
aoto
PRO
0
230
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
830
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
750
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
250
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
180
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
520
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
210
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
210
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
12
5.7k
ウェルネス SaaS × AI、1,000万ユーザーを支える 業界特化 AI プロダクト開発への道のり
hacomono
PRO
0
110
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
610
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
220
Featured
See All Featured
Scaling GitHub
holman
464
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
730
[SF Ruby Conf 2025] Rails X
palkan
0
530
How GitHub (no longer) Works
holman
316
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Designing for Performance
lara
610
69k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Transcript
CloudWatch で APM 18th Jan, Jr. Champions 勉強会 #8 Kento
Kimura
Observability = Observe + Ability
O11y = Observe + Ability
APM APM = Application Performance Monitoring
Self-Introduction • 所属:Technical Solutions / Sales Engineer • 担当:パブリッククラウドのアーキテクト知識を活かした Datadog
のプリセールス技術支援 • 資格:Google Cloud 全 11 資格、AWS 全 12 資格、Azure 13 資格 • 表彰:Google Cloud Partner Top Engineer 2023-24 2022-23 APN All AWS Certifications Engineer 2023 Japan AWS Jr.Champion 木村 健人 (Kento Kimura) Datadog Japan GK History データセンター運用保守 → パブリッククラウド技術支援 → プリセールス技術支援 Community Jr. Champions Meetup, JAWS, Jagu'e'r, CloudNative Partner Top Engineer 2023 Partner Top Engineer 2024
Agenda 6 01 そもそも APM ってなに? 02 AWS の APM
ツール 03 では CloudWatch の APM とは? 04 まとめ
7 そもそも APM ってなに?
APM = Application Performance Monitoring
Application Performance Monitoring とは ソフトウェアツールとテレメトリデータを使用して、 ビジネスクリティカルなアプリケーションのパフォーマンスをモニタリングするプロセス ソフトウェアツール: 監視エージェントや Software Development
Kit(SDK) などのツール AWS では CloudWatch Agent, X-Ray SDK など テレメトリデータ: CPU 使用率・応答時間・エラー率・レイテンシーなどの監視情報 APM では主にアプリケーションの指標である RED メトリクスを重視 9 引用「APM (アプリケーションパフォーマンスモニタリング ) とは何ですか ?」https://aws.amazon.com/jp/what-is/application-performance-monitoring/ “ “
RED メトリクスのいろは • Requests: アプリケーション処理がリクエストされた回数。処理の種類毎に分類する。 • Errors: アプリケーションエラーの発生した回数。エラー率を指標とすることが多い。 • Duration:
アプリケーションの処理にかかる時間。p50, p75, p90, p95 などを参照する。 RED メトリクスのようなアプリケーションのメトリクスを把握することで、 CPU・メモリ・ディスクの使用率、ネットワークトラフィックなどのメトリクスに比べ より利用者の体験に即した指標をもとに意思決定ができる。 他にも USE メソッドやゴールデンシグナルなどがあるが、今回は割愛… アプリケーション処理の統計メトリクスだけではなく、 処理毎のパフォーマンスを見るには分散トレーシングが重要 10
分散トレーシングのいろは アプリケーションの処理毎にパフォーマンスを記録する手法は、 従来はアプリケーションログを詳細に設計する必要があった。 処理毎にログを記録すると、情報量とストレージ容量が膨大となる アプリケーション処理の開始・終了時点と最低限のコンテキストを記録して HTTP リクエストでアプリケーション間の依存関係を可視化する 分散トレーシング:情報量を削減し、複雑な処理をフレームグラフで可視化する HTTP リクエストを行うマイクロサービス間の処理も可視化できる
フレームグラフ: 11
12 AWS の APM ツール
AWS の Application Performance Monitoring 13 ADOT (AWS Distro for
OpenTelemetry) AWS X-Ray
AWS の APM はどうなっていたか AWS X-Ray • 2017/4 GA(一般公開) •
CloudWatch と別のエコシステム ◦ SDK でコードに組み込み ◦ Daemon で監視情報の集約 ◦ API で AWS へ連携 ◦ Browser で可視化 • 2019/11 CloudWatch ServiceLens • CloudWatch との連携(メトリクス・ログ) ◦ X-Ray と CloudWatch のテレメトリ(監視データ)が、 AWS Console 上で統合される 14 AWS X-Ray AWS Tools and SDKs AWS CLI X-Ray SDKs AWS Cloud Control API AWS Management Console X-Ray daemon
AWS の APM はどうなっていくか(予想) Amazon CloudWatch • AWS 上のリソースをリアルタイムに監視するソリューション •
2019/11 Console 上の X-Ray 統合 • 2021/11 ADOT(AWS Distro for OpenTelemetry) がアプリケーショントレースをサポート • 2023/8 CloudWatch Agent の X-Ray, OpenTelemetry サポート • 2023/11(AWS re:Invent 2023) CloudWatch Application Signals(preview) が発表 CloudWatch のエコシステムを中心に APM のサポートを拡大していきそう 15
16 では CloudWatch の APM とは?
CloudWatch の APM = Application Signals Amazon CloudWatch Application Signals(preview)
CloudWatch Agent のデプロイできる、EKS, ECS, EC2 において、 X-Ray, ADOT の自動計装エージェントがアプリケーションパフォーマンスを監視するソリューション ※APM は言語毎に実装が異なり、現在は Java のみの対応 • X-Ray 独自の利点(SQS, SNS, EventBridge etc のトレース)を保ちながら、OSS である OpenTelemetry の恩恵を受けれらる • OpenTelemetry のエコシステムの拡大に合わせて、Application Signals も対応言語や 収集できるテレメトリを拡大できる • Management Console 上では Application Signals の専用ビューが用意されており、 サービスやトポロジーを監視するための情報を可視化できる 17
Appendix: 手動計装と自動計装 手動計装(Manual instrumentation) アプリケーションコードに 手動でSDK やライブラリを組 み込み、監視テレメトリデータを生成する 処理をコードに実装して、トレースを行う Goのコードへの実装例:
18 自動計装(Auto instrumentation) アプリケーションコードに変更を加えずに、 アプリケーション処理を動的にイジェクト(Java, Python) するツールを実装して、トレースを行う Java への実装例:.jar ファイル取得と-javaagent:引数の設定 import ( "os" "github.com/aws/aws-xray-sdk-go/awsplugins/ec2" "github.com/aws/aws-xray-sdk-go/xray" ) func init() { // conditionally load plugin if os.Getenv("ENVIRONMENT") == "production" { ec2.Init() } xray.Configure(xray.Config{ ServiceVersion: "1.2.3", }) } 引用「AWS X-Ray デベロッパーガイド」 https://docs.aws.amazon.com/ja_jp/xray/latest/devguide/ $ wget \ https://github.com/aws/aws-xray-java-agent/releases/latest/ download/xray-agent.zip disco ├── disco-java-agent.jar └── disco-plugins ├── aws-xray-agent-plugin.jar ├── disco-java-agent-aws-plugin.jar ├── disco-java-agent-sql-plugin.jar └── disco-java-agent-web-plugin.jar
19 まとめ
Amazon CloudWatch Application Signals 徹底解説 21 Application Signals についてまとめています!本日のお話しの続きで是非ご覧ください!
Thank you