Skip to content

runbooks finops ec2-decommission-analysisΒΆ

Auto-generated from runbooks finops ec2-decommission-analysis --help on 2026-05-21. Source of truth: runbooks PyPI package v1.3.22

Usage: runbooks finops ec2-decommission-analysis [OPTIONS]

  EC2 decommission analysis with E1-E7 scoring framework.

  This command provides enterprise EC2 decommission candidate identification
  with: β€’ E1-E7 multi-signal scoring (Compute Optimizer, CloudWatch,
  CloudTrail, SSM, etc.) β€’ MUST/SHOULD/COULD/KEEP tier classification β€’ Top 50
  decommission candidates executive summary β€’ Annual savings projections per
  instance β€’ Professional Rich CLI output for CxO consumption

  Scoring Framework (0-100 scale): β€’ MUST (80-100): Immediate decommission
  candidates β€’ SHOULD (50-79): Strong candidates (review recommended) β€’ COULD
  (25-49): Potential candidates (manual review) β€’ KEEP (<25): Active resources
  (no action)

  Signal Framework (E0-E7): β€’ E0: Instance Scheduler tag exclusion (false-
  positive prevention) β†’ -15 points β€’ E1: Compute Optimizer Idle
  recommendation (AWS ML-based) β†’ +60 points β€’ E2: CloudWatch CPU+Network
  utilization (p95 CPU ≀3%, Network ≀10MB/day) β†’ +10 points β€’ E3: CloudTrail
  activity (no write events for 90 days) β†’ +8 points β€’ E4: SSM heartbeat
  (offline or >14d stale) β†’ +8 points β€’ E5: Service attachment (not in
  ASG/LB/ECS/EKS cluster) β†’ +6 points β€’ E6: Storage I/O activity (p95 DiskOps
  β‰ˆ 0) β†’ +5 points β€’ E7: Cost Explorer rightsizing recommendation (terminate
  savings > $0) β†’ +3 points

  Examples:     # Basic decommission analysis (fast, no expensive signals)
  runbooks finops ec2-decommission-analysis \         --input
  data/ec2-inventory.xlsx \         --output data/ec2-decommission-
  analysis.xlsx \         --profile mgmt-ro

      # Comprehensive analysis with expensive signals (CloudTrail, SSM,
      Compute Optimizer)     runbooks finops ec2-decommission-analysis \
      -i data/ec2.xlsx \         -o data/ec2-decommission-full.xlsx \
      --profile mgmt-ro \         --enable-expensive-signals

  Input File Format:     Excel file with required columns:     - instance_id:
  EC2 instance ID (i-xxxxx)     - account_id: 12-digit AWS account ID     -
  region: AWS region (ap-southeast-2, etc.)

  Output File Format:     Multi-sheet Excel with:     - Sheet 1: Enriched Data
  (67+ columns with decommission scores)     - Sheet 2: Top 50 Decommission
  Candidates (executive summary)     - Sheet 3: Cost Summary (by account/tier)
  - Sheet 4: Validation Metrics

  Performance Notes:     β€’ Fast mode (no expensive signals): ~5-10 seconds
  β€’ Full mode (with expensive signals): ~60-90 seconds     β€’ Expensive
  signals: CloudTrail (60s), SSM (10s), Compute Optimizer (10s)

  Pattern: Migrated from notebooks/compute/ec2.ipynb with CxO executive polish

Options:
  -i, --input PATH                Input EC2 inventory Excel file (with
                                  instance_id, account_id, region columns)
                                  [required]
  -o, --output PATH               Output enriched Excel file with decommission
                                  analysis  [required]
  --enable-expensive-signals / --no-expensive-signals
                                  Enable expensive signals (CloudTrail
                                  activity, SSM, Compute Optimizer)
  --output-dir PATH               Output directory for exported files
  --profile TEXT                  AWS profile (KISS: auto-resolves
                                  management/billing/ops from
                                  AWS_MANAGEMENT_PROFILE, AWS_BILLING_PROFILE
                                  env vars)
  --all-profile TEXT              Multi-Account: management profile for
                                  Organizations + Cost Explorer across all
                                  accounts. Resolves MANAGEMENT, BILLING,
                                  OPERATIONAL profiles from env vars.
  --input-sheet TEXT              Sheet name to read from input Excel file
                                  (default: 'ec2').
  --help                          Show this message and exit.

ExamplesΒΆ