Amazon WorkSpaces Cost Optimizer の閾値を東京リージョン向けに調整する

記事タイトルとURLをコピーする

SRE部 佐竹です。
今回は、Amazon WorkSpaces Cost Optimizer における Pricing Parameters の設定について記載します。

はじめに

本日は、Amazon WorkSpaces Cost Optimizer についてです。Amazon WorkSpaces Cost Optimizer は以下のブログでも紹介させて頂いている通り、WorkSpaces の実行モード(AlwaysOnかAutoStopか)を自動的に切り替えることでコストを削減してくれる AWS Solutions Implementation(解決策の実装) です。

blog.serverworks.co.jp

Amazon WorkSpaces Cost Optimizer には閾値を設定する箇所が複数個所あります。今回は閾値 Pricing Parameters にフォーカスします。Pricing Parameters は、初期値が入力されていますが東京リージョンでは WorkSpace の利用料が異なるため、微調整が必要です。今回はその閾値の算出をします。

なお、全パラメータについては「AWS公式ドキュメント」を参照ください。

AlwaysOn か AutoStop か

以前記載しました以下のブログでは、WorkSpace に AutoStop モデルがリリースされたタイミングで「おおよそ80時間が切り替えの閾値になる」という話をしました。

blog.serverworks.co.jp

これはどういうことかと言いますと、以下の通りの計算によるものです。例として、Value Bundle を取り上げます。

  1. Windows OS の Value Type の WorkSpace において、Root Volume が 80GBで、User Volume が 10GB の AlwaysOn の月額利用料は $34 となっています ※初月のみ日割り
  2. 同Windows OS の Value Type の WorkSpace において、Root Volume が 80GBで、User Volume が 10GB の AutoStop の月額固定額(構築時に請求される固定費)は $10 です ※初月のみ日割り
  3. 加えて、AutoStop の1時間当たりの利用料が、起動した時間に応じて請求され、Value の場合は $0.30 となっています

つまり AutoStop を 80時間起動すると、$0.30×80時間+$10の固定費が請求されるため、合計が $34 となります。これは、AlwaysOn の月額利用料と同額です。

よって Value Bundle の場合、利用月の利用時間が80時間までであれば AutoStop が適切ですが、80時間以上の利用時間となる場合は AlwaysOn へ実行モードを変更することでコストが削減できることになります。

Amazon WorkSpaces Cost Optimizer は、この閾値を適切に設定することによって、

  • Bundle別の設定閾値以下の起動時間である WorkSpace は AutoStop へ切り替え
  • Bundle別の設定閾値以上の起動時間である WorkSpace は AlwaysOn へ切り替え

ということを自動的に実行してくれるわけです。そして、この閾値は正確に設定しないと正しい効果が得られないことになります。

切り替えの目安となる月内の稼働時間

以下に、閾値を計算した表を掲載します。右端にある「切替の目安」が実際に CloudFormation へ設定する閾値となります。

Windows OS WorkSpace の閾値

Bundle
Type
Root
Volume
User
Volume
AlwaysOn
(A)
AutoStop
固定額(B)
Hourly
(C)
計算上
の閾値
切替の
目安
Value 80 GB 10 GB $34 $10 $0.30 80.0 80
Standard 80 GB 10 GB $45 $10 $0.40 87.5 88
Performance 80 GB 10 GB $59 $10 $0.61 80.3 80
Power 80 GB 10 GB $108 $10 $0.89 110.1 110
Power Pro 80 GB 10 GB $161 $10 $1.84 82.1 82
Graphics 100 GB 100 GB $951 $30 $2.41 382.2 382
Graphics Pro 100 GB 100 GB $1,283 $85 $14.93 80.2 80
  • 計算上の閾値 を求める計算式は、(A - B)/C となります
  • Value Bundle は、利用時間が80時間の時に AlwaysOn と AutoStop の月額が完全に一致します。つまり80時間であればどちらの実行モードでも問題がありません。ですが他の Bundle は「計算上の閾値」が割り切れないため「切替の目安」は小数点第1位を四捨五入してあります。

Linux OS WorkSpace の閾値

Bundle
Type
Root
Volume
User
Volume
AlwaysOn AutoStop
固定額
Hourly 計算上
の閾値
切替の
目安
Value 80 GB 10 GB $30 $10 $0.25 80.0 80
Standard 80 GB 10 GB $41 $10 $0.36 86.1 86
Performance 80 GB 10 GB $55 $10 $0.56 80.4 80
Power 80 GB 10 GB $104 $10 $0.85 110.6 111
Power Pro 80 GB 10 GB $157 $10 $1.80 81.7 82

Pricing Parameters

実際には以下の通り設定を行ってください。

f:id:swx-satake:20200916121030p:plain

注意点としては「Graphicsと、Graphics Proの順番が上に移動している」ため、先ほどの表と順序が異なっています。

閾値を整数にするにあたって

実際に Amazon WorkSpaces Cost Optimizer に Value = 80 と設定した場合で検証してみたのですが、

  • AlwaysOn ⇒ AutoStop への切り替え
  • AutoStop ⇒ AlwaysOn への切り替え

どちらも「80」時間が閾値になっていました。これはどういうことかというと、

  • AlwaysOn でその月の利用時間が80時間である場合 ⇒ AutoStop への切り替えられる
  • AutoStop でその月の利用時間が80時間である場合 ⇒ AlwaysOn への切り替えられる

ということです。どちらの切り替えにおいても、同じ閾値が利用されます

例として Standard で考えると、実際の閾値は 87.5 hour ですので、

  • AlwaysOn でその月の利用時間が87時間である場合 ⇒ AutoStop への切り替えられる
  • AutoStop でその月の利用時間が88時間である場合 ⇒ AlwaysOn への切り替えられる

としたいところですが閾値は1つしか指定できません。
Value のように「80時間の指定であればどちらの実行モードでも問題がない」という場合は問題にならないのですが、他の Bundle Type は中途半端な値です。そのため、結果を四捨五入しました。

CSVで実際の結果を確認する

実際に閾値がどのように扱われるのか Amazon WorkSpaces Cost Optimizer を試してみたところ、以下のようにCSVが出力されました。
※本環境には数多くの AlwaysOn WorkSpace が存在しますが、WorkSpace IDは伏せています

f:id:swx-satake:20200916131438p:plain

今回、Value Bundle は80時間の閾値設定です。Value の Bundle だけになるよう結果を絞って表示したところ、「80時間の閾値」で AlwaysOn が AutoStop に変更されるよう推奨されていることがわかります。

このように、CloudFormation のテンプレートには「The number of hours a Value instance can run in a month before being converted to ALWAYS_ON」と記載がありますが、両方向の切り替えに使われる点には留意ください。

まとめ

f:id:swx-satake:20200820180706p:plain:w200

今回は、Amazon WorkSpaces Cost Optimizer における Pricing Parameters の設定について深く掘り下げてみました。

本ブログが Amazon WorkSpaces のコスト削減に少しでも役に立てば幸いです。

ではまたお会いしましょう。

佐竹 陽一 (Yoichi Satake) 記事一覧はコチラ

SRE2課所属。AWS資格12冠。2010年1月からAWSを利用してきました。
AWSのコスト削減、最適化を得意としています。