1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

【Claude Code on Amazon Bedrock】 エンタープライズで利用可能なClaude Code環境を構築する方法

  • このエントリーをはてなブックマークに追加

この記事のポイント

Anthropicの公式ガイダンス「Guidance for Claude Code with Amazon Bedrock」を使い、WSL2環境からClaude Code on Bedrockのフルスタック構成をデプロイした記録です。

  • フルスタック構成:
    認証(Cognito + IAM Federation)、モニタリング(OpenTelemetry + CloudWatch)、Analytics(Kinesis Firehose + Athena)、Quota管理をまとめてデプロイ
  • Windowsエンドユーザーへの配布:
    CodeBuildでWindows向けバイナリをビルドし、Presigned S3 URLで配布。install.batのバグを修正したfix-setup.ps1も作成
  • ハマりポイントと解決策:
    CodeBuildのSSL証明書エラー、install.batのエスケープ問題、Marketplace権限エラー(403)の3つのトラブルと対処法を解説

はじめに

DXソリューション営業本部の三浦です。

Anthropicの「Claude Code」をAmazon Bedrock経由でエンタープライズ利用するための公式ガイダンス「Guidance for Claude Code with Amazon Bedrock」を、WSL2(Ubuntu 24.04)環境でデプロイし、Windowsユーザーでの接続確認をした記録です。

AWSブログ「Claude Code deployment patterns and best practices with Amazon Bedrock」で推奨されているベストプラクティス構成(Direct IdP + OpenTelemetry + Analytics)をフルスタックで構築しました。

Claude Codeの利用形態: Bedrock経由 vs Anthropic直契約

Claude Codeを組織で利用する場合、大きく分けて「Amazon Bedrock経由」と「Anthropicとの直契約」の2つのパスがあります(出典: Claude for Enterprise Premium Seats with Claude Code Now Available in AWS Marketplace)。どちらも同じClaudeモデルにアクセスできますが、料金体系・管理方式・エンタープライズ統制の観点で大きく異なります。

料金体系の比較

比較項目 Amazon Bedrock経由 Anthropic直契約
課金モデル トークン従量課金(API利用量ベース) サブスクリプション(シート単位)またはAPI従量課金
個人向けプラン Pro: $20/月、Max: $100/月(5x)または$200/月(20x)
チーム向けプラン Team: $25/seat/月(Standard)、$125/seat/月(Premium)
エンタープライズ オンデマンド従量課金 Enterprise: 要問合せ(AWS Marketplace経由でも購入可)
Claude Opus 4.6 入力 $5 / MTok $5 / MTok
Claude Opus 4.6 出力 $25 / MTok $25 / MTok
Claude Sonnet 4.6 入力 $3 / MTok $3 / MTok
Claude Sonnet 4.6 出力 $15 / MTok $15 / MTok

※ Bedrock経由の料金はGlobal Cross-region Inference(本記事の構成)の場合。
出典: Anthropic公式 API Pricingclaude.com/pricing(サブスクリプション料金)、AWS Bedrock PricingClaude Code Costs

Anthropic公式ドキュメントによると、Claude CodeのAPI利用時の平均コストは開発者1人あたり1日約$6で、90%のユーザーは1日$12以下に収まるとされています。Sonnet 4.6利用時の月額目安は$100〜200/開発者程度ですが、利用パターンにより大きく変動します。

エンタープライズ統制の比較

比較項目 Amazon Bedrock経由 Anthropic直契約(Team/Enterprise)
認証 IAM + OIDC Federation(既存IdP連携) OAuth(Anthropicアカウント)
コスト管理 AWS Cost Explorer、タグベース配賦、ユーザー単位Quota 組織レベルの利用量分析、Extra Usage設定
モニタリング CloudWatch、OpenTelemetry、Athena Analytics Anthropic Console(利用量レポート)
データの学習利用 学習に使用されない(AWS公式 Free/Pro/Max: オプトアウト可(デフォルトで学習に使用)。Team/Enterprise/API: 学習に使用されない(Anthropic公式
コンプライアンス AWS準拠(SOC、ISO、HIPAA等) Anthropic Trust Center準拠
請求統合 AWS一括請求(Organizations対応) Anthropic直接 or AWS Marketplace経由
デプロイ管理 自前構築(Guidance for Claude Code with Bedrock等) Anthropic側でフルマネージド

どちらを選ぶべきか

  • Bedrock経由が向いているケース: 既存のAWSインフラとの統合が必要、IAMベースの細かいアクセス制御が必要、AWS Cost Explorerでのコスト配賦が必要、データ所在地の要件がある
  • Anthropic直契約が向いているケース: 即座に利用開始したい、デプロイ・運用の手間を最小化したい、サブスクリプションで予算を固定したい、少人数チームで手軽に始めたい

本記事ではBedrock経由のパスを選択し、認証・モニタリング・Analytics・Quotaのフルスタック構成をデプロイします。

公式ガイダンスの概要

「Guidance for Claude Code with Amazon Bedrock」は、Claude Codeを組織で安全に利用するためのデプロイツールキットです。CLIツール ccwb(Claude Code With Bedrock)を中心に、対話式ウィザードでインフラ構築からユーザー配布まで一貫して行えます。

ccwb CLIの主要コマンド

コマンド 説明
ccwb init 対話式ウィザードで認証・モニタリング・配布の設定を生成
ccwb deploy CloudFormationスタック群を一括デプロイ
ccwb package プラットフォーム別の認証バイナリをビルド
ccwb builds CodeBuild(Windows向け)のビルド状態確認・ダウンロード
ccwb distribute S3にアップロードしPresigned URLを生成
ccwb test 認証→Bedrock APIアクセスの動作確認
ccwb quota ユーザー単位のトークン使用量を確認・管理
ccwb status デプロイ済みスタックの状態確認
ccwb destroy 全スタックの削除

認証の仕組み

既存のOIDC IdP(Okta、Azure AD、Auth0、Cognito User Pools)とAWS IAMをフェデレーションし、一時的なAWS認証情報を発行します。APIキーの配布・ローテーションが不要で、ユーザーは企業の認証情報でログインするだけでClaude Codeが使えます。

認証フロー: ユーザー → IdPログイン → IDトークン取得 → IAM STS AssumeRoleWithWebIdentity → 一時認証情報 → Bedrock API

デプロイされるインフラ

┌─ 認証基盤(必須)
│  ├── IAM OIDC Provider + フェデレーションロール
│  └── Cognito User Pool(IdPとして使用する場合)
│
├─ 配布基盤(オプション)
│  ├── S3バケット + Presigned URL生成用IAMユーザー
│  └── CodeBuild(Windows向けバイナリビルド)
│
├─ モニタリング基盤(オプション)
│  ├── VPC + ECS Fargate(OpenTelemetryコレクター)
│  ├── CloudWatch Dashboard
│  └── Kinesis Firehose + S3 + Athena(Analytics)
│
└─ Quota管理(オプション)
   └── API Gateway + Lambda + DynamoDB(ユーザー単位トークン制限)

対応プラットフォーム

ユーザーに配布する認証バイナリは、Windows(Nuitka/CodeBuild)、macOS ARM64/Intel(PyInstaller)、Linux x64/ARM64(PyInstaller/Docker)に対応。エンドユーザーはPythonのインストール不要で、fix-setup.ps1(Windows)またはinstall.sh(macOS/Linux)を実行するだけでセットアップが完了します。

補足: guidanceが生成するinstall.batはPowerShellコマンドのエスケープ処理に問題があり、settings.jsonの配置とAWSプロファイル設定が失敗します。そのため、同等の処理をPowerShellネイティブで実装したfix-setup.ps1を作成し、Windowsユーザーにはこちらを使用してもらいました。

今回の構成

項目 選択
認証 Direct IAM Federation(Cognito User Pools)
モデル Claude Opus 4.6(Global Cross-Region)
モニタリング OpenTelemetry + CloudWatch Dashboard
Analytics Kinesis Firehose + Athena
Quota ユーザー単位トークン制限(alert mode)
配布 Presigned S3 URL + Windows CodeBuild

環境

  • Windows 11 + WSL2(Ubuntu 24.04.4 LTS)
  • Python 3.12.3(Ubuntu 24.04プリインストール)
  • AWS CLI v2.34.1
  • Poetry 2.3.3
  • Guidance for Claude Code with Amazon Bedrock v2.1.0

Step 1: リポジトリのクローンと依存関係インストール

$ cd ~/work/claude-code-on-bedrock
$ git clone https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock
$ cd guidance-for-claude-code-with-amazon-bedrock/source
$ poetry env use python3.12
$ poetry install
Installing dependencies from lock file
Package operations: 83 installs, 0 updates, 0 removals
...
Installing the current project: claude-code-with-bedrock (2.1.0)

Step 2: Cognito User Poolのデプロイ

リポジトリ付属のスクリプトで非対話モードでデプロイできます。

$ bash deployment/scripts/deploy-cognito.sh \
    --stack-name kensyo-claude-code-cognito \
    --region ap-northeast-1 \
    --domain-prefix kensyo-claude-code
→ Deploying Cognito User Pool stack...
Successfully created/updated stack - kensyo-claude-code-cognito

✓ Cognito User Pool deployed successfully

╭─── Claude Code Configuration ───╮
To use with Claude Code CLI authentication (native app):

poetry run ccwb init
- Provider Domain: kensyo-claude-code.auth.ap-northeast-1.amazoncognito.com
- User Pool ID: ap-northeast-1_XXXXXXXXX
- Client ID: XXXXXXXXXXXXXXXXXXXXXXXXXX

この出力値はccwb initで使うので控えておきます。

Step 3: ccwb init(対話式ウィザード)

$ cd source
$ poetry run ccwb init

ウィザードで設定した主要パラメータ:

項目
Federation Type Direct IAM
OIDC Provider Domain kensyo-claude-code.auth.ap-northeast-1.amazoncognito.com
Client ID (Step 2の出力値)
Cognito User Pool ID (Step 2の出力値)
Claude Model Claude Opus 4.6 (Global)
Cross-Region Profile global
Monitoring 有効
Analytics 有効
Quota Monitoring 有効(月10Mトークン、alert mode)
Windows Build 有効(CodeBuild)
Distribution presigned-s3

設定は ~/.ccwb/profiles/qes-claude-code-starter.json に保存されます。

Step 4: ccwb deploy

$ poetry run ccwb deploy
Deployment Plan:
  Stack          Description                                      Status
  auth           Authentication Stack (Cognito + IAM)             Update
  distribution   Distribution infrastructure (S3 + IAM)           Update
  networking     VPC Networking for OTEL Collector                Update
  s3bucket       S3 Bucket                                        Create
  monitoring     OpenTelemetry Collector                          Update
  dashboard      CloudWatch Dashboard                             Update
  analytics      Analytics Pipeline (Kinesis Firehose + Athena)   Update
  quota          Quota Monitoring (Per-User Token Limits)         Update
  codebuild      CodeBuild for Windows binary builds              Create

Deployment complete!

最終的にデプロイされた全10スタック:

スタック名 説明
kensyo-claude-code-cognito Cognito User Pool
claude-code-auth-stack IAM認証(Direct IAMフェデレーション)
claude-code-auth-distribution S3配布インフラ
claude-code-auth-networking VPC(OTELコレクター用)
claude-code-auth-s3bucket アーティファクト保存用S3
claude-code-auth-monitoring OpenTelemetryコレクター(ECS Fargate)
claude-code-auth-dashboard CloudWatch Dashboard
claude-code-auth-analytics Kinesis Firehose + Athena
claude-code-auth-quota ユーザー単位トークン制限
claude-code-auth-codebuild Windows向けCodeBuildプロジェクト

Step 5: ccwb package(Windows向け)

$ poetry run ccwb package
# プラットフォーム選択: windows
Building credential process for windows...
Build ID: claude-code-auth-windows-build:569b181e-...

Windows build started!
Build will take approximately 20+ minutes to complete.

Monitor build progress:
  poetry run ccwb builds

Error: No binaries were successfully built.

最後の「No binaries were successfully built」は紛らわしいですが、これはCodeBuildにビルドを投げた後のローカル側のメッセージです。実際のビルドはCodeBuild上でバックグラウンド実行されています。

ビルド状態の確認:

$ poetry run ccwb builds

          Recent Builds for claude-code-auth-windows-build
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┓
┃ Build ID ┃ Status         ┃ Started          ┃ Duration ┃ Phase  ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━┩
│ 569b181e │ ⏳ In Progress │ 2026-04-03 17:16 │ 0 min    │ QUEUED │
└──────────┴────────────────┴──────────────────┴──────────┴────────┘

1回目のビルド(569b181e)はSSL証明書エラーで失敗しました(詳細はトラブルシューティング: SSL証明書エラーを参照)。パッチ適用・codebuildスタック再デプロイ後にリトライし、2回目のビルド(44bc3970)で成功:

$ poetry run ccwb deploy codebuild
$ poetry run ccwb package --target-platform windows
          Recent Builds for claude-code-auth-windows-build
┏━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Build ID ┃ Status      ┃ Started          ┃ Duration ┃ Phase     ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩
│ 44bc3970 │ ✓ Succeeded │ 2026-04-03 18:38 │ 21 min   │ COMPLETED │
│ 569b181e │ ✗ Failed    │ 2026-04-03 17:16 │ 16 min   │ COMPLETED │
└──────────┴─────────────┴──────────────────┴──────────┴───────────┘

Step 6: パッケージビルド(Linux + Windowsアーティファクト取得)

配布フローの全体像

ccwb distribute(presigned-s3タイプ)はローカルのdist/にあるバイナリをzipにまとめてS3にアップロードする設計です。CodeBuildの成果物が直接配布用S3に入るわけではありません。

CodeBuild(Windows) → S3(codebuild-buildbucket) → ローカルdist/ ← Linux(ローカルビルド)
                                                       ↓
                                                 ccwb distribute
                                                       ↓
                                               S3(distribution bucket) → Presigned URL → ユーザー

Step 6a: Linuxバイナリのローカルビルド

まずLinux向けバイナリをローカルでビルドします。これによりdist/にパッケージの骨格(config.json、install.sh、install.bat等)も生成されます。

$ poetry run ccwb package --target-platform linux
Building credential process for linux...
Building Linux binary with PyInstaller...
✓ Linux binary built successfully with PyInstaller
Building OTEL helper for linux with PyInstaller...
✓ OTEL helper built successfully with PyInstaller

✓ Package created successfully!
Output directory: dist/qes-claude-code-starter/2026-04-06-170044

Step 6b: Windowsアーティファクトのダウンロード

Step 5でCodeBuildビルドは成功済みなので、アーティファクトをローカルにダウンロードします。

$ poetry run ccwb builds --status latest --download
Checking latest build: claude-code-auth-windows-build:44bc3970-...
✓ Build succeeded!
Duration: 21 minutes

Windows build artifacts are ready!
Target: dist/qes-claude-code-starter/2026-04-06-170044
✓ Downloaded Windows artifacts

Step 7: ccwb distribute(S3アップロード + Presigned URL生成)

$ poetry run ccwb distribute
Package contents:
  ✓ Windows executable (built: 2026-04-06 08:22)
  ✓ Linux x64 executable (built: 2026-04-06 17:01)
  ✓ Unix installer script
  ✓ Windows installer script
  ✓ Configuration file

Ready to distribute for: windows, linux-x64
Uploading to S3 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 74.0/74.0 MB

✓ Distribution package created successfully!

Package Details:
  Filename: claude-code-package-20260406-193103.zip
  SHA256: 8c98304177ef02456bbac923807ea7a1dda18c1b290e6190b0bd611390d91901
  Expires: 2026-04-08 19:31:05
  Size: 70.5 MB

Presigned URLが生成され、ユーザーへの配布が可能になりました。URLの再取得は poetry run ccwb distribute --get-latest で可能です。

Step 8: 配布パッケージの中身

ccwb distributeで生成されるzipの中身を解説します。ユーザーに配布されるのはこのzipファイル(70.5 MB)です。

ファイル一覧

claude-code-package/
├── credential-process-windows.exe   (29 MB)  Windows向け認証バイナリ(Nuitka製)
├── credential-process-linux-x64     (31 MB)  Linux向け認証バイナリ(PyInstaller製)
├── otel-helper-windows.exe          (5.9 MB) Windows向けOTELヘルパー
├── otel-helper-linux-x64            (7.2 MB) Linux向けOTELヘルパー
├── otel-helper.sh                   (657 B)  OTELヘルパーのシェルラッパー(キャッシュ高速化)
├── config.json                      (583 B)  組織の認証設定
├── install.bat                      (4.5 KB) Windowsインストーラー(※問題あり、fix-setup.ps1を使用)
├── fix-setup.ps1                              install.batの修正版(PowerShellネイティブ実装)
├── install.sh                       (6.8 KB) macOS/Linuxインストーラー
├── claude-settings/
│   └── settings.json                (865 B)  Claude Codeのテレメトリ設定
└── README.md                        (3.8 KB) インストール手順

config.json

ccwb initで設定した組織の認証情報が埋め込まれています。ユーザーが手動で設定する必要はありません。

config.jsonの内容(クリックして展開)
{
  "qes-claude-code-starter": {
    "provider_domain": "kensyo-claude-code.auth.ap-northeast-1.amazoncognito.com",
    "client_id": "1cofsdlt3920dl7l0r97fb8hhg",
    "aws_region": "ap-northeast-1",
    "provider_type": "cognito",
    "federation_type": "direct",
    "federated_role_arn": "arn:aws:iam::XXXXXXXXXXXX:role/BedrockCognitoFederatedRole",
    "cross_region_profile": "global",
    "selected_model": "global.anthropic.claude-opus-4-6-v1"
  }
}

claude-settings/settings.json

Claude Codeの環境変数とテレメトリ設定です。fix-setup.ps1(Windows)/install.sh(macOS/Linux)がプレースホルダーを実際のパスに置換して~/.claude/settings.jsonに配置します。

settings.jsonの内容(クリックして展開)
{
  "env": {
    "AWS_REGION": "ap-northeast-1",
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "AWS_PROFILE": "qes-claude-code-starter",
    "ANTHROPIC_MODEL": "global.anthropic.claude-opus-4-6-v1",
    "ANTHROPIC_SMALL_FAST_MODEL": "global.anthropic.claude-3-5-haiku-20241022-v1:0",
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_EXPORTER_OTLP_ENDPOINT": "http://otel-collector-alb-XXXXXXXXX.ap-northeast-1.elb.amazonaws.com"
  }
}

ポイント:

  • CLAUDE_CODE_USE_BEDROCK=1AWS_PROFILEがsettings.jsonに含まれるため、ユーザーが環境変数を手動設定する必要がない
  • OTELエンドポイントも埋め込み済みで、テレメトリが自動的にCloudWatchに送信される
  • メインモデルはClaude Opus 4.6(Global Cross-Region)、高速モデルはClaude 3.5 Haiku

install.bat の問題と fix-setup.ps1 での対応

guidanceが生成するinstall.batにはPowerShellコマンドのエスケープ処理に問題があり、settings.jsonの配置とAWSプロファイル設定が失敗します(詳細はトラブルシューティング: install.batのエスケープ問題を参照)。

そのため、同等の処理をPowerShellネイティブで実装したfix-setup.ps1を作成し、Windowsユーザーにはこちらを配布します。

fix-setup.ps1が行う処理:

  1. AWS CLIの存在チェック
  2. %USERPROFILE%\claude-code-with-bedrock\ ディレクトリを作成
  3. credential-process-windows.execredential-process.exe にリネームしてコピー
  4. otel-helper-windows.exeotel-helper.exe にリネームしてコピー
  5. config.json をコピー
  6. claude-settings/settings.json のプレースホルダーを実際のパスに置換して ~/.claude/settings.json に配置
  7. AWS CLIプロファイルを作成(credential_processにcredential-process.exeのパスを設定)

ユーザーはパッケージフォルダ内で以下を実行するだけでセットアップが完了します:

powershell -ExecutionPolicy Bypass -File fix-setup.ps1

otel-helper.sh(キャッシュ高速化ラッパー)

PyInstallerバイナリの起動に約6秒かかるため、シェルラッパーでキャッシュファイルを先にチェックする設計です。キャッシュヒット時はバイナリを起動せずにファイルから直接返すため、テレメトリのオーバーヘッドを最小化しています。

Step 9: Claude Codeへの接続確認

デプロイ完了後、Cognito経由でログインしてClaude Codeへの接続を確認します。初回接続時にMarketplace権限エラー(403)が発生する場合は、トラブルシューティング: Marketplace権限エラーを参照してください。

Claude Codeへの接続確認画面

トラブルシューティング

1. Windows CodeBuildのSSL証明書エラー(Nuitka GCCダウンロード失敗)

GitHub Issue #121 で報告されている既知の問題です。

CodeBuildのWindows Server 2022コンテナにCA証明書バンドルが存在せず、NuitkaがGitHubからMinGW(GCCコンパイラ)をダウンロードする際にSSL検証に失敗します。

FATAL: Failed to download '...winlibs_mingw...' due to
'<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
unable to get local issuer certificate (_ssl.c:1010)>'

解決策: deployment/infrastructure/codebuild-windows.yamlを2箇所修正します。

1. CodeBuildプロジェクトのEnvironmentに環境変数を追加:

      Environment:
        Type: WINDOWS_SERVER_2022_CONTAINER
        ComputeType: BUILD_GENERAL1_LARGE
        Image: aws/codebuild/windows-base:2022-1.0
        PrivilegedMode: false
        EnvironmentVariables:                                          # 追加
          - Name: SSL_CERT_FILE                                        # 追加
            Value: C:\Python312\Lib\site-packages\certifi\cacert.pem   # 追加
            Type: PLAINTEXT                                            # 追加

2. buildspecのpre_buildフェーズにcertifiインストールを追加:

            pre_build:
              commands:
                - echo Installing build dependencies...
                - C:\Python312\python.exe -m pip install --upgrade pip
                # ↓ 以下3行を追加
                - echo Installing certifi for SSL certificates...
                - C:\Python312\python.exe -m pip install certifi
                - $env:SSL_CERT_FILE = "C:\Python312\Lib\site-packages\certifi\cacert.pem"
                - '[Environment]::SetEnvironmentVariable("SSL_CERT_FILE", "C:\Python312\Lib\site-packages\certifi\cacert.pem", "Process")'
                # ↑ ここまで追加
                - C:\Python312\python.exe -m pip install nuitka==2.7.12 ordered-set zstandard

修正後、codebuildスタックを再デプロイしてからビルドを再実行:

poetry run ccwb deploy codebuild
poetry run ccwb package --target-platform windows

2. install.batのエスケープ問題

guidanceが生成するinstall.batは、settings.jsonのプレースホルダー置換処理でcmd.exeからPowerShellを呼び出す際、^による行継続とバックスラッシュのエスケープが正しく機能せず、「-replace の使い方が誤っています。」エラーで途中停止します。この結果、settings.jsonの配置とAWSプロファイル設定が実行されません。

また、AWSプロファイルのリージョン設定で!PROFILE_REGION!(遅延展開変数)を使用していますが、setlocal enabledelayedexpansionが宣言されていないため、リージョン設定も正しく動作しません。

解決策: install.batと同等の処理をPowerShellネイティブで実装したfix-setup.ps1を作成し、Windowsユーザーにはこちらを配布します(Step 8の「install.bat の問題と fix-setup.ps1 での対応」を参照)。

3. BedrockのMarketplace権限エラー(403)

エンドユーザーがClaude Codeを起動し say hello と入力すると、以下のエラーで応答が返りません:

403 Model access is denied due to IAM user or service role is not authorized to perform
the required AWS Marketplace actions (aws-marketplace:ViewSubscriptions, aws-marketplace:Subscribe)

guidanceのCFnテンプレート(bedrock-auth-cognito-pool.yaml)のIAMポリシーに aws-marketplace:ViewSubscriptions / aws-marketplace:Subscribe が含まれていないことが原因です。Claude Code公式ドキュメントのIAM configurationセクションではこれらの権限が必須とされています。

解決策: ccwb deploy 完了後、IAMロールにインラインポリシーを手動追加します:

aws iam put-role-policy \
  --role-name BedrockCognitoFederatedRole \
  --policy-name MarketplaceAccess \
  --policy-document '{"Version":"2012-10-17","Statement":[{"Sid":"AllowMarketplaceSubscription","Effect":"Allow","Action":["aws-marketplace:ViewSubscriptions","aws-marketplace:Subscribe"],"Resource":"*","Condition":{"StringEquals":{"aws:CalledViaLast":"bedrock.amazonaws.com"}}}]}' \
  --profile kensyo-admin

Condition により、Bedrock経由の呼び出し時のみ権限が有効になります。CFnテンプレートへのパッチではなくインラインポリシーとしたのは、公式のCFn更新と競合しないためです。

まとめ

WSL2環境からClaude Code on Bedrockのフルスタック(認証 + モニタリング + Analytics + Quota)をデプロイし、ユーザーへの配布パッケージ作成・Windowsエンドユーザーへの展開まで完了しました。

ccwbツールは対話式ウィザードで設定を進められるため手順自体はシンプルですが、以下のハマりポイントがありました(詳細はトラブルシューティングを参照):

  • ccwb v2.1.0のバグ: CodeBuildのSSL証明書未設定(トラブルシューティング1)
  • install.batのバグ: PowerShellコマンドのエスケープ処理が壊れており、Windowsユーザーのセットアップが失敗する。修正版のfix-setup.ps1を作成して対応(トラブルシューティング2)
  • IAMポリシーの不足: Marketplace権限がCFnテンプレートに含まれておらず、Bedrockのモデル呼び出しが403エラーになる。インラインポリシーで手動追加(トラブルシューティング3)

guidanceは便利なツールキットですが、Windowsエンドユーザーへの展開まで含めると公式テンプレートだけでは完結しない部分があります。パッチ適用・fix-setup.ps1の同梱・IAMポリシーの手動追加など、自前の修正レイヤーを被せる運用が現時点では必要です。導入のサポートやセキュリティポリシーのコンサルティング支援も可能なのでお問い合わせください。



AWSの導入支援につきましては、弊社お問合せフォームまでお気軽にご連絡ください。 複雑な内容に関するお問い合わせの場合には直接営業からご連絡を差し上げます。 また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>

<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>

※Amazon Web Services、"Powered by Amazon Web Services"ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
※Claude、Claude CodeはAnthropic, PBCの商標または登録商標です。

  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード