Overview
Finops Optimization Bots Preview
Overview of finops optimization bots with example
The primary goal is to optimize cloud spending and improve FinOps efficiency within an AWS environment.
The core objectives include:
- Cost Reduction: Automatically eliminating unused or underutilized resources such as idle EC2 instances, old snapshots to directly lower monthly AWS bills.
- Security and Compliance: The utility operates entirely within your AWS environment, using your credentials. No data is sent outside of your account.
- Monitoring & Reporting: Dry-Run Mode is a critical feature that allows users to simulate all bot actions and review potential changes before modifying or deleting any resources.
These global configuration parameters are:
- ACTION: (Mandatory) Specifies the bot's function (e.g., deleteavailablevolumes, deleteelasticips).
- LOG_LEVEL: Sets the output verbosity. Default: INFO.
- REGION: The AWS region for sessions. Default: us-east-1.
- TIMEZONE: Timezone for operations. Default: UTC.
- MAX_THREADS: Number of threads for parallel execution. Default: 10.
- DRY_RUN: If true, the bot only simulates actions and shows output. Set to false to execute actions. Default: true.
IAM Permissions: The tool requires an IAM policy with the following permissions to operate:
- EC2: Describe*, Delete*, Create*, Modify*, Start*, Stop*, Attach*, Detach*, Release* on resources like Volumes, Snapshots, Images, Instances, and Addresses.
- RDS: Describe*, Start*, Stop*, Delete*, ListTagsForResource, AddTagsToResource on DB Instances, Clusters, and Snapshots.
- S3: List*, Get*, Put*, Delete*, Abort* on Buckets, Objects, and Multipart Uploads. 4. DynamoDB: ListTables, ListBackups, DeleteBackup.
- ELB: Describe*, DeleteLoadBalancer.
- CloudWatch: GetMetricStatistics.
- Logs: *.
- Cost Explorer (CE): GetCostAndUsage.
Bot-Specific Variables: These are optional environment variables to customize each bot's behavior.
- deleteavailablevolumes: Deletes unused EBS volumes.
- deletedynamodbbackups: Deletes backups older than DELETE_DYNAMODBBACKUPS_RETENTION_PERIOD. Default: 1d.
- deletes3multipartupload: Deletes incomplete S3 multipart uploads older than DELETE_S3_MULTIPARTUPLOAD_THRESHOLD_HOURS. Default: 24 hours.
- deleteebssnapshots: Deletes EBS snapshots older than DELETE_EBS_SNAPSHOTS_age. Default: 30 days.
- deleteec2snapshots: Deletes EC2 AMI snapshots older than DELETE_EC2_SNAPSHOTS_age. Default: 30 days.
- deleteelasticips: Deletes unused Elastic IPs.
- deleteidleelb: Deletes idle ELB/ALB based on request count (DELETE_IDLE_ELB_REQUEST_THRESHOLD, default 0) and monitoring window (DELETE_IDLE_ELB_REQUEST_WINDOW_HOURS, default 24 hours).
- deleteidleresources: Deletes idle EC2/RDS instances based on CPU usage (DELETE_IDLE_RESOURCES_CPU_THRESHOLD, default 5.0%) over a period (DELETE_IDLE_RESOURCES_THRESHOLD_DAYS, default 7 days).
- deleteolderversionobjects: Deletes old S3 object versions. Settings include the number of versions to keep (DELETE_OLD_VERSION_RETAIN_VERSION_COUNT, default 3) and the age threshold (DELETE_OLD_VERSION_THRESHOLD_DAYS, default 30 days).
- deleterdssnapshots: Deletes RDS snapshots older than DELETE_RDS_SNAPSHOTS_age. Default: 30 days.
- findmarketplacesubscriptions: Identifies costly Marketplace subscriptions. Thresholds are FIND_MARKETPLACE_SUBS_THRESHOLD_COST (default 10) and FIND_MARKETPLACE_SUBS_THRESHOLD_DAYS (default 30).
- migrateebsvolumes: Migrates EBS volumes, e.g., from gp2 to gp3 (default). You can specify a MIGRATE_EBS_VOLUMES_VOLUME_ID and a flag to delete the old volume on failure (MIGRATE_EBS_VOLUMES_DELETE_OLD_VOLUME).
- missingtags: Generates a report of resources with missing tags. MISSING_TAGS_REQUIRED_TAG_KEYS (default Environment,Role,Name,Server_Spoc,Business_Spoc) and an S3 bucket MISSING_TAGS_BUCKET_NAME (default aws-missingtags) for the output CSV.
- updatetags: Applies tags to resources based on a CSV file in an S3 bucket (UPDATE_TAGS_BUCKET_NAME default tag-updates, UPDATE_TAGS_S3_FILE_NAME default s3tags.csv, UPDATE_TAGS_RDS_FILE_NAME default rdstags.csv and UPDATE_TAGS_EC2_FILE_NAME default ec2tags.csv).
- startresources: Starts EC2/RDS instances based on a tag key (START_RESOURCES_KEY, default Schedule_Start) and value (START_RESOURCES_VALUE, default Auto). You can enable it for RDS (START_RESOURCES_RDS) or EC2 (START_RESOURCES_EC2).
- stopresources: Stops EC2/RDS instances using a tag key (STOP_RESOURCES_KEY, default Schedule_Stop) and value (STOP_RESOURCES_VALUE, default Auto). You can enable it for RDS (STOP_RESOURCES_RDS) or EC2 (STOP_RESOURCES_EC2).
Bots on ECS or EKS generate logs based on the LOG_LEVEL variable, which can be exported to a customer's existing monitoring tools.
Note: The utility requires elevated AWS permissions. Please review and test in non-production environments before deploying widely. 1. Reduce monthly AWS spend by eliminating unused resources automatically 2. Increase FinOps efficiency with customizable cleanup BOTs
Highlights
- Quick to set up and use on Amazon ECS and EKS
- Operating within a containerized environment has default dry-run mode to preview changes and prevent accidental deletions
- Automatically identifies and removes unused resources to reduce AWS costs across all regions.
Details
Unlock automation with AI agent solutions

Features and programs
Financing for AWS Marketplace purchases
Pricing
- $16.00/month
Vendor refund policy
Harman will not refund money in any case; however, you can cancel your subscription at any time.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
FinOps cost optimization bots
- Amazon ECS
- Amazon EKS
Container image
Containers are lightweight, portable execution environments that wrap server application software in a filesystem that includes everything it needs to run. Container applications run on supported container runtimes and orchestration services, such as Amazon Elastic Container Service (Amazon ECS) or Amazon Elastic Kubernetes Service (Amazon EKS). Both eliminate the need for you to install and operate your own container orchestration software by managing and scheduling containers on a scalable cluster of virtual machines.
Version release notes
The version 0.0.3 supports 16 bots for cost optimization
Additional details
Usage instructions
docker run <registry/repository:version> -e ACTION="deleteelasticips"
For AMD64: docker run 709825985650.dkr.ecr.us-east-1.amazonaws.com/harman-digital-transformation-solutions/aws-optimization-bots:amd64-0.0.3-py3.13.6 -e ACTION="deleteelasticips"
For ARM64: docker run 709825985650.dkr.ecr.us-east-1.amazonaws.com/harman-digital-transformation-solutions/aws-optimization-bots:arm64-0.0.3-py3.13.6 -e ACTION="deleteelasticips"
Support
Vendor support
HARMAN DTS Cloud & Infrastructure team provides the best technical documentation for installation and setup. We will do our best to respond to your questions within the next 24 hours in business days. For any technical support or query, you can drop an email here: mailto: CloudSupport@harman.comÂ
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.
Similar products
