2022.01.20 Amazon WorkSpaces Cost OptimizerでAmazon WorkSpacesの利用料金を削減しよう

Amazon WorkSpacesを利用する際に、定額課金にするか従量課金にするか迷うことがあるかと思います。そこで今回は「Amazon WorkSpaces Cost Optimizer」というAWSから提供されているサービスの紹介と、実際にAmazon WorkSpacesを利用しているユーザーごとの利用時間を把握し、従量課金に自動で切り替える手順をご紹介します。
実際のAmazon WorkSpacesのご利用にあたっては、まずはユーザーごとの利用時間を把握できるようにして、次に自動切り替えを実施するといったように段階的に進められることをおすすめします。

Amazon WorkSpacesとAmazon WorkSpaces Cost Optimizerについて紹介

Amazon WorkSpacesとは?

Amazon WorkSpacesとは、マネージド型の仮想デスクトップサービスです。端末がインターネットに接続されていれば時間や場所を問わず利用することができます。Amazon WorkSpacesの課金方式には、Always On(定額課金)とAuto Stop(従量課金)があります。利用する時間によって、料金が異なることが特長です。
さらにAmazon WorkSpacesについて詳しく知りたい方は、参考記事を確認してください。

参考記事

Amazon WorkSpacesとは?その特長をまとめてみた | AWS活用法

Amazon WorkSpaces Cost Optimizerとは?

Amazon WorkSpaces Cost Optimizerは、AWSが提供しているAWS Solutions Implementation(※1 AWS ソリューション実装)です。

  • ※1 AWSが一般的な問題を解決し、より速く構築する支援となるように設計された検証済みのテクニカルリファレンス実装のこと。

ユーザーごとのAmazon WorkSpaces使用状況に基づき、請求モデルを自動で変更してくれるサービスです。
Amazon WorkSpacesを企業で利用する場合、利用ユーザーごとの使用状況を都度確認し、適正な利用料金なのかを管理することは、手間がかかります。そのような場合に「Amazon WorkSpaces Cost Optimizer」を活用することで、手間をかけずにコストの最適化が可能です。

まずAmazon WorkSpacesをどのくらいの時間利用したら、請求モデルが自動で変更されるのかを計算してみました。

  • 利用OSは、Windowsです。あくまで計算結果は目安です。実際のご利用時には異なる可能性があります。

各Bundleの固定額と時間料金と、切り替え目安時間の一覧表

Bundle
Type
Root
Volume
User
Volume
AlwaysOn
(月額)
Auto Stop
固定額
(月額 ストレージ料金)
AutoStop
時間料金
(1時間あたり)
切り替え目安時間
Value 80 GB 10 GB $34 $10 $0.30 80時間
Standard 80 GB 50 GB $47 $14 $0.40 82時間
Performance 80 GB 100 GB $65 $19 $0.61 75時間
Power 175 GB 100 GB $118 $26 $0.89 103時間
Power Pro 175 GB 100 GB $177 $26 $1.84 82時間
Graphics 100 GB 100 GB $951 $30 $2.41 382時間
Graphics Pro 100 GB 100 GB $1,283 $85 $14.93 80時間
  • 切り替え目安時間は、{(Always On月額-Auto Stop固定額)/Auto Stop時間料金}で算出しています。(小数点以下は切り捨て)
  • User Volumeは、Bundle Typeを選択した際のデフォルト値です。

表より「Standard Bundle」の場合「82時間」が切り替え目安となり、82時間以内であればAuto Stop(従量課金)を選択した方が安いことが分かります。

またAmazon WorkSpaces Cost Optimizerのソリューションをデプロイした際、AWSクラウドに次の環境が構築されます。

【Amazon WorkSpaces Cost Optimizerのアーキテクチャ図】

Amazon WorkSpaces Cost Optimizerのアーキテクチャ概要を解説します。

Amazon CloudWatch Event Ruleから24時間ごとにAWS Lambdaを実行してAWS Fargate経由で、AWS Directory Serviceから、Amazon WorkSpacesに登録されている全てのディレクトリリストを収集します。
次に、時間単位の課金モデルであるAmazon WorkSpacesのユーザーごとの合計使用量を確認します。
月額利用料が切り替え目安時間に達している場合は、該当するAmazon WorkSpacesを従量課金に変更し、使用時間のログをAmazon S3に保存します。

AWS CloudFormationを利用したデプロイ手順

AWS CloudFormationを使用し、AWSクラウドへ「Amazon WorkSpaces Cost Optimizer」のデプロイを自動構築する手順をご紹介します。

今回は、従量課金に自動切り替えを行う手順ではなく、まずユーザーごとのAmazon WorkSpaces利用状況のログを取得し、利用状況を把握できるようにする手順をご説明します。あわせて従量課金に自動で切り替える設定にも触れます。

  • 今回は、課金が発生する時間をログとして出力させます。
  • 以降の手順紹介では「Amazon WorkSpaces」を「WorkSpaces」と記載します。
  1. (1)
    AWSマネジメントコンソール 新規ウィンドウで開くにサインインします。

    その後「AWS CloudFormation」をAWSマネジメントコンソール内で検索し「スタックの作成」をクリックしてください。

  2. (2)
    スタックの作成では、下記のようにパラメータ項目を選択、入力してください。入力後は「次へ」をクリックしてください。
    パラメータ項目 選択・入力事項
    テンプレートの準備 「テンプレートの準備完了」を選択してください。
    テンプレートソース 「Amazon S3 URL」を選択してください。
    Amazon S3 URL 以下URLを入力してください。
    https://s3.amazonaws.com/solutions-reference/workspaces-cost-optimizer/latest/workspaces-cost-optimizer.template
  3. (3)
    各パラメータ項目を入力してください。入力後は「次へ」をクリックしてください。
    • 赤枠で囲んでいない箇所で「既に値が入力済みの箇所」は自動で値が入力されます。
    パラメータ項目 選択・入力事項
    スタックの名前 任意の名前を記載してください。
    Create New VPC プルダウンより「Yes」を選択してください。
    Launch in Dry Run Mode

    今回は「Yes」を選択してください。

    • 「Yes」の場合、変更ログを生成しますが実行モードの変更は実行されません。
    • 「No」の場合は、実行モードの変更が実行されます。
      (従量課金へ自動切り替えが有効になります)
    Value Limit 80
    Standard Limit 82
    Performance Limit 75
    Graphics Limit 382
    Graphics Pro Limit 80
    Power Limit 103
    Power Pro Limit 82
    • ここで Launch in Dry Run Mode を「No」に設定すると従量課金への自動切り替えが有効になります。
  4. (4)
    スタックオプションの設定・詳細オプションは、今回設定しません。
    ご自身の利用目的に合わせて、任意で設定してください。その後「次へ」をクリックしてください。
  5. (5)
    レビューでは、今まで設定してきた内容が間違っていないかを確認します。最後に「AWS CloudFormationによってIAMリソースが作成される場合があることを承認します。」に必ずチェックをいれてください。その後「スタックの作成」をクリックしてください。
  6. (6)
    AWS マネジメントコンソールより、Amazon WorkSpacesを検索し、サービス画面を表示させます。「WorkSpacesの起動」をクリックしてください。
  7. (7)
    ディレクトリの選択より 「corp.amazonworkspaces.com」を選択し、「次のステップ」をクリックしてください。
    • 「corp.amazonworkspaces.com」のディレクトリは、AWS CloudFormationのスタックを実行した際に自動で作成されます。
  8. (8)
    今回はユーザーを新規作成していきます。ユーザーの新規登録時は「ユーザー名/名/姓/Eメール」を入力し「ユーザーの作成」をクリックしてください。ユーザーが選択されていることを確認後「次のステップ」をクリックしてください。
  9. (9)
    バンドルの選択では、起動させたいバンドルを選択してください。今回は「Standard with Windows10」を選択します。割り当てたバンドルの内容を確認後「次のステップ」をクリックしてください。
  10. (10)
    WorkSpacesの設定では「Auto Stop」を選択後「次のステップ」をクリックしてください。
  11. (11)
    WorkSpacesのレビューと起動画面より設定した内容に問題がない場合は「WorkSpacesの起動」をクリックしてください。
  12. (12)
    次にAWSマネジメントコンソールより「CloudWatch」を検索してください。CloudWatchのサービス画面を表示し「ルール」をクリックし、CloudWatchEventを表示させてください。

    Amazon WorkSpaces Cost Optimizerの起動スケジュールは、ルールを設定した日がトリガー日となり、自動的にCloudWatchにスケジュール登録され、1日1回実行されます。
    実行時間は「GMT」で表示されます。JST表示に変更したい場合は、CloudWatchEventのダッシュボードより変更してください。詳しく知りたい方は、AWS ユーザガイド 新規ウィンドウで開くを確認してください。

  13. (13)
    次にAWSマネジメントコンソールより「Amazon S3」を検索してください。Amazon S3のサービス画面を表示し「Amazon WorkSpaces Cost Optimizerのバケット」を開いてください。

    Amazon WorkSpaces Cost Optimizerが実行されたログは、実行された日付ごとに、Amazon S3のフォルダへ保存されます。

  14. (14)
    生成されたファイルを開くと、下記のサンプルのように表示されます。データは、WorkSpacesごとに表示されます。

    これで、Amazon WorkSpaces Cost Optimizerの起動状況が確認できました。

    項目 意味
    WorkspaceID 対象のWorkSpacesIDを指します。
    Billable Hours 利用した時間のことです。
    Usage Threshold Bundle Typeで指定した切り替え時間のことです。
    Change Reported Amazon WorkSpaces Cost Optimizerで変更した内容(ステータス)のことです。
    Bundle Type WorkSpacesのBundleTypeのことです。
    Initial Mode Amazon WorkSpaces Cost Optimizerが実行される前の実行モードのことです。
    New Mode Amazon WorkSpaces Cost Optimizer が実行される後の実行モードのことです。
    Username 対象のWorkSpacesのユーザー名を指します。
    DirectoryId 対象のWorkSpaces DirectoryIDのことです。
    Tags 対象のWorkSpacesのタグのことです。

まとめ

Amazon WorkSpaces Cost Optimizerを設定することで、手間なくコスト最適化を行えるだけではなく、稼働時間のログを出力することができるため、ユーザーごとのWorkSpaces稼働時間を調査することも可能です。「各ユーザーの稼働時間を把握できる=業務時間を把握できる」ということになるため、勤怠管理にも応用が可能かと思います。

当社では、Amazon WorkSpaces導入サポート 新規ウィンドウで開くを提供しています。「働き方改革に着手したいが、環境構築が難しそう」など設計や構築にお困りの方は、ぜひお問い合わせ 新規ウィンドウで開くください。

作成者:手塚

関連サービス

おすすめ記事

導入のお問い合わせはこちら

AWSやAmazon WorkSpacesの導入から接続回線、運用・保守まで何でもお任せください。

お問い合わせ・資料請求