
Claude Code を Claude Platform on AWS にIAM認証(SigV4)で接続してみた
Claude Platform on AWS が本日GAになりました。セットアップとAPI呼び出しの検証は先行記事にまとめています。
今回はこれに続けて、Claude Code を Claude Platform on AWS 経由で動かす方法を検証しました。利用料をAWS請求に統合でき、SigV4認証を使えばIAMベースの権限管理もできます。
Bedrockとの違いについてはこちら:
この記事でやること / やらないこと
こんな人におすすめ:
- 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」と表示されました。

/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 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_REGIONやAWS_PROFILEも検証用に変更した場合は、必要に応じて元に戻してください。
簡易比較(詳細は先行記事参照):
| 観点 | Claude Platform on AWS | Bedrock |
|---|---|---|
| API互換性 | Anthropic Messages API そのまま | Bedrock形式 |
| 新機能 | 同日リリース | Bedrockスケジュール依存 |
| 容量プール | 独立(フェイルオーバー可能) | Bedrock独自 |
| 課金 | AWS請求に統合 | AWS ネイティブ |











