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

AWS CDKで作るCloudWatch Dashboard

AWS CDKで作るCloudWatch Dashboard

23/3/22 JAWS-UG CDK支部 #6にて登壇
https://jawsug-cdk.connpass.com/event/274879/

Haruka Sakihara

March 22, 2023
Tweet

More Decks by Haruka Sakihara

Other Decks in Technology

Transcript

  1. 自己紹介 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言語が好きです
  2. 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の中身を 構造化することができない
  3. 5. まとめ • ダッシュボードを継続的にアップデートし続けることは、サービスの成長のためにとても重要 • CloudWatch DashboardのCFnでの記法は洗練されている・使いやすいとは言えない現状があり ます。 – ボディの中身をyaml属性で構造化できず、一つのjson文字列で書く必要がある

    – ウィジェットの配置座標を一つ一つ指定してやる必要 • CDKを用いると、ダッシュボード内のウィジェット配置を考えずとも構築が可能になり、さらに 既存プログラミング言語の豊かな表現力によって最小限の記述・多彩な条件分岐の実現といった メリットを得ることができる
  4. CDK × ダッシュボードの相性の良さがもたらす未来 • 「アプリのどこを監視するべきか」「正常稼働させるためには、どの項目が守られているべきな のか」ということを一番知っているのは作ったアプリの方々であるはずです。 • SREの方々がアプリチームにヒアリングしてダッシュボードを作成・反映というやり方でもよい ですが時間が掛かりますし、何よりダッシュボードを作ることで開発者自身がそのサービスの特 性を知ることはアプリ開発においても十分プラスになると思います。

    • 今までのインフラ構築は「それ専用の文法をyamlでごりごり書く」というインフラ屋以外からす るととっつきにくいものだったのですが、既存プログラミング言語で構成を記述することができ るCDKはアプリ側の立場の方々でも扱いやすいかと思います。 • ダッシュボードはそのサービスに関わる全ての人に関係のあるものです。今まで他人事だと思っ ていた人こそ、ぜひCDKでダッシュボードに触れてみてください!