Claude Code Media
連載 8/10この記事は「case-studies」シリーズの第 8 回 / 全 10シリーズ全体を見る →
62,629中級

AWSコスト調査を Claude Code で自動化、半日作業を30分に圧縮した事例

公開記事を参考に、SREチームが半日〜1日かけて行っていたAWSコスト最適化調査を Claude Code のaws cli読み取りで30分に短縮したモデルケースを編集部が再構成。プロンプト1行でCost Explorerから設定・コードベースまで自律調査し、API Gateway転送サイズ-86.4%などの改善ポイントを自動特定した事例。

By Claude Code Media 編集部Reviewed by Claude Code Media 編集部

TL;DR

  • SREチームが半日〜1日かけていたAWSコスト最適化調査を Claude Code + aws cli readonly30分に短縮(※編集部モデルケース)
  • プロンプト1行でCost Explorer→高コストサービス特定→コードベース調査→改善レポートが全自動
  • 実際に特定された改善ポイント:API Gateway転送サイズ-86.4%S3不要ログ書き込み削除(年間数千万円規模)

Before:手作業のフロー

AWSコストの最適化調査は「後回しになりがちな業務」の典型だ。引用元記事のSREチームによると、インフラ担当者はどうしてもデータベースやコンピューティングといった大きな構成要素に意識が偏り、細かいコスト非効率の体系的な洗い出しは後手に回る傾向がある。

手動で調査する場合の典型的なフロー(編集部再構成):

① AWSマネジメントコンソールにログイン・Cost Explorerを開く(10〜20分)

サービス別、リソース別にフィルタリングしながら、コスト異常の箇所を目視で特定。スクロールと絞り込みの繰り返しで、「どのサービスが高い」かを把握するだけで相当な時間を使う。

② 高コストサービスの原因仮説を立てる(30〜60分)

「なぜこのサービスのコストが高いのか」を探るため、各AWSサービスの設定コンソールを手動で確認。API Gateway、S3、Lambda、RDSなどを順番に開いて設定値を精査する。

③ 関連するコードベース・IaCの確認(60〜120分)

コスト非効率の根本原因がコード側にある場合(例:不要な書き込み処理、圧縮設定の未有効化など)、GitHubやTerraform/Serverless Frameworkの設定ファイルを手動検索・確認する。

④ 改善ポイントの文書化とチーム共有(30〜60分)

調査結果をまとめてチームに共有。「どのサービスの、どの設定を、どう変更すればいくら削減できるか」を整理する作業は思いのほか時間がかかる。

合計:半日〜1日(240〜480分)。調査頻度が低くなり、コスト非効率が長期間放置されやすい。


After:Claude Code 導入後のフロー

Claude Code に aws cli readonly 権限を与え、プロンプト1行で全工程を委譲する。

実際に使用したプロンプト(引用元記事より)

aws cli を readonly で参照し、特に cost explorer 周りを調査し、
コスト懸念が見つかった場合は、具体的なサービス側の設定やコードベースも
深く調査した上で、コスト改善の工数対効果が高いと考えられる箇所を教えてください

Claude Code が自律実行するフロー

① Cost Explorer を aws cli で参照
   → サービス別・期間別コストを自動取得・分析

② 高コストサービスを自動特定
   → 「どのサービスが、なぜ高いか」を推論

③ 該当サービスの設定・コードベースを自律的に深掘り
   → API Gatewayの圧縮設定 / S3の書き込みパターン / Lambdaの実行時間等

④ 改善ポイントと工数対効果を整理したレポートを自動生成
   → 具体的な修正方法・期待される削減効果付き

所要時間:約30分(Claude Code の実行時間+人間によるレビュー)

実際に発見された改善ポイント(引用元記事より)

事例1:API Gateway レスポンス圧縮の未有効化

  • 問題:ネイティブ圧縮機能(gzip)が無効化されたままになっていた
  • 改善:Serverless Framework の設定に1行追加して圧縮を有効化
  • 効果:転送サイズ -86.4%(引用元記事に記載の実数値)

事例2:S3 への不要ログ書き込み

  • 問題:APIリクエスト1回ごとに不要な PutObject が実行されていた
  • 改善:ログ書き込みロジックの削除
  • 効果:年間数千万円規模の一部改善(引用元記事では具体額の記載なし)

実装ステップ(コピペで動く)

1. CLAUDE.md の準備

CLAUDE.md にaws cli readonlyの許可とコスト調査のガイドラインを定義する。

# AWSコスト調査エージェント設定

## 権限スコープ
- aws cli: readonly のみ(書き込み・削除は一切行わない)
- 対象リージョン: ap-northeast-1(東京)を優先
- 調査期間: デフォルトは過去30日

## 調査優先順位
1. Cost Explorer でトップ5高コストサービスを特定
2. 前月比で増加率が高いサービスを特定
3. 各サービスの設定をreadonly で確認
4. コードベース(Terraform/Serverless Framework等)の関連設定を確認

## 出力形式
- 改善ポイント(優先度高/中/低)
- 各改善の期待削減効果(概算)
- 実装難易度(1行修正 / 設定変更 / コード変更)
- 推奨アクション(具体的なコマンドや設定例)

## 安全ルール
- aws cli は --dry-run / readonly API のみ使用
- 実際の変更は必ず人間がレビューしてから実施
- 本番環境の設定変更は出力しない(提案のみ)

2. Subagent の作成

.claude/agents/aws-cost-auditor.md:

---
name: aws-cost-auditor
model: claude-sonnet-4-5
description: AWSコスト最適化ポイントを自律調査するSREサポートエージェント
---

## ミッション
aws cli readonly でAWSリソースのコスト非効率を体系的に特定し、
工数対効果の高い改善ポイントをレポートする。

## 実行フロー
1. `aws ce get-cost-and-usage` でサービス別コストを取得
2. コスト上位サービスについて `aws <service> describe-*` 系コマンドで設定確認
3. ローカルのIaC(Terraform/Serverless Framework)を検索して設定を確認
4. 改善ポイントと期待削減効果をMarkdownレポートで出力

## 出力テンプレート
### AWSコスト最適化レポート(YYYY-MM-DD)

**サマリー**
- 調査期間: ...
- 高コストサービス TOP3: ...
- 特定した改善ポイント: N件

**改善ポイント詳細**
#### [優先度: 高] サービス名 - 改善内容
- 現状: ...
- 改善案: ...
- 期待効果: ...
- 実装方法: ...

3. Hook の組み込み(月次自動実行)

.claude/hooks/monthly-cost-audit.sh:

#!/usr/bin/env bash
# 月次AWSコスト調査を自動実行(毎月1日 9:00)
set -euo pipefail

OUTPUT_DIR="./reports/aws-cost"
REPORT_FILE="$OUTPUT_DIR/$(date +%Y%m)_cost_audit.md"
mkdir -p "$OUTPUT_DIR"

echo "[$(date)] AWSコスト調査を開始します..."

claude -p "aws-cost-auditor: 今月のAWSコストを分析し、改善ポイントをレポートしてください" \
  > "$REPORT_FILE"

echo "[$(date)] レポート生成完了: $REPORT_FILE"

# Slack に通知
bash scripts/notify-discord.sh agent_reports \
  "📊 月次AWSコスト調査完了。レポート: $REPORT_FILE"

launchd 設定 (launchd/monthly-cost-audit.plist):

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.infra.monthly-cost-audit</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>/path/to/scripts/hooks/monthly-cost-audit.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Day</key>
        <integer>1</integer>
        <key>Hour</key>
        <integer>9</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
</dict>
</plist>

4. 動作検証

# aws cli の readonly 動作確認
aws ce get-cost-and-usage \
  --time-period Start=2026-05-01,End=2026-05-31 \
  --granularity MONTHLY \
  --metrics BlendedCost \
  --group-by Type=DIMENSION,Key=SERVICE \
  --query 'ResultsByTime[0].Groups[*].[Keys[0],Metrics.BlendedCost.Amount]' \
  --output table

# Claude Code でコスト調査テスト実行
claude -p "aws-cost-auditor: 過去7日間のコストを確認し、
異常なコスト増加がないか調査してください。readonly のみ使用してください"

KPI 変化(引用元記事に基づくモデルケース)

下表は引用元記事(S. Hamamura 氏・GENIEE SREチーム)の公開データを参考に、編集部がモデルケースとして整理した概算値です。

指標BeforeAfter削減
AWSコスト調査 1回の工数360 分(6時間)30 分約92%(※モデルケース)
API Gateway 転送サイズ基準値-86.4%86%(引用元記載の実数値)
調査頻度不定期(後回しになりがち)月次自動実行体系化

ポイント:readonly 権限で安全に自律実行

Claude Code にインフラ調査を委譲する際の核心は「readonly に限定する」ことだ。

  • aws ce get-cost-and-usage(Cost Explorer)
  • aws s3api list-buckets / aws s3api get-bucket-logging
  • aws apigateway get-rest-apis / aws apigateway get-stage
  • aws lambda list-functions / aws lambda get-function-configuration

これらはすべて読み取りのみ。実際の変更(設定修正・削除・デプロイ)は必ず人間がレビューして実施するという二段階運用が、インフラへの AI エージェント活用の安全なモデルケースとなる。


引用元

本記事は上記の公開 Zenn 記事を参考に、編集部が一般的なモデルケースとして再構成したものです。API Gateway 転送サイズ -86.4% の数値は引用元記事に記載の実数値です。その他の数値は編集部の概算であり、引用元著者の公式な実績値そのものを保証するものではありません。

関連記事

この記事の著者

claude-code-media 編集部Claude Code 専門編集チーム

Claude Code の非エンジニア向け業務効率化メディア『claude-code-lab.jp』を運営。フリーランス・中小企業・個人開発者向けに、実装テンプレ・業務自動化テクニック・Vibe Coding 入門を配信。

Claude Code 完全ガイドVibe CodingAI 業務効率化非エンジニア向け AI 教育MCP(Model Context Protocol)
ByClaude Code Media 編集部

AI支援で執筆 — 本記事は Claude Code エージェントによる執筆支援を受け、編集部が事実確認・編集を行っています。 数値・引用元は記事更新日時点で確認済みですが、最新情報は各公式サイトでご確認ください。

Related

続けて読む

すべての記事 →