Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS CDKで作るCloudWatch Dashboard
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Haruka Sakihara
March 22, 2023
Technology
2.9k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDKで作るCloudWatch Dashboard
23/3/22 JAWS-UG CDK支部 #6にて登壇
https://jawsug-cdk.connpass.com/event/274879/
Haruka Sakihara
March 22, 2023
More Decks by Haruka Sakihara
See All by Haruka Sakihara
LLMにもCAP定理があるという話
harukasakihara
0
600
ECSのTerraformモジュールにコントリビュートした話
harukasakihara
2
470
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
7
990
すごいぞManaged Kubernetes
harukasakihara
1
550
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
480
初めてのGoogle Cloud by AWS出身者
harukasakihara
2
1.1k
気軽に作ろう!自作AWS CDKコンストラクタ
harukasakihara
3
790
ECSサービスとEC2 AutoScalingの使い心地がほぼ同じな件(???)
harukasakihara
0
890
そのCIは本当に役に立ってますか?~ 高品質なCIプロセスを実現する設計術 ~
harukasakihara
10
2.9k
Other Decks in Technology
See All in Technology
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
680
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
27
15k
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
200
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
1
2.8k
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
120
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
100
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
110
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
170
Goodbye ShellScript, Hello File-based App
shunsock
0
140
Genieを崇めよ
kameitomohiro
0
160
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
160
データ_AIの事業の勝敗をわけるもの
nek0128
1
420
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
670
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
We Are The Robots
honzajavorek
0
380
The Mindset for Success: Future Career Progression
greggifford
PRO
0
500
Prompt Engineering for Job Search
mfonobong
0
450
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Producing Creativity
orderedlist
PRO
348
41k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
320
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Transcript
AWS CDKで作る CloudWatch Dashboard Wednesday, March 22, 2023 Haruka Sakihara
JAWS-UG CDK支部 #6
自己紹介 Haruka Sakihara <取得資格> • ネットワークスペシャリスト試験(IPA) • AWS Certified Advanced
Networking Speciality等8資格 <所属> • アクセンチュア株式会社 テクノロジーコンサルティング本部 <登壇履歴> • 21/11/13 Go Conference 2021 Autumn • 22/3/14 JAWS-UG 朝会 #31 「AWS AssumePolicyの転びどころ」 • 22/8/5 CloudNative Security Conference 2022 「セキュアなTerraformの使いかた」 • 22/8/25 HashiTalks: JAPAN 「ベストなTerraformディレクトリ構成を考察してみた」 <趣味> • Go言語が好きです
AWS CDKで作る CloudWatch Dashboard Agenda ダッシュボードの重要性 CloudFormationでCloudWatch Dashboardを構築する CDKで作るダッシュボード CDKだからこその利点
まとめ 1 2 3 4 5
1. ダッシュボードの重要性 わかりやすいダッシュボードの重要性 サービスダッシュボードは、定常運用時には障害の予兆をいち早く見つける・障害発生時には迅速に 原因を把握し事態に対処するための助けとなります。クラウド上に構築したサービスを運用するにあ たって、ダッシュボードは必需品といっても過言ではないでしょう。 定常運用時 障害発生時 監視・観察 ◦◦のメトリクス値が上がってる……
いつもと傾向が違うぞ……? →障害予兆の発見・早期対策へ 確認 怪しいのは××と△△だ! →事態の早期終息へ いついかなる時でも、ダッシュボードを活用できることは重要
1. ダッシュボードの重要性 ダッシュボードの見た目の重要性 サービスを運用するうえで、適切なウィジェットに適切な説明文を添えた、「誰が見ても監視ポイン トがわかるダッシュボード」の存在はとても重要です。 一目で見るべきポイントがわかる 適切な大きさのウィジェット 新任の運用担当 どこに注目すれば障害がわ かるんだ……?
1. ダッシュボードの重要性 ダッシュボードの見た目の重要性 サービスを運用するうえで、適切なウィジェットに適切な説明文を添えた、「誰が見ても監視ポイン トがわかるダッシュボード」の存在はとても重要です。 新任の運用担当 関連する項目は並べて 比較しやすいように ベテランの運用担当 この2つは連動しているから
まとめてチェックしてね 引き継ぎなかったらわか らなかっただろうな……
1. ダッシュボードの重要性 監視ダッシュボードをアップデートする 提供するサービスの内容がどんどん変わっていくのであれば、変化するアプリケーションに合わせて 適切に監視のポイントを変えることが重要になってきます。 サービスの成長とダッシュボードの保守管理は表裏一体だといえます。 画像出典: https://aws.amazon.com/jp/devops/what-is-devops/ サービスを開発・リリースする 稼働サービスをモニタリングして
改善点を見つける 正常稼働時の挙動を 把握する
1. ダッシュボードの重要性 ダッシュボードを更新し続けることの難しさ 開発に合わせてダッシュボードを適切に更新し続けるということは容易ではありません。多くの人が 「次のリリースでダッシュボードをどう変えるべきか?」を気にしながら進めるためには、ダッシュ ボードをIaC化しメンテナンス性を確保するのが有効な手段です。 当社のデベロッパー達は、変更を完了する前のコードレビューの段階で、「ダッシュボードで 何らかの更新が必要かい?」と質問をします。 基盤レベルで変更がデプロイされる以前に、 ダッシュボードの修正が行われる仕組みになっています。
出典: The Amazon Builders' Library - 運用を可視化するためのダッシュボードの構築 多くの人がメンテナンスできるように、 ダッシュボード構築・更新をコードで出来るようにするのが重要
Q. ダッシュボード構築を IaC化するにはどうすればいいでしょう?
AWS CDKで作る CloudWatch Dashboard Agenda ダッシュボードの重要性 CloudFormationでCloudWatch Dashboardを構築する CDKで作るダッシュボード CDKだからこその利点
まとめ 1 2 3 4 5
2. CFnでCloudWatch Dashboardを構築する イマイチな点その1 – 画面構成はJSON文字列で記述 CFnの文法に、ダッシュボードウィジェットに対応するものは存在しません。CloudWatch APIが提 供するDashboardBody属性の文法に則り、ウィジェットの情報をJSON文字列としてまとめ、それをCFn内に 埋め込む必要があります。
現状 - ウィジェットのプロパティがない 理想 - ウィジェットのプロパティがある DashboardBody: WidgetList: - name: ウィジェット1 place: xxxx - name: ウィジェット2 place: yyyy DashboardBody: [xxにウィジェット1を置いて、yyに ウィジェット2を置いて、それぞれ設定 は◦◦で~~~~~という設定文字列を JSONで書く] yamlという構造化文書の 性質を活かした記述ができる DashboardBodyの中身を 構造化することができない
2. CFnでCloudWatch Dashboardを構築する イマイチな点その1 – 画面構成はJSON文字列で記述 (前頁の続き) yamlファイルの1属性値に JSON文字列を書く必要がある
2. CFnでCloudWatch Dashboardを構築する イマイチな点その2 – マークダウンが書きづらい ダッシュボードのテキストウィジェットには、マークダウンを用いた記述を行うことができます。し かし、CFnのyaml上では、ウィジェットに載せるテキストの中身を一行の文字列にまとめる必要が あります。 ウィジェットに使いたいマークダウンの中身
CFnでの記述
2. CFnでCloudWatch Dashboardを構築する イマイチな点その3 – ウィジェットの座標指定 ダッシュボード上のどこに各ウィジェットを配置するかを、CFnでは座標で指定します。その具体的 な座標の数値を自力で計算して記述する必要があります。 (12, 25)
(18, 25) 6 6 6 6
AWS CDKで作る CloudWatch Dashboard Agenda ダッシュボードの重要性 CloudFormationでCloudWatch Dashboardを構築する CDKで作るダッシュボード CDKだからこその利点
まとめ 1 2 3 4 5
3. CDKで作るダッシュボード CDKでの記述方法 Goのような主要プログラミング言語でCWダッシュボードを記述することができます。
3. CDKで作るダッシュボード CDKでの記述方法 Goのような主要プログラミング言語でCWダッシュボードを記述することができます。 ダッシュボード を定義 ウィジェットを定義して ダッシュボードに追加
3. CDKで作るダッシュボード ウィジェットの配置 ダッシュボード内にウィジェットを配置する際にCFnの場合には座標指定が必要でしたが、CDKを使 用する場合には座標を気にせずに「いい感じ」に配置させることができます。 2つ同時に追加(AddWidgets)すると 2つ横に並んだ状態になる
3. CDKで作るダッシュボード ウィジェットの配置 ダッシュボード内にウィジェットを配置する際にCFnの場合には座標指定が必要でしたが、CDKを使 用する場合には座標を気にせずに「いい感じ」に配置させることができます。 1つずつ個別に追加(AddWidgets)すると 2つ縦に並んだ状態になる
3. CDKで作るダッシュボード テキストウィジェットの内容 CFnのときはテキストウィジェットの内容を一行の文字列にしてプロパティに指定してやる必要があ りましたが、CDKの場合は「マークダウンファイルに内容を記述し、それを読み込ませる」という ことが容易に実現できます。 .mdに内容を記述 CDKコード内で .mdの内容を参照
3. CDKで作るダッシュボード CFnへの変換 cdk synthコマンドを利用することで、CDKのコードからCloudFormationのテンプレートを生成こ とができます。そのため、既存の環境がCFnで作られている場合にもスムーズに導入することができ ます。
AWS CDKで作る CloudWatch Dashboard Agenda ダッシュボードの重要性 CloudFormationでCloudWatch Dashboardを構築する CDKで作るダッシュボード CDKだからこその利点
まとめ 1 2 3 4 5
4. CDKだからこその利点 繰り返しの記述が楽にできる yamlファイルは構造上繰り返しの記述が不得手です。それに対しCDKは、既存プログラミング言語 が持つfor, whileのような制御構文を用いて簡単に繰り返しを記述することができます。 1つのALBに対して 「応答時間」「リクエスト数」などの 決められたセットのメトリクスを表示させたい for文でまとめる
4. CDKだからこその利点 複雑な条件分岐が可能 CFnのyamlではConditionにあまり複雑な条件を指定することができませんでした。CDKの場合は 「テーブルがProvisionedだったら……」といった、監視対象となるリソースの属性によって表示を 変えるという条件分岐も実現可能です。 (例) ProvisionedのDynamoDBテーブルにのみ、ProvisionedCUの項目を表示させる isProvisionedがtrueのときのみ、 ProvisionedCUの項目を追加
一部のテーブルのみに ProvisionedCUの項目が表示
4. CDKだからこその利点 既存リソースの参照が可能 ウィジェットを作るために「名前空間・メトリクス名・ディメンション」を愚直に書いて MetricPropsを定義するのではなく、「既存リソースのメトリクスを取得する」メソッドを呼び出す だけでメトリクス情報を得ることが一部のリソースでは可能です。 名前空間等を 愚直に記述するパターン 既存リソースからメトリクスを 直接取得するパターン
AWS CDKで作る CloudWatch Dashboard Agenda ダッシュボードの重要性 CloudFormationでCloudWatch Dashboardを構築する CDKで作るダッシュボード CDKだからこその利点
まとめ 1 2 3 4 5
5. まとめ • ダッシュボードを継続的にアップデートし続けることは、サービスの成長のためにとても重要 • CloudWatch DashboardのCFnでの記法は洗練されている・使いやすいとは言えない現状があり ます。 – ボディの中身をyaml属性で構造化できず、一つのjson文字列で書く必要がある
– ウィジェットの配置座標を一つ一つ指定してやる必要 • CDKを用いると、ダッシュボード内のウィジェット配置を考えずとも構築が可能になり、さらに 既存プログラミング言語の豊かな表現力によって最小限の記述・多彩な条件分岐の実現といった メリットを得ることができる
一番伝えたいこと 良いダッシュボードを作るための アプリ側の方々のご協力が必要です! CDKで書きやすくなっているので なにとぞよろしくお願いしますm(__)m
CDK × ダッシュボードの相性の良さがもたらす未来 • 「アプリのどこを監視するべきか」「正常稼働させるためには、どの項目が守られているべきな のか」ということを一番知っているのは作ったアプリの方々であるはずです。 • SREの方々がアプリチームにヒアリングしてダッシュボードを作成・反映というやり方でもよい ですが時間が掛かりますし、何よりダッシュボードを作ることで開発者自身がそのサービスの特 性を知ることはアプリ開発においても十分プラスになると思います。
• 今までのインフラ構築は「それ専用の文法をyamlでごりごり書く」というインフラ屋以外からす るととっつきにくいものだったのですが、既存プログラミング言語で構成を記述することができ るCDKはアプリ側の立場の方々でも扱いやすいかと思います。 • ダッシュボードはそのサービスに関わる全ての人に関係のあるものです。今まで他人事だと思っ ていた人こそ、ぜひCDKでダッシュボードに触れてみてください!
Thank You ご意見、ご質問ありましたらお気軽にご連絡下さい
[email protected]
Haruka Sakihara(崎原 晴香)