Marketplace

aws-cost-optimization

Optimize AWS costs through resource rightsizing and savings strategies

$ 설치

git clone https://github.com/pluginagentmarketplace/custom-plugin-aws /tmp/custom-plugin-aws && cp -r /tmp/custom-plugin-aws/skills/aws-cost-optimization ~/.claude/skills/custom-plugin-aws

// tip: Run this command in your terminal to install the skill


name: aws-cost-optimization description: Optimize AWS costs through resource rightsizing and savings strategies sasmp_version: "1.3.0" bonded_agent: 01-aws-fundamentals bond_type: SECONDARY_BOND

AWS Cost Optimization Skill

Reduce AWS spending while maintaining performance and reliability.

Quick Reference

AttributeValue
AWS ServicesCost Explorer, Budgets, Trusted Advisor
ComplexityMedium
Est. Time30-60 min analysis
PrerequisitesCost & Usage Reports access

Parameters

Required

ParameterTypeDescriptionValidation
time_periodstringAnalysis periodlast_30_days, last_90_days
scopearrayService types["EC2", "RDS", "S3"]

Optional

ParameterTypeDefaultDescription
savings_targetfloat20Target savings %
include_recommendationsbooltrueInclude AWS recommendations
tag_filterobject{}Filter by tags

Cost Optimization Framework

┌─────────────────────────────────────────────────────────┐
│                  COST OPTIMIZATION                       │
├─────────────────────────────────────────────────────────┤
│ 1. RIGHT SIZE     │ Match resources to actual usage     │
│ 2. SAVINGS PLANS  │ Commit for 30-72% savings           │
│ 3. SPOT/RESERVED  │ Use discount pricing models         │
│ 4. STORAGE TIER   │ Move data to cheaper storage        │
│ 5. CLEANUP        │ Remove unused resources             │
└─────────────────────────────────────────────────────────┘

Savings Strategies by Service

EC2 Optimization

StrategyEffortSavings
Right-sizingLow10-50%
Graviton (arm64)Medium40%
Spot InstancesMedium60-90%
Savings PlansLow30-72%
Reserved InstancesLow30-60%
Scheduled scalingMedium20-40%

RDS Optimization

StrategyEffortSavings
Right-sizingLow10-40%
Reserved InstancesLow30-60%
Aurora ServerlessMediumVariable
Multi-AZ reviewLow50% (if not needed)
Storage optimizationLow10-30%

S3 Optimization

StrategyEffortSavings
Intelligent-TieringLow20-40%
Lifecycle policiesLow40-80%
Glacier transitionLow80-95%
Cleanup old versionsLow10-30%
CompressionMedium20-50%

Implementation

Cost Analysis Query

# Get cost by service
aws ce get-cost-and-usage \
  --time-period Start=2024-01-01,End=2024-01-31 \
  --granularity MONTHLY \
  --metrics BlendedCost \
  --group-by Type=DIMENSION,Key=SERVICE

# Get rightsizing recommendations
aws ce get-rightsizing-recommendation \
  --service EC2 \
  --configuration '{
    "RecommendationTarget": "SAME_INSTANCE_FAMILY",
    "BenefitsConsidered": true
  }'

Budget Alert

aws budgets create-budget \
  --account-id 123456789012 \
  --budget '{
    "BudgetName": "Monthly-Total",
    "BudgetLimit": {"Amount": "1000", "Unit": "USD"},
    "TimeUnit": "MONTHLY",
    "BudgetType": "COST"
  }' \
  --notifications-with-subscribers '[{
    "Notification": {
      "NotificationType": "ACTUAL",
      "ComparisonOperator": "GREATER_THAN",
      "Threshold": 80,
      "ThresholdType": "PERCENTAGE"
    },
    "Subscribers": [{
      "SubscriptionType": "EMAIL",
      "Address": "alerts@company.com"
    }]
  }]'

Savings Plan Analysis

# Get Savings Plans recommendations
aws ce get-savings-plans-purchase-recommendation \
  --savings-plans-type COMPUTE_SP \
  --term-in-years ONE_YEAR \
  --payment-option NO_UPFRONT \
  --lookback-period-in-days SIXTY_DAYS

Cost Checklist

Quick Wins (Low Effort, High Impact)

  • Delete unattached EBS volumes
  • Release unused Elastic IPs
  • Remove old EBS snapshots
  • Delete unused load balancers
  • Terminate stopped EC2 instances
  • Clean up old AMIs
  • Review NAT Gateway data transfer

Medium-Term (Medium Effort)

  • Right-size EC2 instances
  • Implement S3 lifecycle policies
  • Migrate to Graviton instances
  • Use Spot for fault-tolerant workloads
  • Purchase Savings Plans
  • Implement auto-scaling

Long-Term (High Effort, Strategic)

  • Modernize to serverless
  • Optimize data transfer architecture
  • Implement FinOps practices
  • Tag everything for cost allocation

Troubleshooting

Common Issues

SymptomCauseSolution
Unexpected costsUnused resourcesEnable Cost Anomaly Detection
Data transfer spikeCross-region/AZUse VPC endpoints
Storage growthNo lifecycle rulesImplement policies
NAT Gateway costsHeavy outboundUse VPC endpoints

Cost Anomaly Detection

aws ce create-anomaly-monitor \
  --anomaly-monitor '{
    "MonitorName": "cost-anomalies",
    "MonitorType": "DIMENSIONAL",
    "MonitorDimension": "SERVICE"
  }'

aws ce create-anomaly-subscription \
  --anomaly-subscription '{
    "SubscriptionName": "alert-subscription",
    "MonitorArnList": ["arn:aws:ce::...:anomalymonitor/..."],
    "Subscribers": [{
      "Type": "EMAIL",
      "Address": "alerts@company.com"
    }],
    "Threshold": 100
  }'

Monthly Review Checklist

weekly:
  - Check Cost Anomaly alerts
  - Review Trusted Advisor recommendations

monthly:
  - Run rightsizing analysis
  - Review Savings Plans utilization
  - Check Reserved Instance coverage
  - Analyze data transfer costs
  - Clean up unused resources

quarterly:
  - Evaluate Savings Plans purchase
  - Architecture optimization review
  - Tag compliance audit

Test Template

def test_cost_optimization_compliance():
    # Check for unattached EBS volumes
    volumes = ec2.describe_volumes(
        Filters=[{'Name': 'status', 'Values': ['available']}]
    )
    assert len(volumes['Volumes']) == 0, "Unattached EBS volumes found"

    # Check for unused Elastic IPs
    addresses = ec2.describe_addresses()
    unattached = [a for a in addresses['Addresses'] if 'InstanceId' not in a]
    assert len(unattached) == 0, "Unused Elastic IPs found"

Assets

  • assets/cost-checklist.yaml - Cost optimization checklist

References