

# 機能とメリット
<a name="features-and-benefits"></a>

Amazon WorkSpaces のコストオプティマイザー ソリューションには、次の機能があります。

## Dry Run Mode
<a name="dry-run-mode"></a>

このソリューションを数か月間は Dry run mode (デフォルトでアクティブ) で実行し、日次レポートと月次レポートを確認して、必要な変更を手動で実装することをお勧めします。Dry run mode では、推奨される変更が WorkSpaces のコストにどのように影響するかを把握できます。このモードにより、ソリューションで請求変更を自動的に実装することなく、ソリューションの推奨を評価および分析することもできます。このソリューションで提供している推奨事項に慣れており、これらの推奨事項を自動的に実装する場合は、**Dry Run Mode** テンプレートパラメータを `No` に変更します 以降、このソリューションは日次レポートと月次レポートに記載されている推奨事項に基づいて料金モデルの変更を自動的に実行します。

## 自動的な請求の変更
<a name="automatic-billing-conversion"></a>

**Dry Run Mode** パラメータが `No` に設定されている場合、このソリューションは、特定の月の WorkSpace の使用量に応じて、WorkSpace を月次または時間単位の請求モデルに変更します。WorkSpace の使用量がしきい値を超えると、使用量がしきい値を超えた日に請求モデルが月単位に変更されます。月単位から時間単位へのモード変換は、その月の最終日に行われます。その月の WorkSpace の使用量がしきい値以下だった場合は、その月の最終日に請求モデルが時間単位に変更されます。

### 時間単位から月単位へ
<a name="hourly-to-monthly"></a>

このソリューションでは、1 日に 1 回、午前 0 時 (GMT) の直前に、WorkSpace ごとに時間単位の使用量が計算されます。この計算には、その日の使用量が含まれます。**Dry Run Mode** パラメータが `No` に設定されている場合は、WorkSpace がその WorkSpace タイプの時間単位の使用量のしきい値を超えた場合に、個々の WorkSpaces を時間単位の請求モデルから月単位の請求モデルに自動的に変更します。

しきい値は、デフォルトで、時間単位および月単位の請求の損益分岐点に近く設定されます。ただし、このソリューションのハブテンプレートのパラメータを使用して、WorkSpace ごとに時間単位から月単位の請求に変更する際のしきい値を変更できます。

**注記**  
このソリューションでは、午前 0 時の計算前に WorkSpace を変更できないため、デフォルト設定では、一部の WorkSpace でしきい値を超えていたとしても、最大で 24 時間の間は変更が行われない場合があります。例えば、Standard インスタンスのデフォルトのしきい値は `85` に設定されます。月曜日の午前 0 時に使用量が `84` の場合は、WorkSpace は月単位の請求に変更されません。月曜日の午前 0 時以降にこの使用量が `85` を超えた場合は、その WorkSpace は火曜日の午前 0 時まで変更されません。  
変更される前に、複数の WorkSpaces が常にしきい値を超えている場合は、しきい値を下げることを検討してください。しきい値を超える前にいくつかの WorkSpaces が途中で変更された場合は、しきい値を引き上げることを検討してください。  
この潜在的な不整合を軽減するには、Dry Run Mode を使用して使用状況を注意深くモニタリングし、必要に応じてしきい値を調整してから **Dry Run Mode** パラメータを `No` に設定することをお勧めします。

WorkSpace が時間単位の請求モデルから月単位の請求モデルに変更されると、このソリューションによってその WorkSpace が時間単位の請求モデルに戻されるのは翌月の初めになり、その場合は使用量がしきい値未満であることが条件となります。ただし、請求モデルは、[AWS マネジメントコンソール](https://console.aws.amazon.com/console/)を使用していつでも手動で変更できます。

### 月単位から時間単位へ
<a name="monthly-to-hourly"></a>

WorkSpaces を月単位の請求から時間単位の請求にすぐに変更したい方向けに、このソリューションの CloudFormation テンプレートには、デプロイ時にこれらの変更を実行するパラメータ (**Simulate End of Month**) が含まれています。

## 未使用の WorkSpaces の終了
<a name="terminate-unused-workspaces"></a>

**重要**  
**Simulate End of Month Cleanup** パラメータおよび **Terminate workspaces not used for a month** パラメータを同時に `Yes` に設定することはしないでください。これらのパラメータを同時に設定すると、WorkSpaces が予期せず終了します。  
**Simulate End of Month Cleanup** パラメータは、月の最後の日であるかのようにソリューションを実行し、WorkSpaces を予期せず終了します。**Terminate unused WorkSpaces** 機能を使用するには、**Simulate End of Month Cleanup** を `No` に設定します。

このソリューションには、未使用の WorkSpaces を完全に終了する機能があります。このソリューションは、ディザスタリカバリ機能を維持するために、[スタンバイワークスペース](https://docs.aws.amazon.com/workspaces/latest/adminguide/multi-region-resilience.html)を自動的に識別して終了から除外します。スタンバイワークスペースは、ディザスタリカバリの目的でプライマリワークスペースに関連付けられたバックアップワークスペースであり、使用パターンに関係なく終了されることはありません。デフォルトでは、この機能は `No` に設定されており、これを許可するには、入力パラメータ **Terminate Unused WorkSpaces** を `Yes` または `Dry Run` に設定します。

入力パラメータ **Number of months for termination check** を使用して、未使用期間の長さを設定します。例えば、値を 2 か月に設定すると、ソリューションは 2 か月間使用されなかった WorkSpaces を終了対象として選択します。

**注記**  
この機能を有効にすると、未使用の WorkSpaces が終了し、既存の CloudFormation スタックが変更されます。既存の CloudFormation リソースが変更されると、リソースの状態とスタック内のその定義との間にずれが生じる可能性があります。この機能を有効にする前に、これらの変更が既存のリソースやアプリケーションに影響を与えないことを確認してください。

WorkSpace を終了するには、以下の条件を満たす必要があります。
+ WorkSpace はプライマリ WorkSpace である必要があります (スタンバイワークスペースは自動的に除外されます)
+ 設定した未使用期間の最初の日から WorkSpace を使用できること。
+ ユーザーが WorkSpace に最後にログインした時間を示す **LastKnownUserConnectionTimestamp** が、設定した未使用期間の最初の日よりも前であること。
+ **Launch in Dry Run Mode** 入力パラメータが `No` に設定されていること。

この基準を満たしている場合、WorkSpace は終了の対象となります。ソリューションは、**Terminate Unused Workspaces** パラメータの以下のオプションを確認します。
+  **Yes** - この機能を有効にするには、**Terminate Unused Workspaces** 入力パラメータで `Yes` を選択します。有効にすると、このソリューションは前回の既知のユーザーの接続タイムスタンプに基づいて、その月に使用されなかったすべての WorkSpaces を識別します。ソリューションは、上記の基準を満たす場合にのみ WorkSpace を終了します。
+  **Dry Run** - **Terminate Unused WorkSpaces** 入力パラメータで `Dry Run` を選択すると、このソリューションは WorkSpace を終了するためのすべての条件をチェックしてレポートを更新しますが、WorkSpace は終了しません。生成されたレポートは、WorkSpace の `Yes- Dry Run` としてマークされます。

**注記**  
最初の数か月は、この機能を Dry Run Mode で実行し、月次レポートを確認して、削除のマークが付けられている WorkSpaces を確認することをお勧めします。レポートには WorkspaceType が PRIMARY または STANDBY として表示され、評価対象のワークスペースを理解するのに役立ちます。
+  **No** – このオプションは、デフォルトではオフ (`No` に設定) になっています。WorkSpace は終了せず、レポートにはこの WorkSpace のエントリはありません。

未使用の WorkSpaces を終了するためのこのチェックは、月の最終日、またはユーザーが **Simulate End of Month Cleanup** パラメータを `Yes` に設定した場合にのみ実行されます。

## WorkSpaces のオプトアウト
<a name="opt-out-workspaces"></a>

WorkSpace の請求モデルをこのソリューションで変更したり、未使用の WorkSpace として終了したりしないようにするには、`Skip_Convert` タグキーと任意のタグ値を使用して、WorkSpace にリソースタグを適用します。このソリューションでは、タグ付きの WorkSpaces をログに記録しますが、タグ付きの WorkSpaces は変更または終了しません。タグを削除することで、いつでも WorkSpace の自動変更および終了チェックを再開できます。

## リージョンのオプトイン
<a name="opt-in-regions"></a>

このソリューションでは、**List of AWS Regions** 入力パラメータを提供しており、このパラメータには、このソリューションでモニタリングする AWS リージョンを指定します。モニタリングする AWS リージョンのカンマ区切りリストを指定できます。この入力パラメータを空白のままにすると、このソリューションはデフォルトで、AWS アカウントのすべての AWS リージョンの WorkSpaces をモニタリングします。

## 既存の Amazon VPC へのデプロイ
<a name="deployment-to-existing-vpc"></a>

このソリューションは、新しい [Amazon Virtual Private Cloud (Amazon VPC)](https://aws.amazon.com/vpc/) を作成して、Amazon ECS タスクを実行します。必要に応じて、CloudFormation テンプレートの入力パラメータの一部としてサブネット ID とセキュリティグループ ID を指定することで、既存の Amazon VPC にこのソリューションをデプロイできます。既存の Amazon VPC でこのソリューションを実行するには、Amazon ECS タスクをパブリックサブネットまたはインターネットへのルートを持つプライベートサブネットで実行する必要があります。Amazon ECS タスクは、公開されている [Amazon Elastic Container Registry (Amazon ECR)](https://aws.amazon.com/ecr/) のリポジトリでホストされている Docker イメージを取得するため、このルートが必要です。ECS タスクの実行に使用されるセキュリティグループにより、このイメージを ECR リポジトリから取得できます。既存の VPC にソリューションをデプロイするには、入力パラメータ **Create New VPC** で [No] を選択します。入力セクション **Existing VPC settings** で、既存の VPC の詳細を入力します。**New VPC Settings** セクションのデフォルト値は変更しないでください。

**注記**  
ソリューションをパブリックサブネットにデプロイするには、サブネット自体でパブリック IP の自動割り当てを有効にする必要があります。

## メンテナンスの計算
<a name="maintenance-calculation"></a>

WorkSpaces を `ALWAYS_ON` モードに変更して、パッチまたはその他のメンテナンススクリプトを実行する場合は、`ALWAYS_ON` 時間を考慮して、それに応じて CloudFormation テンプレートのしきい値を調整する必要があります。例えば、メンテナンススクリプトを実行するためにモードを `AUTO_STOP` から `ALWAYS_ON` に 10 時間変更した場合、CloudFormation テンプレートで設定されたしきい値から 10 時間を差し引く必要があります。

このソリューションは、ディレクトリでメンテナンスモードが有効になっている場合、AUTO\$1STOP ワークスペースでのデフォルトの AWS メンテナンスアクティビティを自動的に処理します。メンテナンスモードが有効になっているディレクトリの場合、このソリューションはメンテナンスウィンドウを考慮して、毎月月末に AUTO\$1STOP ワークスペースに 1 時間の使用量を追加します。