跳轉到主要內容

先決條件

在使用 Bedrock 設定 Claude Code 之前,請確保您具有:
  • 已啟用 Bedrock 存取的 AWS 帳戶
  • 可存取 Bedrock 中所需的 Claude 模型(例如 Claude Sonnet 4.5)
  • 已安裝並設定 AWS CLI(選用 - 僅在您沒有其他取得認證機制時才需要)
  • 適當的 IAM 權限

設定

1. 提交使用案例詳細資訊

Anthropic 模型的首次使用者必須在叫用模型之前提交使用案例詳細資訊。這是每個帳戶執行一次的操作。
  1. 確保您具有正確的 IAM 權限(請參閱下面的更多資訊)
  2. 導覽至 Amazon Bedrock 主控台
  3. 選擇 Chat/Text playground
  4. 選擇任何 Anthropic 模型,系統將提示您填寫使用案例表單

2. 設定 AWS 認證

Claude Code 使用預設的 AWS SDK 認證鏈。使用以下其中一種方法設定您的認證: 選項 A:AWS CLI 設定
aws configure
選項 B:環境變數(存取金鑰)
export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-access-key
export AWS_SESSION_TOKEN=your-session-token
選項 C:環境變數(SSO 設定檔)
aws sso login --profile=<your-profile-name>

export AWS_PROFILE=your-profile-name
選項 D:Bedrock API 金鑰
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key
Bedrock API 金鑰提供了一種更簡單的驗證方法,無需完整的 AWS 認證。深入了解 Bedrock API 金鑰

進階認證設定

Claude Code 支援 AWS SSO 和公司身分提供者的自動認證重新整理。將這些設定新增至您的 Claude Code 設定檔(請參閱 Settings 以了解檔案位置)。 當 Claude Code 偵測到您的 AWS 認證已過期(基於本機時間戳記或 Bedrock 傳回認證錯誤時),它將自動執行您設定的 awsAuthRefresh 和/或 awsCredentialExport 命令以取得新認證,然後重試請求。
範例設定
{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}
設定說明
awsAuthRefresh:用於修改 .aws 目錄的命令(例如更新認證、SSO 快取或設定檔)。輸出會顯示給使用者(但不支援使用者輸入),適合瀏覽器型驗證流程,其中 CLI 顯示要在瀏覽器中輸入的代碼。 awsCredentialExport:僅在無法修改 .aws 且必須直接傳回認證時使用。輸出會被無聲擷取(不顯示給使用者)。命令必須以此格式輸出 JSON:
{
  "Credentials": {
    "AccessKeyId": "value",
    "SecretAccessKey": "value",
    "SessionToken": "value"
  }
}

3. 設定 Claude Code

設定下列環境變數以啟用 Bedrock:
# 啟用 Bedrock 整合
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1  # 或您偏好的區域

# 選用:覆寫小型/快速模型 (Haiku) 的區域
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2
為 Claude Code 啟用 Bedrock 時,請記住以下事項:
  • AWS_REGION 是必需的環境變數。Claude Code 不會從 .aws 設定檔讀取此設定。
  • 使用 Bedrock 時,/login/logout 命令會被停用,因為驗證是透過 AWS 認證處理的。
  • 您可以使用設定檔來設定環境變數(例如 AWS_PROFILE),這些變數您不想洩露給其他程序。請參閱 Settings 以取得更多資訊。

4. 模型設定

Claude Code 對 Bedrock 使用這些預設模型:
模型類型預設值
主要模型global.anthropic.claude-sonnet-4-5-20250929-v1:0
小型/快速模型us.anthropic.claude-haiku-4-5-20251001-v1:0
對於 Bedrock 使用者,Claude Code 不會自動從 Haiku 3.5 升級到 Haiku 4.5。若要手動切換到較新的 Haiku 模型,請將 ANTHROPIC_DEFAULT_HAIKU_MODEL 環境變數設定為完整模型名稱(例如 us.anthropic.claude-haiku-4-5-20251001-v1:0)。
若要自訂模型,請使用以下其中一種方法:
# 使用推論設定檔 ID
export ANTHROPIC_MODEL='global.anthropic.claude-sonnet-4-5-20250929-v1:0'
export ANTHROPIC_SMALL_FAST_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

# 使用應用程式推論設定檔 ARN
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'

# 選用:如需要,停用提示快取
export DISABLE_PROMPT_CACHING=1
提示快取 可能不適用於所有區域

5. 輸出權杖設定

使用 Claude Code 搭配 Amazon Bedrock 時,我們建議使用下列權杖設定:
# Bedrock 的建議輸出權杖設定
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096
export MAX_THINKING_TOKENS=1024
為什麼選擇這些值:
  • CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096:Bedrock 的燃盡節流邏輯將 4096 個權杖設定為 max_token 懲罰的最小值。設定較低的值不會降低成本,但可能會截斷長工具使用,導致 Claude Code 代理迴圈持續失敗。Claude Code 通常在沒有擴展思考的情況下使用少於 4096 個輸出權杖,但對於涉及大量檔案建立或 Write 工具使用的任務可能需要此額外空間。
  • MAX_THINKING_TOKENS=1024:這為擴展思考提供了空間,而不會截斷工具使用回應,同時仍保持專注的推理鏈。此平衡有助於防止對編碼任務不一定有幫助的軌跡變化。

IAM 設定

建立具有 Claude Code 所需權限的 IAM 政策:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowModelAndInferenceProfileAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles"
      ],
      "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"
        }
      }
    }
  ]
}
為了更嚴格的權限,您可以將 Resource 限制為特定推論設定檔 ARN。 如需詳細資訊,請參閱 Bedrock IAM 文件
我們建議為 Claude Code 建立專用的 AWS 帳戶,以簡化成本追蹤和存取控制。

故障排除

如果您遇到區域問題:
  • 檢查模型可用性:aws bedrock list-inference-profiles --region your-region
  • 切換到支援的區域:export AWS_REGION=us-east-1
  • 考慮使用推論設定檔進行跨區域存取
如果您收到「不支援隨選輸送量」錯誤: Claude Code 使用 Bedrock Invoke API,不支援 Converse API。

其他資源