Amazon WorkSpaces 使用時間について AWSマネジメントコンソール&AWS CLIからの確認方法

2021.02.18

困っていた内容

Amazon WorkSpaces の管理において特定のタイミングでその時間までに各Wordspaces IDがどれぐらいWorkSpacesを利用したか、各ユーザーがログインしていた時間をAWSマネジメントコンソールあるいはAWS CLIで確認したい。

どう対応すればいいの?

AWSマネジメントコンソール

Workspacesにログイン成功のイベントは CloudWatch イベント(CloudTrail ではございません)として確認することが可能です、ログイン失敗の情報、ログアウトの情報を取得できるイベントやメトリクスは現時点ではご用意がありません。 AWS CloudWatchメトリクスは各Workspaces毎に WorkSpaces にログインしていた時間の取得は可能です。

なお、CloudWatch UserConnectedメトリクスのディメンジョンは DirectoryID 単位(組織単位)、WorkSpaces ID 単位で確認が可能です。 WorkSpaces ID 別にメトリクスを確認いただければ、その WorkSpaces がおよそ何時間実行されたかが確認可能です。 WorkSpacesのモニタリングは5分間間隔でサンプリングされ、UserConnectedはWorkSpacesクライアントから接続している時は値が1になります。

例) AWSマネジメントコンソール上で確認する際の一例となります。

  1. CloudWatchマネジメントコンソールで、メトリクスを選択します。
  2. AWS の名前空間から WorkSpaces を選択します。
  3. ワークスペース ID 別を選択します。
  4. 対象のWorkSpaces の UserConnected をチェックします。
  5. グラフ化したメトリクス タブを選択します。
  6. 統計を「合計」、期間を30日に変更します。
  7. CloudWatch マネジメントコンソール上部の時間選択から「カスタム」を選択して、絶対値を選択、過去30日分の期間を指定します。
  8. グラフのオプションを選択して、「数値」を選択します。

表示された数値が過去30日間に接続が記録された回数となります。 例えば、100と表示されている場合、100*5分 = 500分は過去30日間で接続が記録されたことになります。

AWS CLI

取得例:

aws cloudwatch get-metric-statistics --namespace AWS/WorkSpaces --metric-name UserConnected --statistics Sum --period 2592000 --start-time 2021-01-01T00:00:00Z --end-time 2021-01-31T00:00:00Z --dimensions "Name=WorkspaceId,Value=<対象のWorkSpaces ID>"

AWS CLI の場合に下記記載しました個別の get-metric-statistics を使用いただき、各 WorkSpaces 毎に取得いただく必要があるかと存じます。 なお、dimensions オプション部分を下記のように指定する必要があります。(Value は "ws-" で始まるWorkSpaces ID です。)

注意点

get-metric-statisticsについて、返されるデータポイントの粒度(秒単位)。

通常の解像度のメトリックの場合、期間(--Period)は1分(60秒)まで短く、60の倍数である必要があります。1分未満の間隔で収集される高解像度メトリックの場合、期間は1、5 、10、30、60、または60の倍数。StartTimeパラメーターで3時間以上前のタイムスタンプを指定する場合、期間を次のように指定する必要があります。そうしないと、その時間範囲のデータポイントは返されませんので要注意です。

  • リスト1 開始時刻は3時間から15日前-60秒(1分)の倍数を使用します。
  • リスト2 15〜63日前の開始時間-300秒(5分)の倍数を使用します。
  • リスト3 開始時刻が63日以上前-3600秒(1時間)の倍数を使用します。

参考資料

[1]CloudWatch ダッシュボードの時間範囲またはタイムゾーン形式を変更する - Amazon CloudWatch
[2]CloudWatch リソースへのアクセス許可の管理の概要 - Amazon CloudWatch
[3]CloudWatch メトリクスを使用して WorkSpaces をモニタリングする - Amazon WorkSpaces メトリクス
[4]CloudWatch メトリクスでは、GetMetricData または GetMetricStatistics を使用する必要がありますか?
[5]AWS CLI CloudWatch