Menu
Amazon WorkSpaces Cost Optimizer
Amazon WorkSpaces Cost Optimizer

Architecture Overview

Deploying this solution with the default parameters builds the following environment in the AWS Cloud.


        Amazon WorkSpaces Cost Optimizer architectural overview

Figure 1: Amazon WorkSpaces Cost Optimizer architecture

The AWS CloudFormation template creates an Amazon CloudWatch event that invokes the Amazon WorkSpaces Cost Optimizer AWS Lambda parent function every 24 hours. The parent Lambda function polls the AWS Directory Service to gather a list of all directories registered for Amazon WorkSpaces in a specific AWS Region.

The child Lambda function checks the total usage for each WorkSpace that is on an hourly billing model. If the monthly usage threshold has been met, the solution will convert the individual WorkSpace to monthly billing. Note that a new child Lambda function will be invoked for every 25 WorkSpaces in your account.

Note

If a WorkSpace starts in monthly billing or the solution converts a WorkSpace from hourly to monthly billing, the solution will not convert the WorkSpace to hourly billing until the beginning of the next month, if usage was below the threshold. However, you can manually change the billing model at any time using the Amazon WorkSpaces console. Also, you can change the threshold for when each WorkSpace converts from hourly to monthly billing. For more information, see Billing Model Conversion.

At the end of the month, the child Lambda function checks the total usage for each Workspace that is on a monthly billing model. If the monthly usage threshold has not been met, the solution will convert the individual WorkSpace from monthly to hourly billing at the end of each execution.

The AWS CloudFormation template also creates an Amazon S3 bucket to log the conversions at the end of each execution.

Note

Customers should check their Amazon S3 bucket frequently to track the optimizer’s activity, and to view logs with error messages.