Claude Code を Claude Platform on AWS にIAM認証(SigV4)で接続してみた

Claude Code を Claude Platform on AWS にIAM認証(SigV4)で接続してみた

Claude Code を Claude Platform on AWS 経由で利用する設定と動作確認を行いました。環境変数3つでSigV4認証接続し、/statusでの確認、実タスク実行、Usage反映まで検証。応用編としてEC2 + IAMロールでの運用も確認し、CreateInferenceだけでなくsts:GetWebIdentityToken等のIAMアクションが必要なことを確認しました。
2026.05.12

Claude Platform on AWS が本日GAになりました。セットアップとAPI呼び出しの検証は先行記事にまとめています。

https://dev.classmethod.jp/articles/claude-platform-on-aws-ga-setup/

今回はこれに続けて、Claude Code を Claude Platform on AWS 経由で動かす方法を検証しました。利用料をAWS請求に統合でき、SigV4認証を使えばIAMベースの権限管理もできます。

https://docs.anthropic.com/en/docs/claude-code/claude-platform-on-aws

Bedrockとの違いについてはこちら:

https://dev.classmethod.jp/articles/claude-platform-on-aws-bedrock-differences/

この記事でやること / やらないこと

こんな人におすすめ:

  • Claude Code の利用料をAWS請求に統合したい
  • Claudeの最新モデルやネイティブな最新機能をすぐに利用したい
  • IAMで開発ツールの権限統制をしたい

この記事では、以下を確認します。

  • Claude Code を Claude Platform on AWS に向ける環境変数設定
  • SigV4認証(AWS IAM Identity Center)での動作確認
  • API key認証での動作確認
  • /status コマンドでの設定確認
  • 実際のコーディングタスクの実行
  • EC2 + IAMロールでの運用
  • Claude Console Usage ページでの利用量反映確認

扱わないこと:

  • Claude Platform on AWS の初期セットアップ(先行記事参照)
  • IAMポリシーの詳細設計
  • LLMゲートウェイ経由の構成
  • Cowork(Claude Desktop)連携(別記事で検証予定)

前提条件:

  • Claude Platform on AWS のセットアップ済み(先行記事でWorkspace作成まで完了している状態)
  • Workspace ID を取得済み(AWSコンソールの Claude Platform on AWS → Workspaces で確認)
  • Claude Code インストール済み
  • AWS CLI v2 + IAM Identity Center 設定済み(SigV4認証で試す場合)
  • SigV4認証で利用する IAM ロールに、Claude Platform on AWS を呼び出すための権限が付与されていること

検証環境

項目
OS macOS / Linux(Ubuntu)
Claude Code 2.1.139
AWS CLI aws-cli/2.34.39
Workspace リージョン ap-northeast-1
認証方式 AWS IAM Identity Center / API key / IAMロール
検証環境2(応用編) EC2(Amazon Linux 2023, t3.small)

設定の全体像

必要な環境変数は3つです。

export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_xxxxxxxxxxxxx
export AWS_REGION=ap-northeast-1

環境変数一覧:

環境変数 必須 説明
CLAUDE_CODE_USE_ANTHROPIC_AWS 1 で有効化
ANTHROPIC_AWS_WORKSPACE_ID Workspace ID(wrkspc_ 形式)
AWS_REGION Workspaceを作成したリージョンに合わせる
ANTHROPIC_AWS_API_KEY API key認証の場合。設定するとSigV4より優先
ANTHROPIC_AWS_BASE_URL LLMゲートウェイ利用時のみ

SigV4認証で接続(AWS IAM Identity Center)

# 1. AWS IAM Identity Center でログイン
aws sso login --profile my-profile
export AWS_PROFILE=my-profile

# 2. 認証状態を確認
aws sts get-caller-identity
{
    "UserId": "AROAXXXXXXXXXXXXXXXXX:example-user",
    "Account": "123456789012",
    "Arn": "arn:aws:sts::123456789012:assumed-role/example-sso-role/example-user"
}
# 3. Claude Platform on AWS を有効化
export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_xxxxxxxxxxxxx
export AWS_REGION=ap-northeast-1

# 4. 競合する設定を解除
unset CLAUDE_CODE_USE_BEDROCK
unset CLAUDE_CODE_USE_FOUNDRY
unset ANTHROPIC_AWS_API_KEY

# 5. Claude Code 起動
claude

検証時点では、起動時に「Opus 4.7 · API Usage Billing」と表示されました。

Claude Code起動画面と/status出力

/status で以下を確認します。

項目
API provider Claude Platform on AWS
Workspace ID wrkspc_xxxxxxxxxxxxx
AWS region ap-northeast-1
Model Default (claude-opus-4-7)

API key認証で接続(SigV4が使えない環境向け)

export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_xxxxxxxxxxxxx
export AWS_REGION=ap-northeast-1
export ANTHROPIC_AWS_API_KEY="YOUR_CLAUDE_PLATFORM_ON_AWS_API_KEY"

claude
  • ANTHROPIC_AWS_API_KEY を設定するとSigV4より優先されます
  • API key は AWSコンソールの Claude Platform on AWS →「API keys」ページで生成したものを使用します。通常の Anthropic API key(個人アカウントや別Organization発行)とは別物です

実タスクでの動作検証

SigV4認証の設定が完了した状態で、実際のコーディングタスクを実行しました。

> PythonでFizzBuzzを書いて。1から30まで出力するスクリプトを作成して

Claude Code がファイルを作成し、Python を実行して出力を確認するところまで、通常通り動作しました。

for i in range(1, 31):
    if i % 15 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

実行結果:

1
2
Fizz
4
Buzz
...
14
FizzBuzz
16
...
29
FizzBuzz

Claude Console の Usage ページ(AWSコンソール → Claude Platform on AWS → Access → Sign in → 使用状況)で利用量が反映されていることを確認しました。

Claude Console Usageページ

入力トークン・出力トークンがモデル別に表示されています。今回の検証では、Claude Code の利用に伴って Opus 4.7 に加えて Haiku 4.5 の利用量も確認できました。モデル設定や実行内容によって、複数モデルの利用量が計上される場合がありそうです。

【応用】EC2 + IAMロールで鍵レス運用(CI/CD向け)

AWS IAM Identity Center は人間の対話的ログインが前提です。ここではEC2インスタンスプロファイル(IAMロール)のみでClaude Codeが動くことを確認します。

検証構成:

  • EC2インスタンス(Amazon Linux 2023 / t3.small)
  • インスタンスプロファイルに検証用IAMロールをアタッチ
  • 対話ログイン / アクセスキー / API key は一切なし

IAMポリシー

以下のポリシーで動作確認済みです。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-external-anthropic:CreateInference"
      ],
      "Resource": "arn:aws:aws-external-anthropic:ap-northeast-1:123456789012:workspace/wrkspc_xxxxxxxxxxxxx"
    },
    {
      "Effect": "Allow",
      "Action": [
        "sts:GetWebIdentityToken",
        "sts:TagGetWebIdentityToken"
      ],
      "Resource": "*"
    }
  ]
}

EC2上での実行手順

# Claude Code インストール
curl -fsSL https://claude.ai/install.sh | bash

# 環境変数のみ設定(対話ログイン/アクセスキー/API key は一切不要)
export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_xxxxxxxxxxxxx
export AWS_REGION=ap-northeast-1

# 認証確認(インスタンスプロファイルのロールが返る)
aws sts get-caller-identity
{
    "UserId": "AROAXXXXXXXXXXXXXXXXX:i-0123456789abcdef0",
    "Account": "123456789012",
    "Arn": "arn:aws:sts::123456789012:assumed-role/example-ec2-role/i-0123456789abcdef0"
}
# Claude Code 起動(非対話モード)
claude -p "Say hello" --output-format json

-p(プロンプト指定)と --output-format json で非対話実行と構造化出力が得られます。CI/CD用途ではこの形が使いやすそうです。ただし、ファイル変更やコマンド実行を伴うタスクでは、Claude Code の権限設定や承認フローを別途考慮する必要があります。

EC2のインスタンスプロファイルだけで、環境変数3つのみで応答が返ることを確認できました。アクセスキーやAPI keyを持たせずに済むため、長期秘密情報の漏洩リスクを抑えられます。

この構成は、GitHub Actions のセルフホストランナー(EC2)、CodeBuild、EC2ベースのリモート開発環境などでも応用できそうです。

Bedrock経由と比べたメリット

先行記事では「ネイティブ体験」「新機能即日利用」等を紹介しました。ここでは、公式ドキュメントも踏まえて、Bedrock経由との違いとして押さえておきたい要素を整理します。

要素 内容
別容量プール Bedrock とは異なるキャパシティプールとして扱われるため、フェイルオーバー先として併用する構成を検討できる
キャッシュのITPM非カウント cache_read_input_tokens がレート制限にカウントされない
PrivateLink対応 VPCからの閉域網接続が可能(本記事では未検証)

「Bedrockよりレート制限が高い」とは断定できません。メリットは「別容量プール」であり、Bedrockとの併用でフェイルオーバー構成が取れる点です。各仕様は変更される可能性があるため、利用前に最新の公式ドキュメントを確認してください。

制限事項とトラブルシューティング

制限事項:

項目 内容
Claude Code workspace 非対応(Claude Code 専用のレート制限画面は利用不可)
/login /logout 無関係(AWS認証情報 or API keyで認証する)
Bedrock/Foundryとの共存 明示的に unset が必要
Tier 1固定 自動昇格なし

トラブルシューティング:

症状 確認ポイント
Provider が切り替わらない CLAUDE_CODE_USE_ANTHROPIC_AWS=1 を確認
Bedrock が使われる CLAUDE_CODE_USE_BEDROCK / CLAUDE_CODE_USE_FOUNDRY を unset
API key が優先される ANTHROPIC_AWS_API_KEY を unset
403 / AccessDenied aws sts get-caller-identity で認証確認。IAM権限(sts:GetWebIdentityToken 含む)を確認
SSO 期限切れ aws sso login を再実行
Workspace が見つからない AWS_REGION が Workspace のリージョンと一致しているか確認

まとめ

検証項目 結果
SigV4認証(IAM Identity Center)
API key認証
コード生成・ファイル操作・コマンド実行
EC2 + IAMロール(鍵レス)
Usage ページ反映

環境変数3つで Claude Code が Claude Platform on AWS 経由で動作しました。EC2 + インスタンスプロファイルでも SigV4 認証で動作することを確認できたため、CI/CD環境やリモート開発環境への応用余地があります。

少なくとも今回の構成では、IAMポリシーに aws-external-anthropic:CreateInference に加えて sts:GetWebIdentityToken / sts:TagGetWebIdentityToken が必要なことを確認しました。

検証後の後片付け:

unset CLAUDE_CODE_USE_ANTHROPIC_AWS
unset ANTHROPIC_AWS_WORKSPACE_ID
unset ANTHROPIC_AWS_API_KEY

Bedrock や直接 API に戻す場合は上記を unset してください。AWS_REGIONAWS_PROFILE も検証用に変更した場合は、必要に応じて元に戻してください。

簡易比較(詳細は先行記事参照):

観点 Claude Platform on AWS Bedrock
API互換性 Anthropic Messages API そのまま Bedrock形式
新機能 同日リリース Bedrockスケジュール依存
容量プール 独立(フェイルオーバー可能) Bedrock独自
課金 AWS請求に統合 AWS ネイティブ

参考リンク


生成AI活用はクラスメソッドにお任せ

過去に支援してきた生成AIの支援実績100+を元にホワイトペーパーを作成しました。御社が抱えている課題のうち、どれが解決できて、どのようなサービスが受けられるのか?4つのフェーズに分けてまとめています。どうぞお気軽にご覧ください。

生成AI資料イメージ

無料でダウンロードする

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事