本記事について
今回は、AWS CloudWatchのダッシュボードのカスタムウィジェットについての検証記事です。CloudWatchでは、EC2インスタンスのメトリクスなど運用監視で使われていますが、カスタマイズによって、他の情報もダッシュボードに追加することが可能となります。今回は、カスタムダッシュボードにコストエクスプローラの情報を表示する方法について検証してみました。
Custom Widget 追加手順
① AWSマネジメントコンソール画面カラCLoudWatchのダッシュボードを開きます。オレンジ色のアイコン「ダッシュボードの作成」をクリックして、ダッシュボードを作成していきます。

②オレンジ色アイコン「+」をクリックして「カスタムウィジェットの作成」を表示します。

③「ウィジェットの作成」画面では、「その他のコンテンツタイプ」-「カスタムウィジェット」を選びます。

④「開始したいサンプルを選択」のリストボックスから「コストエクスプローラレポート」を選択して、「次へ」

※リストボックスを展開すると「コストエクスプローラ」が表示されます。

⑤「カスタムウィジェットの作成」画面で、lambda関数が表示され、既定値でJavaScriptの関数が指定されています。名前は変更可能。

⑥「プレビューを表示」でこの関数が返却するhtmlの出力を確認することができます。

そのまま「ウィジェットの追加」を実行すると、CloudFormationが実行され、このlambda関数のデプロイを始めます。
デプロイ完了後はLambdaの関数画面から確認・編集が行えるようなります。

最後に
カスタムウィジェットから、テンプレートとしてCostExplorerReportのJavaScriptをデプロイできることがわかりました。このJavaScriptは以下のようにhtmlのテキストを作成してreturnした内容をダッシュボードの画面に埋め込んでいます。
return `${html}</table>`;
このテンプレートをベースにコスト情報についてカスタマイズして CloudWatchダッシュボードに掲載することができようになります。運用効率をあげるため、リソースやアラームの状態と料金情報を一つの画面で集約してみたいというニーズがある場合、このテクニックを使用することで、そのようなニーズを満たすことができそうです。