mcpField
C
cost-optimization

cost-optimization

github.com/wshobsonクラウド・DevOps41.9k11.6k 回インストール2 週間前に更新
リポジトリ

cost-optimization について

AWS、Azure、GCP、OCI の支出を管理するチーム向けのクラウドコスト最適化スキルです。コストの可視化、リソースの適正化、料金モデル、アーキテクチャのパターンを扱います。

主な機能

  1. 01コストの可視化と予算アラート
  2. 02利用状況分析とリソース適正化
  3. 03予約・スポット・コミット料金
  4. 04ストレージとアーキテクチャの最適化
  5. 05マルチクラウドのコスト監視

活用シーン

  1. 01複数クラウドの支出削減
  2. 02利用状況に基づくリソース適正化
  3. 03予算設定とコスト異常の検知
  4. 04定常・バッチ処理に合う料金の選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wshobson/agents --skill cost-optimization

インストール後、Claude Code で/cost-optimizationを入力して読み込まれたか確認します。

同梱ファイルreferences/tagging-standards.md

詳細

クラウドコスト最適化

AWS、Azure、GCP、OCI 全体でクラウドコストを最適化するための戦略とパターン。

目的

パフォーマンスと信頼性を維持しながらクラウド支出を削減するため、体系的なコスト最適化戦略を実装します。

使用する場面

  • クラウド支出を削減する
  • リソースを適正サイズにする
  • コストガバナンスを実装する
  • マルチクラウドのコストを最適化する
  • 予算制約を満たす

コスト最適化フレームワーク

1. 可視化
  • コスト配分タグを実装する
  • クラウドコスト管理ツールを使用する
  • 予算アラートを設定する
  • コストダッシュボードを作成する
2. 適正サイズ化
  • リソース使用率を分析する
  • 過剰にプロビジョニングされたリソースを縮小する
  • 自動スケーリングを使用する
  • アイドル状態のリソースを削除する
3. 料金モデル
  • リザーブドキャパシティを使用する
  • スポット/プリエンプティブルインスタンスを活用する
  • Savings Plans を実装する
  • コミットメント利用割引を使用する
4. アーキテクチャの最適化
  • マネージドサービスを使用する
  • キャッシュを実装する
  • データ転送を最適化する
  • ライフサイクルポリシーを使用する

AWS のコスト最適化

リザーブドインスタンス
Savings: 30-72% vs On-Demand
Term: 1 or 3 years
Payment: All/Partial/No upfront
Flexibility: Standard or Convertible
Savings Plans
Compute Savings Plans: 66% savings
EC2 Instance Savings Plans: 72% savings
Applies to: EC2, Fargate, Lambda
Flexible across: Instance families, regions, OS
スポットインスタンス
Savings: Up to 90% vs On-Demand
Best for: Batch jobs, CI/CD, stateless workloads
Risk: 2-minute interruption notice
Strategy: Mix with On-Demand for resilience
S3 のコスト最適化
resource "aws_s3_bucket_lifecycle_configuration" "example" {
  bucket = aws_s3_bucket.example.id

  rule {
    id     = "transition-to-ia"
    status = "Enabled"

    transition {
      days          = 30
      storage_class = "STANDARD_IA"
    }

    transition {
      days          = 90
      storage_class = "GLACIER"
    }

    expiration {
      days = 365
    }
  }
}

Azure のコスト最適化

リザーブド VM インスタンス
  • 1 年または 3 年の契約期間
  • 最大 72% の節約
  • 柔軟なサイズ変更
  • 交換可能
Azure ハイブリッド特典
  • 既存の Windows Server ライセンスを使用する
  • RI と併用で最大 80% の節約
  • Windows および SQL Server で利用可能
Azure Advisor の推奨事項
  • VM を適正サイズにする
  • 未使用のリソースを削除する
  • リザーブドキャパシティを使用する
  • ストレージを最適化する

GCP のコスト最適化

確約利用割引
  • 1 年または 3 年のコミットメント
  • 最大 57% の節約
  • vCPU とメモリに適用
  • リソースベースまたは支出ベース
継続利用割引
  • 自動的な割引
  • 稼働中のインスタンスで最大 30%
  • コミットメント不要
  • Compute Engine、GKE に適用
プリエンプティブル VM
  • 最大 80% の節約
  • 最大実行時間は 24 時間
  • バッチワークロードに最適

OCI のコスト最適化

フレキシブルシェイプ
  • OCPU とメモリを個別にスケールする
  • インスタンスのサイズをワークロードの需要に合わせる
  • 固定 VM シェイプによる容量の無駄を削減する
コミットメントと予算
  • 予測可能な支出には年間コミットメントを使用する
  • コンパートメントレベルの予算とアラートを設定する
  • OCI Cost Analysis で月次予測を追跡する
プリエンプティブルキャパシティ
  • バッチおよび一時的なワークロードにはプリエンプティブルインスタンスを使用する
  • 中断耐性のある自動スケーリンググループを維持する
  • 重要なサービスには標準キャパシティを混在させる

タグ付け戦略

AWS のタグ付け
locals {
  common_tags = {
    Environment = "production"
    Project     = "my-project"
    CostCenter  = "engineering"
    Owner       = "[email protected]"
    ManagedBy   = "terraform"
  }
}

resource "aws_instance" "example" {
  ami           = "ami-12345678"
  instance_type = "t3.medium"

  tags = merge(
    local.common_tags,
    {
      Name = "web-server"
    }
  )
}

参照: references/tagging-standards.md を参照してください

コスト監視

予算アラート
# AWS Budget
resource "aws_budgets_budget" "monthly" {
  name              = "monthly-budget"
  budget_type       = "COST"
  limit_amount      = "1000"
  limit_unit        = "USD"
  time_period_start = "2024-01-01_00:00"
  time_unit         = "MONTHLY"

  notification {
    comparison_operator        = "GREATER_THAN"
    threshold                  = 80
    threshold_type            = "PERCENTAGE"
    notification_type         = "ACTUAL"
    subscriber_email_addresses = ["[email protected]"]
  }
}
コスト異常検出
  • AWS Cost Anomaly Detection
  • Azure Cost Management アラート
  • GCP 予算アラート
  • OCI Budgets and Cost Analysis

アーキテクチャパターン

パターン 1: サーバーレスファースト
  • イベント駆動には Lambda/Functions を使用する
  • 実行時間のみ支払う
  • 自動スケーリング込み
  • アイドルコストなし
パターン 2: 適正サイズのデータベース
Development: t3.small RDS
Staging: t3.large RDS
Production: r6g.2xlarge RDS with read replicas
パターン 3: 多層ストレージ
Hot data: S3 Standard
Warm data: S3 Standard-IA (30 days)
Cold data: S3 Glacier (90 days)
Archive: S3 Deep Archive (365 days)
パターン 4: 自動スケーリング
resource "aws_autoscaling_policy" "scale_up" {
  name                   = "scale-up"
  scaling_adjustment     = 2
  adjustment_type        = "ChangeInCapacity"
  cooldown              = 300
  autoscaling_group_name = aws_autoscaling_group.main.name
}

resource "aws_cloudwatch_metric_alarm" "cpu_high" {
  alarm_name          = "cpu-high"
  comparison_operator = "GreaterThanThreshold"
  evaluation_periods  = "2"
  metric_name         = "CPUUtilization"
  namespace           = "AWS/EC2"
  period              = "60"
  statistic           = "Average"
  threshold           = "80"
  alarm_actions       = [aws_autoscaling_policy.scale_up.arn]
}

コスト最適化チェックリスト

  • コスト配分タグを実装する
  • 未使用のリソース(EBS、EIP、スナップショット)を削除する
  • 使用率に基づいてインスタンスを適正サイズにする
  • 安定したワークロードにはリザーブドキャパシティを使用する
  • 自動スケーリングを実装する
  • ストレージクラスを最適化する
  • ライフサイクルポリシーを使用する
  • コスト異常検出を有効化する
  • 予算アラートを設定する
  • 毎週コストを見直す
  • スポット/プリエンプティブルインスタンスを使用する
  • データ転送コストを最適化する
  • キャッシュレイヤーを実装する
  • マネージドサービスを使用する
  • 継続的に監視および最適化する

ツール

  • AWS: Cost Explorer、Cost Anomaly Detection、Compute Optimizer
  • Azure: Cost Management、Advisor
  • GCP: Cost Management、Recommender
  • OCI: Cost Analysis、Budgets、Cloud Advisor
  • マルチクラウド: CloudHealth、Cloudability、Kubecost

関連スキル

  • terraform-module-library - リソースのプロビジョニング用
  • multi-cloud-architecture - クラウド選定用

コメント