cost-optimization について
AWS、Azure、GCP、OCI の支出を管理するチーム向けのクラウドコスト最適化スキルです。コストの可視化、リソースの適正化、料金モデル、アーキテクチャのパターンを扱います。
主な機能
- 01コストの可視化と予算アラート
- 02利用状況分析とリソース適正化
- 03予約・スポット・コミット料金
- 04ストレージとアーキテクチャの最適化
- 05マルチクラウドのコスト監視
活用シーン
- 01複数クラウドの支出削減
- 02利用状況に基づくリソース適正化
- 03予算設定とコスト異常の検知
- 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- クラウド選定用
コメント
Markdown 対応