Amazon WorkSpacesの費用を最適化 : Amazon WorkSpaces Cost Optimizerの活用法

AWS

2024.2.14

Topics

はじめに

こんにちは、Shunです。

今回は、AWSが提供する「Amazon WorkSpaces Cost Optimizer」というソリューションの使用手順と注意点について解説します。

Amazon WorkSpaces Cost Optimizerは、AWSの複数サービスを組み合わせたソリューションであり、CloudFormationを用いてデプロイすることで利用を開始できます。このソリューションは、Amazon WorkSpacesの利用状況を収集し、それに基づいて課金体系(ALWAYS_ONまたはAUTO_STOP)を自動で最適化したり、使用されていないWorkSpacesを削除する機能を提供します。

本記事で紹介する内容

  • Amazon WorkSpaces Cost Optimizerの実装手順
  • Amazon WorkSpaces Cost Optimizerの注意点
  • 実際にどのようなレポートが出力されるのか

本記事で取り扱わない内容

  • Amazon WorkSpacesやCloudFormationに関する基本的なサービス解説

得られるもの

  • Amazon WorkSpaces Cost Optimizerの概要と、それを運用開始するための知識

実施すること

概要

本記事では、Amazon WorkSpaces Cost Optimizerのデプロイ手順、設定値の注意点、そして出力されるレポートの確認方法について説明します。

構成図

Amazon WorkSpaces Cost Optimizerの主要な構成図は以下となります。

前提

  • Amazon WorkSpacesが既に運用中であること
  • 東京リージョンでのデプロイであること
  • Amazon WorkSpacesを単一アカウントで管理していること(ただし、複数アカウントでの管理も可能)

手順

今回の記事で実施する具体的な手順は以下です。

  1. Amazon WorkSpaces Cost Optimizerのテンプレートをダウンロード
  2. CloudFormationスタックの起動
  3. レポートを確認

実際の作業

注意点

Amazon WorkSpaces Cost Optimizerの導入に際しては、実装ガイドが重要です。しかし、以下の「実装ガイド」内のテンプレートダウンロードリンクから取得すると古いバージョンのテンプレートを取得してしまうことがあるため、最新のものは手順1.で後述するAWS公式ドキュメントからダウンロードする必要があります。

1.Amazon WorkSpaces Cost Optimizerのテンプレートをダウンロード

CloudFormationをデプロイする際に、S3のURLを直接指定することもできるのですが、今回は下記のサイトの該当箇所からテンプレートをダウンロードします。

Amazon WorkSpaces のコストオプティマイザー

画面右下の「CloudFormationテンプレート」を押下します。

公式ドキュメントへ遷移するので、「Hub account」の「View template」を押下すると、テンプレートをダウンロードすることができます。

2.CloudFormationスタックの起動

CloudFormationの「スタックの作成」→「新しいリソースを使用(標準)」から、先ほどインストールしたテンプレートをセットします。

ダウンロードしたテンプレートを用いてCloudFormationスタックを作成します。パラメータの入力が必要となりますが、特に重要なのは課金体系の切り替えに関する計算です。リージョンによって料金が異なるため、この点を考慮する必要があります。

以下にALWAYS_ONとAUTO_STOPの切り替え目安時間を表にまとめています。

Bundle Type Root Volume User Volume ALWAYS_ON(月額) AUTO_STOP(固定額) AUTO_STOP(/h) 切り替え目安時間
Value 80GB 10GB $34.0 $10.0 $0.30 80時間
Standard 80GB 10GB $45.0 $10.0 $0.40 88時間
(87.5時間)
80GB 50GB $47.0 $14.0 $0.40 83時間
(82.5時間)
Performance 80GB 10GB $59.0 $10.0 $0.61 80時間
(80.3時間)
Power 80GB 10GB $108.0 $10.0 $0.89 110時間
(110.1時間)
175GB 100GB $118.0 $26.00 $0.89 103時間
(103.3時間)
Power Pro 80GB 10GB $161.0 $10.0 $1.84 82時間
(82.1時間)
Graphics 100GB 100GB $951.0 $30.0 $2.41 382時間
(382.1時間)
Graphics Pro 100GB 100GB $1283.0 $85.0 $14.93 80時間
(80.2時間)
  • 切り替え目安時間の計算: (ALWAYS_ON(月額)-AUTO_STOP(固定額))/AUTO_STOP(/h)の式で算出します。この時間は、整数で四捨五入して入力します。
  • 対象となるのはWindowsバンドルオプションの料金です。
  • 料金は東京リージョンを基準にしています。

同一のBundle Typeでも、ボリュームサイズによって切り替え目安時間が異なります。ご自身の環境に適用されているボリュームタイプが上記の条件に合致しない場合は、ご自身で計算が必要です。

上記で算出したAmazon WorkSpacesの切り替え目安を以下のように入力していきます。(Standard R:80GB U:10GB , Power R:80GB U:10GB の値を入力しています。)

その他のパラメータは、特に要件がなければ既定のままで問題ありません。

VPCを新規に作成するか、既存のものを使用するか選択します。新規作成がデフォルトで選択されており、FargateがECRのパブリックイメージを取得するため、インターネットへのアクセスが必要です。特別な要件がなければ、新規作成を推奨します。

Dry Runモードを選択するかどうかは重要なポイントです。このモードを有効にすると、実際の変更を行わずに推奨される変更を確認できます。初期段階では、このモードで運用し、必要な調整を行うことが推奨されます。

実装ガイド内では、Dry Runモードから利用することが推奨されております。

このソリューションを数か月間は Dry Run Mode (デフォルトでアクティブ) で実行し、日次レポートと月次レポートを確認して、必要な変更を手動で実装することをお勧めします。Dry Run Modeでは、推奨される変更が WorkSpaces のコストに与える影響を把握し、請求の変更を自動的に実装することなく、このソリューションが推奨する変更内容を評価および分析できるようにします。

以下の赤枠では、Terminate workspaces not used for a monthを問われております。1か月間の使用量が0のWorkSpacesアカウントがあれば、削除するという内容になります。

運用が慣れるまでは、この機能はオフにしておくことを推奨します。

パラメータで入力した値は、ECSの環境変数から変更することが可能です。

タグやロールは任意のものを入力し、実装します。(何も設定しなくても問題ないです。)

3.レポートを確認

ここでは、実際の使用量のレポートを確認します。

あらためて、Amazon WorkSpaces Cost Optimizerの仕組みですが、EventBridgeからECSが起動し、WorkSpacesの利用量を計算し、そのレポートをS3に出力しています。

デフォルト設定だと、EventBridgeは、毎朝8時に起動するように設定されています。

すぐにレポートを確認したい方は、実行時間を調整してみてください。

実際に出力されるレポートは以下です。(内部のWorkSpacesIDや数値などは調整しています。)

3行目では、ALWAYS_ONがしきい値を下回っているため、AUTO_STOPへ変更することが推奨されています。反対に、5行目では、AUTO_STOPがしきい値を上回っているため、ALWAYS_ONのタイプへ変更することが推奨されています。

まとめ

Amazon WorkSpaces Cost Optimizerを使用することで、WorkSpacesの利用状況に基づいたコスト最適化が可能になります。特に、大規模な運用を行っている場合には、このソリューションの導入が効果的です。

最初のうちはDry Runモードで運用し、徐々に実運用に移行することが良いでしょう。

最後まで読んでいただきありがとうございます!

Shun

好きな言葉は生ビール199円です。日本ビール協会認定1冠、AWS12冠、Google Cloud11冠

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら