CloudWatchダッシュボードでユーザーごとのWorkspaces使用時間を一覧表示してcsvファイル出力してみた

2022.11.22

どーも、データアナリティクス事業本部コンサルティングチームのsutoです。

組織内で利用しているWorkspacesについて、どれだけのユーザーがWorkspacesを起動していて、各ユーザーがどれくらいの時間セッション接続ているのか、それをもとにトータルのWrokspacesのコストはどうなっているかを確認したいという需要はあるのではないかと思います。

Workspacesの接続時間を計測するにはCLoudWatchメトリクス UserConnected を活用することができ、以下の記事でも紹介があるようにコンソール上で確認したりAWS CLIで取得することができます。

上記コマンドでは複数ユーザーを一括して UserConnected を取得するには手間がかかるので、CloudWatchダッシュボードにまとめてcsvファイルとしてエクスポートした方が手間がかからず簡単かなーと思い、実際に試してみました。

やってみた

以下のようにWorkspacesが複数稼働している状態で、各Workspacesの起動時間をCLoudWatchメトリクス UserConnected を取得して測定し、CloudWatchダッシュボードに表示させます。

Cloudweatchダッシュボード作成

  • AWSコンソールのCloudWatch画面に移動して左メニュー「ダッシュボード」画面から「ダッシュボードの作成」をクリックします

  • ダッシュボード名を入力して「ダッシュボードの作成」をクリックします

  • ウィジェットの種類は、今回は「数値」を選択することにします

  • Workspacesのメトリクス UserConnectedを追加します
    • 参照タブから探す場合「Workspaces」→「ワークスペースID別」→検索ボックスで「Userconnected」と入力する
  • 全WorkspacesIdのUserconnectedを選択します

  • 次にウィジェットの表示を調整するために、「グラフ化したメトリクス」タブをクリックします
  • ウィジェットに表示する数値の粒度を調整します
    • 今回はメトリクスの統計を「合計」に、期間を「1日」に変更
      • Userconnectedの測定頻度は5分で1カウントであるため、上記設定で表示される数値に5分をかけることで、前日の接続時間を計測できます。
  • グラフ側の表示を調整します
    • 今回は直近1ヶ月の使用時間を見たいので、表示を「数値」、期間を「1Month」にカスタムして変更
      • 上記設定によって、日次で測定した使用時間が横軸1ヶ月分の折れ線グラフとして表示されます
  • その他に、グラフタイトルの編集、ラベル名をWorkspacesIdから利用者のユーザー名に変更するなどカスタマイズします
  • 最後に「ウィジェットの作成」をクリックします

  • これでダッシュボードが完成しましたので、右上の「保存」をクリックします

ダッシュボードからcsvファイル出力

  • 例として、期間2022年9月を指定して全ユーザーのWorkspaces使用時間をcsvファイルに出力してみます。
  • ダッシュボード画面で期間を2022-09-01~2022-09-30に変更して3点マークから「.csv形式でダウンロード」します。

  • すると以下のようなファイルとなります。

  • Full labelの行にWrokspacesIdを含めたメトリクスの詳細名があるので、こちらをユーザー名に変換表示することでさrsに見やすくなると思います
  • 6行目以降の取得レコードは、ウィジェットに表示する数値の粒度で設定したとおり、1日ごとの合計カウント数を記録しています
    • 上記csvファイルの数値に「✖︎5(分)」して計算することで1日の使用時間が何分か確認することができます

まとめ

組織内Workspacesを利用しているメンバーが、各々でどのくらいの時間セッションをつないでいるかをCloudwatchダッシュボードにまとめておく方法でした。

Workspacesを利用しているメンバーと料金を定期的に調査する際、ダッシュボードで視覚的に素早く把握できますし、そのままレポートとしてcsvファイルに出力することも出来ますので、この記事で紹介した方法を参考に有効活用できる方々がいれば幸いです。