aws-solutions / cost-optimizer-for-amazon-workspaces

This solution analyzes all of your Amazon WorkSpaces usage data and automatically converts the WorkSpace to the most cost-effective billing option (hourly or monthly), depending on your individual usage. Use this with a single account, or with AWS Organizations across multiple accounts, to help you monitor your WorkSpace usage and optimize costs.
https://aws.amazon.com/solutions/implementations/cost-optimizer-for-amazon-workspaces/
Apache License 2.0
78 stars 45 forks source link

Support multiple auto stop hour configurations #66

Open CingularIT opened 5 months ago

CingularIT commented 5 months ago

The current solution applies the default of 1 hour when moving workspaces to auto stop mode, requesting that this be moved to a tagged value as we have some workspaces that run tasks with no interactivity and would like them to auto stop after 8 hours, where other workspaces can auto stop at the default of 1 hour.

G-Lenz commented 5 months ago

Hi,

Thank you for the feature request, we will add this to our backlog for further review. Just to clarify my understanding of your suggestion: The concern is the calculation of auto-stop timeout, since it is defined in the CFN parameters it uses a blanket number of hours for all workspaces, and in your accounts you have auto-stop timeouts that vary per workspace and would like a way to account for the variation.

CingularIT commented 5 months ago

Thank you for adding this to the backlog!

Correct, the issue is with the blanket number of hours for all workspaces. I.E. I'm assuming this is the AutoStopTimeoutHours parameter I see defined in the task definition with a value of 1. The request would be to se this on a dynamic basis using a tag on the instances themselves, or based on bundle/directory ID which complicates things more in my opinion.

I.E. Workspace ID's ws-11111111 and ws-22222222 belong to bundle Developer_Bundle and an AutoStop time of 1 hours works great. Workspace ID's ws-33333333 and ws-44444444 belong to bundle Automation_Bundle are used to run some automation where users do not show as active (They login, start the task and the window sits idle), so we would want to set their AutoStop time to a longer interval such as 8 hours.

Hope this helps!