働き方改革が進んでいる昨今、サービス残業や長時間労働に関する取り締まりが厳しくなっています。企業は勤怠管理システムの導入を行っていますが、システムが正しく機能するためには従業員が正確に実労働時間を入力する必要があります。
しかしながら、勤怠システムの打刻時間と実際の労働時間に乖離が発生してしまうこともあるのではないでしょうか?
目次
労務管理を行うために当社が実施していること
当社では、労務管理の徹底を行うため、業務用パソコンにクライアント運用管理ソフトウェア(以下 資産管理ソフト)を導入しています。資産管理ソフトによりパソコンの起動時間や停止時間を収集することで、パソコンの操作時間と勤怠システムに登録される出退勤の時間に乖離がないことをチェックができるようになっており、Amazon WorkSpacesも業務用パソコン同様に乖離チェック対象です。しかし、Amazon WorkSpacesをALWAYS_ONで利用している場合、パソコンの起動・停止という概念がなく、資産管理ソフトをAmazon WorkSpacesに導入しても、操作時間の収集ができないことから、人事部門より「何か手立てはないか」と相談を受けていました。
そこで、Amazon WorkSpacesへのログオン、ログオフ情報を収集できるようにすることで、資産管理ソフトで確認している起動時間や停止時間に近い情報が収集できるようになるのではないかと考えました。
実際に行っている仕組みをご紹介
今回作成したプログラムは下図のように3つのLambdaで構成されています。
Amazon WorkSpacesのログオン情報の収集には、CloudWatch EventのAmazon WorkSpaces へのAccessイベントをトリガーにDynamoDBへレコードを出力しています。一方ログオフは、Amazon WorkSpacesのUserConnectedメトリックスを定期的に取得し、1→0に変わるタイミングをログオフとして記録しDynamoDBにレコードを出力しています。DynamoDBに出力されたデータはS3に保存され、労働基準法の定めにより3年間保存される仕組みとしました。
DynamoDBのテーブルレイアウト
項目 | 設定値 | 備考 |
---|---|---|
プライマリキー | ID | - |
属性 | イベント時間 | ログオン/ログオフ時間 |
ユーザ名 | - | |
Amazon WorkSpaces ID | - | |
項目タイプ | Connected/Disconnected | |
クライアントIP | ログイン元IPアドレス | |
クライアントプラットフォーム | ログイン元端末情報 | |
TTL | 有効日時 | 2日間保存 |
S3に保存されるログオン、ログオフCSVファイルのレコードフォーマット
イベント時刻 | アクション | ユーザ名 | Amazon WorkSpaces ID | ログイン元IP | ログイン端末 |
---|---|---|---|---|---|
(例)2019/02/01 9:45 | Connected | Horikoshi | Ws-978jsadf | xxx.xxx.xxx.xxx | Windows |
(例)2019/02/01 19:45 | Disconnected | Horikoshi | Ws-978jsadf | xxx.xxx.xxx.xxx | Windows |
S3バケット
管理のしやすさも考慮し、Amazon Athenaも使ってみた
上記の仕組みに加え、管理者がS3に保存されたログイン・ログオフデータを容易に検索できるようにするため、Amazon Athenaを使用した仕組みも作りました。
まずは、Athenaのクエリエディタ画面にアクセスして、以下のようにテーブル作成のクエリを実行します。
LOCATION句にログが格納されているS3パスを指定することで、クエリ実行時に指定したパス内の全てのファイルが読み込まれデータとして処理されます。テーブルの作成に成功すると、以下のようにテーブルの情報が表示されます。
次に、作成したテーブルからデータを取得してみます。
複数CSVファイルにまたがってデータを取得できていることが確認できます。
最後に、ユーザと日付(2019/2/1)を指定してデータを取得してみます。
特定ユーザの2019/2/1のデータのみセレクトできました!
このように、Athenaを使うことで大量に出力されるログファイルの中から見たい情報を簡単にピックアップすることが可能です。
いかがでしたでしょうか?
今回ご紹介した仕組みは比較的簡単に作成することができるので、参考にしていただけたら嬉しいです。今の会社において適切な対策や仕組みづくりを考え、進めていくことで、企業はもちろん、従業員全員が働きやすい環境をつくってもらえたらと思います。
関連サービス
おすすめ記事
-
2020.06.23
Amazon Connectで在宅勤務でも対応できる問合せ窓口を立ち上げてみた
-
2020.08.17
Datadogで実現するモニタリングとオペレーションのオートメーション化
-
2020.04.27
Amazon FSx for Windows ファイルサーバーへの移行と活用方法
-
2020.06.11
Amazon WorkSpacesとは?その特長をまとめてみた
-
2020.06.23
AWSのDevOpsサービスと当社マネージドサービスを活用したDevOpsの実装①~概念編~