🟠

AWS Bedrock経由でClaude Codeを活用する完全ガイド

に公開

概要

企業でAWSサービスの稟議が通りやすい背景を活かし、Bedrock経由でClaude Codeを導入した事例をご紹介します。1人あたり月額$20の予算でテスト運用を開始し、コスト管理アラートの設定まで含めた実践的なガイドです。

本ガイドの構成

  1. Claude Codeが開発現場で注目される3つの理由 - なぜ注目されるのか
  2. AWS Bedrock環境の構築 - AWSでの基本設定
  3. コスト管理アラートシステムの構築 - 予算上限アラートの設定

1. Claude Codeが開発現場で注目される3つの理由

🚀 理由1: 段階的実行による高い自走性

Claude Codeは従来のエディタ付属AIと比較して、以下の特徴があります:

  • TODOリスト駆動の開発: 最初にタスクリストを作成し、順次消化していく手法により高精度な実装を実現
  • 事前確認の機会: リスト作成段階で方向性を確認でき、早期の軌道修正が可能
  • 長時間の継続実行: 最大7時間の連続実行が可能で、大規模なリファクタリングも完遂

⚡ 理由2: 高速・高精度なファイル探索

大規模プロジェクトでも効率的にファイルを特定できる仕組み:

  • ripgrep採用: Rust製の高速grepエンジンによる超高速検索
  • インデックス不要: ファイル抽象化によるインデックス手法を上回る精度を実現
  • 関連ファイルの自動特定: 変更に必要なファイルを瞬時に特定

💰 理由3: MAXモードの圧倒的コストパフォーマンス

  • Anthropic社が大幅に採算を下回る価格設定により、企業利用でも非常にお得な料金体系を実現

2. AWS Bedrock環境の構築

2.1 Claudeモデルへのアクセス許可設定

手順1: モデルアクセスページへ移動

  1. Bedrockコンソールのサイドバーから「モデルアクセス」を選択
  2. 「リクエスト可能」をクリック

手順2: アクセス権限の申請

  1. 「モデルアクセスをリクエスト」リンクをクリック
  2. 必要なAnthropicモデルを選択して次へ
  3. 初回のみ会社情報等の入力が必要(2回目以降は不要)


手順3: モデルIDの取得

  • 約1分の処理待機後、モデルカタログで「アクセスが付与されました」を確認
  • 詳細ページからモデルIDをコピー

この時点でBedrock経由のClaude Codeが利用可能になります。


3. コスト管理アラートシステムの構築

予算$20に対して$19到達時にSlack通知を送る仕組みを構築します。

3.1 システム構成図

Application Inference Profile (タグ付き)
            ↓
    AWS Budgets (予算監視)
            ↓
    SNS (通知トピック)
            ↓
Amazon Q Developer (Slack連携)

3.2 前提条件

AWS CLIのインストール

# 公式インストーラー使用
# https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html

# macOS (Homebrew使用の場合)
brew install awscli

3.3 Application Inference Profileの作成

タグを使ったコスト管理のため、専用のInference Profileを作成:

aws bedrock create-inference-profile \
  --inference-profile-name yusukeakiyama_claude_sonnet4 \
  --model-source copyFrom=arn:aws:bedrock:ap-northeast-1:{アカウントID}:inference-profile/apac.anthropic.claude-sonnet-4-20250514-v1:0 \
  --tags '[{"key": "EngineerName","value": "yusuke_akiyama"}]' \
  --no-cli-pager \
  --region ap-northeast-1

作成確認

# プロファイル一覧の確認
aws bedrock list-inference-profiles \
  --type-equals APPLICATION \
  --no-cli-pager

# タグ設定の確認
aws bedrock list-tags-for-resource \
  --resource-arn "arn:aws:bedrock:ap-northeast-1:{アカウントID}:application-inference-profile/{推論プロファイルID}" \
  --no-cli-pager

コスト配分タグの設定

Cost Explorerで確認する際にはタグを有効化しないといけないので忘れないように対応します。

3.4 Claude Codeの環境設定

Claude Code CLIのインストール

npm install -g @anthropic-ai/claude-code

環境変数の設定
~/.zshrcまたは~/.bashrcに以下を追加:

# AWS設定
export AWS_PROFILE={プロファイル名}
export AWS_REGION=ap-northeast-1

# Claude Code設定
export CLAUDE_CODE_USE_BEDROCK=1
export ANTHROPIC_MODEL='arn:aws:bedrock:ap-northeast-1:{アカウントID}:application-inference-profile/{推論プロファイルID}'

動作確認

# プロジェクトディレクトリで実行
claude

3.5 予算管理の設定

予算$20をサービスとタグ指定で設定
AWS Budgetsの作成

aws budgets create-budget \
  --account-id {アカウントID} \
  --budget '{
    "BudgetName": "claude_api_yusuke_akiyama",
    "BudgetType": "COST",
    "BudgetLimit": {"Amount": "20.00", "Unit": "USD"},
    "TimeUnit": "MONTHLY",
    "CostFilters": {
      "Service": ["Claude Sonnet 4 (Amazon Bedrock Edition)"],
      "TagKeyValue": ["EngineerName$yusuke_akiyama"]
    }
  }'

Amazon Bedrockとかにしてもサービスが一致してくれない問題が発生しました。
Cost Explorerとかで表示されるサービス名に一致させる必要がありそうです。)

SNSトピックの作成

aws sns create-topic --name claude_budget_slack_topic

通知設定の追加
$20の95%の$19でアラートが発生する設定を追加

aws budgets create-notification \
  --account-id {アカウントID} \
  --budget-name "claude_api_yusuke_akiyama" \
  --notification '{
    "NotificationType": "ACTUAL",
    "ComparisonOperator": "GREATER_THAN",
    "Threshold": 95,
    "ThresholdType": "PERCENTAGE"
  }' \
  --subscribers '[
    {
      "SubscriptionType": "SNS",
      "Address": "arn:aws:sns:ap-northeast-1:{アカウントID}:claude_budget_slack_topic"
    }
  ]'

3.6 Slack通知の設定

Amazon Q Developer in chat applicationsを使用してSNSトピックとSlackチャンネルを連携します。

詳細な設定手順については、以下のClassmethod記事を参照してください:
https://dev.classmethod.jp/articles/aws-budgets-alert-by-aws-chatbot/


4. 運用・監視

4.1 コスト監視コマンド

Cost ExplorerやBudgetsアラートは反映に時間がかかるため、リアルタイムでの確認には専用コマンドを使用:

# 日次使用量確認
npx ccusage@latest

# 月次使用量確認
npx ccusage@latest monthly

4.2 リソース削除(必要に応じて)

Inference Profileの削除

aws bedrock delete-inference-profile \
  --inference-profile-identifier arn:aws:bedrock:ap-northeast-1:{アカウントID}:application-inference-profile/{推論プロファイルID}

参考資料

Archibase Tech Blog

Discussion