LESSON 30分

「クラウドは従量課金だからこそ、コストの可視化が命だ」と佐藤CTOは言った。「月末に請求書を見て驚くのではなく、リアルタイムでコストを把握し、異常を即座に検知する体制を作る。」

1. AWSのコスト構造

カテゴリ課金要素典型的な割合
ComputeEC2, Lambda, ECS/Fargate40-60%
StorageS3, EBS, EFS10-20%
DatabaseRDS, DynamoDB, ElastiCache15-25%
NetworkData Transfer, NAT Gateway, ALB5-15%
OtherCloudWatch, Secrets Manager等5-10%

見落としやすいコスト

// よく見落とされるコスト項目
const hiddenCosts = [
  { item: 'NAT Gateway', cost: '$0.045/GB + $0.045/h', note: '大量のアウトバウンド通信で急増' },
  { item: 'CloudWatch Logs', cost: '$0.50/GB ingestion', note: 'ログ量が多いと月$1000超えることも' },
  { item: 'Data Transfer (AZ間)', cost: '$0.01/GB', note: 'マイクロサービス間通信で蓄積' },
  { item: 'EBS スナップショット', cost: '$0.05/GB-month', note: '削除忘れで増加し続ける' },
  { item: 'Elastic IP (未使用)', cost: '$0.005/h', note: 'リリースし忘れると無駄に課金' },
];

2. タグ戦略

// 必須タグの定義
interface CostAllocationTags {
  Environment: 'production' | 'staging' | 'development';
  Service: string;      // 例: 'user-service', 'payment-api'
  Team: string;          // 例: 'platform', 'product-a'
  CostCenter: string;    // 例: 'CC-1001'
  ManagedBy: 'terraform' | 'cdk' | 'manual';
}

// タグポリシーの強制(AWS Organizations Tag Policy)
// タグがないリソースの作成を防止

3. コスト可視化ダッシュボード

// Cost Explorer API でコストデータを取得
interface CostReport {
  period: string;
  totalCost: number;
  byService: Record<string, number>;
  byTeam: Record<string, number>;
  dailyTrend: { date: string; cost: number }[];
  anomalies: CostAnomaly[];
}

interface CostAnomaly {
  date: string;
  service: string;
  expectedCost: number;
  actualCost: number;
  deviationPercent: number;
}

// 異常検知のルール
const anomalyRules = [
  { metric: 'daily_cost', threshold: 1.5, action: 'slack_warning' },   // 前日比50%増
  { metric: 'daily_cost', threshold: 2.0, action: 'slack_critical' },  // 前日比100%増
  { metric: 'service_cost', threshold: 3.0, action: 'pager' },         // サービス単位で3倍
];

まとめ

トピック要点
コスト構造Compute 40-60%、隠れコスト(NAT/ログ/転送)に注意
タグ戦略Environment/Service/Teamの必須タグでコスト配分
可視化Cost Explorer + カスタムダッシュボードで日次監視
異常検知前日比・前週比の閾値でアラート自動化

チェックリスト

  • AWSのコスト構造と主要な課金要素を理解した
  • 見落としやすいコスト項目を知っている
  • タグ戦略の設計と強制方法を理解した
  • コスト異常検知の仕組みを設計できる

次のステップへ

コスト構造と可視化を学んだ。次は リソース最適化(Right-sizing) で、リソースの無駄を削減する手法を学ぼう。

推定読了時間: 30分