Claude Media
Amazon Q Developer→BedrockのClaude Codeへ移行する手順

Amazon Q Developer→BedrockのClaude Codeへ移行する手順

同じAWSアカウント内でAmazon Q DeveloperからClaude Code(Bedrock経由)へ切り替える手順と、IAMロールがどこまで共用できるかを解説します。

AWSアカウントはそのまま、IAMロールは別物と考える

Amazon Q Developerを使っているAWS環境で、Claude CodeをAmazon Bedrock経由で使い始める場合を考えます。AWSアカウントとIAM Identity Centerのユーザーは使い回せますが、Bedrockを呼ぶ権限はQ Developerの利用とは別物です。Q Developerを使えることは、Bedrockのモデル呼び出し権限を持つことを意味しません。bedrock:InvokeModel等の権限を持つ許可セットやロールを、Claude Code用に用意する必要があります。

この記事では、共用できる部分とできない部分を切り分けたうえで、同じAWSアカウント内での切り替え手順を示します。

なぜ今切り替えを検討するか

AWSはAmazon Q Developerの製品ページで、2027年4月30日にIDEプラグインのサポートを終了すると告知しています。代わりにKiroを案内しており、告知の本文はエージェント型コーディング・チャット・MCP対応を挙げています。

CLIのほうは、オープンソースのリポジトリ(aws/amazon-q-developer-cli)のREADMEが、プロジェクトの積極的な保守の終了を告げています。受け付けるのは重大なセキュリティ修正だけで、最新機能はクローズドソースのKiro CLIで提供するという内容です。

IDEプラグインの終了時期が決まっている以上、後継をKiroにするか、すでにBedrockへのアクセス権があるならClaude Codeに寄せるかは検討に値します。

前提条件

  • Amazon Q Developerを使っているAWSアカウントへのアクセス権
  • AWS Marketplaceの購入に使える支払い方法が、そのAWSアカウントに設定されていること
  • Claude Codeがインストール済みであること

ステップ1: Anthropicモデルの利用開始手続きを済ませる

AWSドキュメントでは、すべての基盤モデルが商用リージョンで既定で有効と説明されています。Anthropicモデルだけは、初回の利用前にユースケースの提出が必要です。

手順

初回に必要な手続き

  1. 1

    IAM権限を確認する

    ロールにaws-marketplace:Subscribeとaws-marketplace:ViewSubscriptionsが必要です。AWSのモデルアクセスのページは、aws-marketplace:Unsubscribeを加えた3つを要件に挙げています。Marketplaceの購入に使える支払い方法もアカウントに要ります。

  2. 2

    ユースケースを提出する

    Amazon BedrockコンソールのModel catalogでAnthropicモデルを選び、フォームを送信します。用途の説明とWebサイトのURLを求められ、会社のサイトが無い個人開発者はポートフォリオやGitHubプロフィールでも構いません。承認は送信直後に反映されます。

  3. 3

    Organizationsなら管理アカウントで1回だけ

    PutUseCaseForModelAccess APIを管理アカウントから1回呼ぶと、子アカウントにも承認が引き継がれます。呼び出しにはbedrock:PutUseCaseForModelAccess権限が必要です。

提出は一度で済み、アカウント単位です。ただしオプトインリージョンでは、フォームの再提出が必要です。bedrock-mantleエンドポイント経由でAnthropicモデルを使う場合は、この提出が要りません。Q Developerを使えていても、この手続きが済んでいるとは限りません。

初めてサードパーティモデルを呼ぶと、BedrockはバックグラウンドでMarketplaceのサブスクリプション処理を始めます。完了まで最大15分かかり、その間は呼び出しが通ることも通らないこともあります。前提が欠けていれば処理が失敗し、以降の呼び出しはAccessDeniedExceptionを返し続けます。権限を足してから反映されるまでには、最大2分ほどかかります。

ステップ2: 認証方法は共用、認可は共用できない

Q DeveloperのIDE拡張は、Start URLとリージョンを入れてIAM Identity Centerで認証するか、AWSアカウント不要のBuilder IDで認証します。Claude Codeは別にAWS SDKの標準的な認証情報チェーンを読むので、AWS CLI側のプロファイルが要ります。共用できるのはIAM Identity Centerのユーザーと同じStart URLまでです。aws configure ssoでプロファイルを作り、次のようにサインインします。

aws sso login --profile=your-profile-name
export AWS_PROFILE=your-profile-name

ブラウザ経由のSSOを使う環境では、認証情報の自動更新もあわせて設定しておくと使い勝手が変わりません。設定ファイルにawsAuthRefreshとしてSSOログインコマンドを登録すると、認証情報が失効したと判断したときだけそのコマンドが実行され、更新後に元のリクエストが再試行されます。

{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}

実行前にClaude CodeはSTSのGetCallerIdentityを呼んで、本当に失効しているかを確かめます。まだ使えるなら、ログインコマンドは走りません。

Q DeveloperのProはIdentity Centerのユーザーへのサブスクリプションで、IAMロールの権限ではありません。Bedrockのモデル呼び出しを許すのはbedrock名前空間のIAMアクションです。Builder IDだけで使ってきた場合は、AWSアカウント側の認証とBedrock権限を別途用意します。

Claude Codeが必要とするのは次のIAMポリシーで、公式ドキュメントが提示している内容そのままです。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowModelAndInferenceProfileAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles",
        "bedrock:GetInferenceProfile"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*",
        "arn:aws:bedrock:*:*:foundation-model/*"
      ]
    },
    {
      "Sid": "AllowMarketplaceSubscription",
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:ViewSubscriptions",
        "aws-marketplace:Subscribe"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:CalledViaLast": "bedrock.amazonaws.com"
        }
      }
    }
  ]
}

このポリシーはClaude Code用のIAMロールか、プロファイルに割り当てるIAM Identity Centerの許可セットにアタッチします。bedrock:GetInferenceProfileは、アプリケーション推論プロファイルのARNを基盤モデルに解決し、正しいリクエスト形式を選ぶために使われます。

ステップ3: Claude Code側を設定する

権限を追加したら、Claude Code側で環境変数を設定します。

export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1

対話的にセットアップしたい場合は、claudeを起動してログインプロンプトで3rd-party platform → Amazon Bedrockを選びます。すでにログイン済みなら/setup-bedrockでウィザードを開けます。CLAUDE_CODE_USE_BEDROCK=1を設定するまで、このコマンドはコマンドメニューに表示されないので、全文を入力します。

ウィザードはAWSプロファイル・Bedrock APIキー・アクセスキーとシークレット・環境の認証情報のどれで認証するかを聞きます。リージョンを尋ね、アカウントで呼べるモデルを調べたうえで、~/.claude/settings.jsonのenvブロックに書き込みます。

モデルをピン留めしないと請求の単価が変わる

複数人に展開するなら、モデルのバージョンをピン留めしておきます。ピン留めしない場合、opusはOpus 5.5に、sonnetはSonnet 4.5に解決されます。主モデルの既定はOpus 5.5(us-*リージョンならus.anthropic.claude-opus-5-5)です。

Q Developerは月額のティアと利用枠で管理され、モデルごとの単価は表に出ません。ここが移行で最も差の出る点です。公式ドキュメントは、主モデルをピン留めしない環境がv2.1.207以降ではOpusの単価で課金されると警告しています。Sonnet 4.5を主モデルのまま使いたいときは、ANTHROPIC_MODELに完全なモデルIDを設定します。

ピン留めしていない場合、既定のモデルがアカウントで使えないと、起動時に前のバージョンを順に試し、Opusが使えなければ既定のSonnetへ切り替わります。画面に通知が出ますが、そのセッションだけの措置で、設定には保存されません。恒久的に決めるには、Bedrock側でモデルを有効にするか、バージョンを固定します。

IAMロールは結局どこまで共用できるか

「IAMロールを共用できるか」という問いへの答えは、ロールという入れ物は使い回せても、中身の権限は個別に確かめて足す必要がある、です。

くらべる

Q Developerのまま使えるものと、足すもの

流用

そのまま使える

AWSアカウントとリージョン、そしてIAM Identity Centerのユーザーと同じStart URLです。Claude Code側のプロファイルはaws configure ssoで作り、AWS SDKの標準的なチェーンで読みます。

別管理

追加で要る

bedrock名前空間のIAMアクションとMarketplaceの権限を持つ許可セット、そしてAnthropicモデルのユースケース提出です。Q DeveloperのサブスクリプションやBuilder IDとは独立した設定です。

料金モデルの違い

移行を検討するときに見落としやすいのが、課金の仕組み自体が変わる点です。Amazon Q DeveloperはFree TierとPro Tierで区切られています。たとえばコード変換(アップグレード作業)の枠は次のとおりです。

数字

Q Developerのコード変換の枠

  • Free Tier

    1,000行/月

    ユーザーあたり

  • Pro Tier

    4,000行/月

    ユーザーあたり

  • 枠を超えた分

    $0.003/行

    追加課金

組織全体ではPro Tierの契約数×4,000行が、payer account単位で合算されます

たとえばPro Tierを100契約していれば、月400,000行まで枠に含まれます。

Claude CodeをBedrock経由で使う場合は、このような月間行数やティアの枠組みはありません。Bedrockの料金ページでは、Anthropicモデルの利用は入力・出力それぞれ100万トークンあたりの単価が設定されたOn-Demand課金として掲載されています。Claude Codeからの呼び出しにも、この単価が適用されます。ライセンス数や月間上限で管理していたコストを、トークン消費量で管理し直すことになります。

よくあるつまずき

  • SSOのリージョンとBedrockのリージョンを混同する: Claude Codeは、プロファイルのsso_regionで指定したリージョンからIAM Identity Centerの認証情報を取得します。Bedrockを呼ぶリージョンと一致している必要はありません。v2.1.207ではBedrockのリージョンがsso_regionを上書きし、IAM Identity Centerが別リージョンにあるプロファイルがSession token not found or invalidエラーで失敗しました
  • Marketplace権限の付け忘れ: ロールにaws-marketplace:ViewSubscriptionsやaws-marketplace:Subscribeが無いと、前述のサブスクリプション処理が失敗します。失敗の挙動は前述のとおりです
  • 403を期限切れと決めつける: Bedrockは、期限切れのトークンも権限不足のIAM拒否も403で返します。Claude Codeは両者を区別できず、どちらもAWS authentication failedと表示します。ログインし直しても直らないときは、権限とモデルの有効化を疑います
  • ログインのブラウザが何度も開く: VPNやTLS検査プロキシがSSOの接続を切ると、Claude Codeはそれを認証失敗とみなしてawsAuthRefreshを再実行し、ループします。awsAuthRefreshの設定を外して、起動前にaws sso loginを手で実行します
  • 認証情報を取り直したのに反映が遅い: 解決した認証情報は有効期限の5分前まで(期限が無い形式なら1時間)キャッシュされます。APIが認証情報エラーを返すとキャッシュは消え、再試行で取り直されます。直ちに再解決させたいときはCLAUDE_CODE_SKIP_AWS_CRED_CACHE=1でキャッシュを無効にします。キャッシュはv2.1.207以降の挙動で、Bedrock APIキーには効きません

まとめ

移行の手間は、Identity Centerのユーザーか、Builder IDだけの利用かで分かれます。Identity Centerなら、Bedrock権限を許可セットに付与できる管理者が誰かを先に確かめるのが近道です。IDEプラグインの終了日が決まっているので、権限を付けられる体制があれば、Claude Codeは移行先の候補になります。

IAM設定とクロスリージョン推論プロファイルの組み方はClaude Code Bedrock IAM設定ガイドにあります。直接APIとの費用比較はAWS BedrockのClaude料金ガイドが扱っています。Bedrock・Vertex・Foundryをまたいだ機能差はClaude Codeの機能比較で扱っています。

この記事を共有:XはてブLinkedIn