皆さん、お疲れ様です!秋葉です。
最近、お客様から「AWSの利用料、もう少し安くならない?」と相談を受けることはありませんか?
特に VDI(仮想デスクトップ)環境である Amazon WorkSpaces は、便利で手軽に払い出せる反面、利用状況によっては「使っていないのに課金され続けている」というコストの温床になりがちです。
そこで今回は、私が最近導入・検証を行った「Amazon WorkSpaces Cost Optimizer」についてナレッジを共有します!
このソリューション、適切に使えば劇的なコスト削減効果がありますが、仕組みを理解せずに導入すると意図しない挙動に戸惑うこともあります。
まずは「基礎編」として、このツールの全体像と、最初に押さえるべき重要パラメータについて解説します!
Amazon WorkSpaces Cost Optimizerとは
一言で言うと、「WorkSpaces の利用状況を監視し、最も安い料金プランへ自動で切り替えてくれるツール」です!

AWS公式が提供しているソリューション(CloudFormationテンプレート)であり、独自にスクリプトを書くことなくデプロイできるのが魅力です。
Cloud Formationテンプレートファイル
WorkSpaces には大きく分けて以下の2つの課金モデルがあります。
① Always-On(常時稼働):月額料金を払えばどれだけ使っても料金一定
② Auto-Stop(自動停止):使った時間分だけ課金+固定基本料
長時間使用する場合は①、短時間の場合は②が得なのですが、損益分岐点(ボーダーライン)はOSやスペックによって異なります。また、社員の働き方が変われば最適なプランも変動します。これを人力で毎月チェックするのは現実的ではありません。
Cost Optimizer はここを自動化します!
- データ収集: CloudWatch から各 WorkSpaces の利用ログ(UserConnected)を取得。
- 判定: 過去の利用実績から、来月は「Always-On」と「Auto-Stop」どちらが安いかを計算。
- 自動変更: AWS API を叩いて、WorkSpaces のモード設定を自動で変更。
さらに、月の利用時間が0時間である端末を検知して自動削除させるといった機能も持っています!
パラメータ説明
導入時(CloudFormationスタック作成時)に設定するパラメータは多数ありますが、「まずはここだけは絶対に理解しておくべき」という最重要パラメータを3つ厳選しました。
- Dry Run Mode(ドライランモード)
これを Yes に設定すると、計算と判定は行いますが、実際の WorkSpaces 設定変更は行いません。「どの端末が変更対象になるのか」がS3上に分析レポートとして出力されるだけになります。 - Pricing Parameters(損益分岐点の調整)
来月は「Always-On」と「Auto-Stop」どちらが安いか、その境界線(損益分岐点)となる時間数を定義するパラメータです。実案件で使用する場合は、以下サイトを参考に損益分岐点を計算する必要があります。
Amazon WorkSpaces の料金 - Simulate End of Month Cleanup
このパラメータは、その名の通り「シミュレーション」を行うためのものです。通常、このソリューションは変更判定を月末の最終日にしか行いません。しかし、検証段階で「本当に切り替え処理が動くか確認したい」という場合に月末まで待つのは不便です。
そこでこのパラメータを Yes にすると、システム上の日付を上書きし、月末のようにこのソリューションを強制実行させることができます。
その他パラメータ等については、以下実装ドキュメントから確認してください!
生成物
リソース
本ソリューションを導入すると、AWS CloudFormationによって以下のリソースが自動構成されます。
| リソース | 役割・目的 |
| Amazon ECS (Fargate) | ソリューションのコアロジック(Python)を実行するコンテナ |
| Amazon EventBridge | 決まった時刻(※デフォルトは08:00時)にECSを起動 |
| Amazon S3 | 分析結果のレポート(CSV)の保管 |
| Amazon VPC関連 | ソリューション専用のVPC。Public/Private Subnet、Internet Gateway、NAT Gateway、Route Tableを含む |
| IAM Roles / Policies | WorkSpacesの設定を変更するために必要な権限 |
| Amazon CloudWatch Logs | ECSの動作ログを保管(※動作エラー時に原因調査で利用) |
分析レポート
ファイル内

まとめ
今回は「Amazon WorkSpaces Cost Optimizer」の基礎についてご紹介しました。
導入するだけでコスト削減のチャンスが見えてきますし、何より「どの端末がどれくらい使われているか」が可視化されます。「入れて終わり」ではなく、ログを見ながら現状を分析していくプロセスも重要です。
さて、次回の「応用編」ですが、よりセキュアな環境での構築に挑戦します。
お客様環境などでは、「セキュリティポリシー上、インターネットへ接続させたくない」というケースも多いはずです。
そこで次回は、「インターネットを使用しないプライベートな空間(閉域網)でコストオプティマイザーを実装する手順」について解説します。VPCエンドポイントを活用した、少し高度ですが需要の高い構成パターンです。

