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エラー)
推奨ユースケース: 毎晩リポジトリを走査して要約を作る / 定期的にドキュメントを更新するなど