Skip to main content

Check Categories

ZapStack runs three types of checks:
  1. Unused - Resources that exist but aren’t being used
  2. Optimization - Resources that could be configured more efficiently
  3. Idle - Resources with minimal utilization

EC2 Checks

Idle EC2 Instances

ID: ec2-idle-instanceIdentifies EC2 instances with average CPU utilization below 5% over the past 14 days.Recommendation: Consider stopping or terminating idle instances, or right-sizing to a smaller instance type.

Graviton Migration

ID: ec2-graviton-eligibleIdentifies x86-based instances that could be migrated to Graviton (ARM) for cost savings.Recommendation: Graviton instances offer up to 40% better price-performance. Test workload compatibility and migrate.

EBS Checks

Unattached Volumes

ID: ebs-unattached-volumeIdentifies EBS volumes not attached to any EC2 instance.Recommendation: Delete unneeded volumes or attach to instances. Consider snapshotting before deletion.

GP2 to GP3 Migration

ID: ebs-gp2-to-gp3Identifies GP2 volumes that could be migrated to GP3 for cost savings.Recommendation: GP3 provides the same performance at 20% lower cost. Migration can be done online with no downtime.

Old Snapshots

ID: ebs-old-snapshotIdentifies EBS snapshots older than 90 days.Recommendation: Review and delete snapshots that are no longer needed. Consider implementing lifecycle policies.

RDS Checks

Idle RDS Instances

ID: rds-idle-instanceIdentifies RDS instances with no database connections over the past 14 days.Recommendation: Stop or delete idle databases. Consider using RDS snapshot for backup before deletion.

Reserved Instance Coverage

ID: rds-ri-coverageIdentifies on-demand RDS instances that could benefit from Reserved Instance pricing.Recommendation: Purchase Reserved Instances for steady-state workloads to save up to 60%.

DynamoDB Checks

Idle Tables

ID: dynamodb-idle-tableIdentifies DynamoDB tables with no read or write activity over the past 14 days.Recommendation: Delete unused tables or consider on-demand capacity mode for sporadic access patterns.

On-Demand vs Provisioned

ID: dynamodb-capacity-modeAnalyzes table access patterns to recommend optimal capacity mode.Recommendation: Switch to on-demand for unpredictable workloads, or provisioned with auto-scaling for steady workloads.

Lambda Checks

Unused Functions

ID: lambda-unused-functionIdentifies Lambda functions with no invocations over the past 30 days.Recommendation: Delete unused functions to reduce clutter and potential security surface.

Memory Right-Sizing

ID: lambda-memory-sizingAnalyzes Lambda function memory utilization to identify over-provisioned functions.Recommendation: Reduce memory allocation to match actual usage. Use AWS Lambda Power Tuning for optimization.

S3 Checks

Incomplete Multipart Uploads

ID: s3-incomplete-multipartIdentifies S3 buckets with incomplete multipart uploads consuming storage.Recommendation: Configure lifecycle rules to automatically abort incomplete uploads after 7 days.

Elastic IP Checks

Unattached Elastic IPs

ID: eip-unattachedIdentifies Elastic IPs not associated with any resource.Recommendation: Release unused Elastic IPs. AWS charges for unattached EIPs.

Security Group Checks

Unused Security Groups

ID: sg-unusedIdentifies security groups not attached to any resource.Recommendation: Delete unused security groups to reduce clutter and simplify security management.

Load Balancer Checks

Idle Load Balancers

ID: elb-idleIdentifies load balancers with no healthy targets or minimal traffic.Recommendation: Delete unused load balancers to eliminate hourly charges.