コンテンツにスキップ
Classmethod Github Actions Bedrock Claude Scheduled

GitHub Actionsを使ってAmazon Bedrock経由でClaudeを定期実行するワークフローを構築してみた

  • URL: https://dev.classmethod.jp/articles/github-actions-bedrock-claude-scheduled/
  • 日付: 2026-06-07
  • Tier: Tier 3
  • 要旨: GitHub Actions cronトリガー + Claude Code CLI + Bedrock + GitHub OIDCでAPIキー不要のClaude定期実行基盤を構築。CDKでGitHub OIDCプロバイダとIAMロール(bedrock:InvokeModelのみ)を管理し、チーム運用・属人化しない設計を実現した。

詳細

構成の特徴

  • Anthropic APIキーを使わずAmazon Bedrock経由でClaude Codeを実行
  • GitHub OIDC → IAMロール(一時クレデンシャル)でLong-term Secretsが不要
  • 課金をAWSにまとめられる
  • チームリポジトリに属するため個人サブスク依存を排除(claude.ai Routinesとの違い)

CDK構成のポイント

// 信頼条件でリポジトリを限定
StringLike: {
  [`${githubDomain}:sub`]: `repo:${githubOwner}/${githubRepo}:*`,
}
// 最小権限: Claude モデルへの InvokeModel のみ
resources: [
  "arn:aws:bedrock:*::foundation-model/anthropic.claude-*",
  `arn:aws:bedrock:*:${this.account}:inference-profile/*anthropic.claude-*`,
]

ワークフローの核心部分

- name: Claudeを実行(Bedrock)
  env:
    CLAUDE_CODE_USE_BEDROCK: "1"
    ANTHROPIC_MODEL: jp.anthropic.claude-opus-4-8
  run: |
    claude -p "タスク" --max-turns 30 --dangerously-skip-permissions

事前要件: Bedrockコンソールでモデルアクセスを有効化(忘れると403エラー)

推奨ユースケース: 毎晩リポジトリを走査して要約を作る / 定期的にドキュメントを更新するなど