Skip to content
FunCoding

Search

Search docs, agents, posts, Skills and MCP servers

Amazon Bedrock

通过 Amazon Bedrock 使用 Claude Code:登录向导、手动设置、AWS 凭据、固定模型版本、IAM 权限和 1M 上下文。

本页讲通过 Amazon Bedrock 配置 Claude Code,包括设置、IAM 配置和排障。

前置条件

配置之前,确保你有:

  • 启用了 Amazon Bedrock 访问的 AWS 账号
  • 对 Amazon Bedrock 里想要的 Claude 模型的访问权限(如 Claude Sonnet 4.6)
  • 已安装并配置的 AWS CLI(可选,只有在你没有其他获取凭据的机制时才需要)
  • 合适的 IAM 权限

想用自己的 Amazon Bedrock 凭据登录,按下面「用 Bedrock 登录」操作;想在团队中部署,用「手动设置」,并在推广前先固定模型版本。

用 Bedrock 登录

如果你有 AWS 凭据并想通过 Amazon Bedrock 开始使用 Claude Code,登录向导会带你完成。AWS 侧的前置条件每个账号只需完成一次,向导处理 Claude Code 一侧:

  1. 在 Amazon Bedrock 控制台打开 Model catalog,选择一个 Anthropic 模型并提交用例表单,提交后立即获得访问权限
  2. 运行 claude。在登录提示处选 3rd-party platform,然后选 Amazon Bedrock。如果你已经登录、看到的是聊天提示,运行 /setup-bedrock 打开向导
  3. 选择如何向 AWS 认证:从 ~/.aws 目录检测到的 AWS profile、Amazon Bedrock API Key、访问密钥和密钥、或你环境里已有的凭据。向导会询问你的区域,验证你的账号能访问哪些 Claude 模型

登录之后,随时运行 /setup-bedrock 重新打开向导,更改凭据、区域或模型固定。向导写入 ~/.claude/settings.json。

手动设置

想通过环境变量而不是向导配置(例如在 CI 或脚本化的企业推广里),按以下步骤。

1. 提交用例详情

在首次调用 Anthropic 模型之前,要提交用例详情,每个 AWS 账号一次。确保你有下面所述的 IAM 权限,然后到 Amazon Bedrock 控制台提交。

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 profile)

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

选项 D:AWS 管理控制台凭据

aws login

选项 E:Amazon Bedrock API Key

export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

Amazon Bedrock API Key 提供一种更简单的认证方式,不需要完整的 AWS 凭据。

3. 配置 Claude Code

设置下面的环境变量启用 Amazon Bedrock:

# 启用 Bedrock 集成
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1  # 如果你的 AWS profile 已经设置了区域,则可选

# 可选:覆盖小型/快速模型的 AWS 区域
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2

# 可选:为自定义端点或网关覆盖 Bedrock 端点 URL
# export ANTHROPIC_BEDROCK_BASE_URL=https://bedrock-runtime.us-east-1.amazonaws.com

启用时要记住:

  • 只有在想覆盖 AWS profile 的区域、或你的 profile 没有区域时,才需要设置 AWS_REGION。Claude Code 按这个顺序解析区域:AWS_REGION、AWS_DEFAULT_REGION、活动 AWS profile 上设置的 region、us-east-1。运行 /status 看解析出的区域
  • 使用 Amazon Bedrock 时,/logout 命令不可用,因为认证由 AWS 凭据处理
  • WebSearch 工具在 Amazon Bedrock 上不可用
  • 可以在设置文件里设置 AWS_PROFILE 这类你不想泄露给其他进程的环境变量

4. 固定模型版本

向多个用户部署时,要固定特定的模型版本。不固定的话,sonnet 和 opus 这类别名会解析为 Claude Code 对 Amazon Bedrock 的内置默认值,它可能落后于最新发布,也可能尚未在你的账号里可用。

把这些环境变量设置为特定的 Amazon Bedrock 模型 ID。没有 ANTHROPIC_DEFAULT_OPUS_MODEL 时,Amazon Bedrock 上的 opus 别名解析为 Opus 5.5;没有 ANTHROPIC_DEFAULT_SONNET_MODEL 时,sonnet 别名解析为 Sonnet 4.5。这个例子把每个别名固定到特定版本:

export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'
export ANTHROPIC_DEFAULT_SONNET_MODEL='us.anthropic.claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

这些 ID 使用 us. 跨区域推理配置文件前缀;如果你用不同的区域前缀或应用推理配置文件,相应调整(在 AWS GovCloud 区域用 us-gov. 前缀)。想保留内置默认模型而只改变它们的首选前缀,设置 ANTHROPIC_BEDROCK_REGION_PREFIX 而不是固定。没有设置固定变量时,Claude Code 的默认模型是:主模型 Opus 5.5(如 us-* 区域里的 us.anthropic.claude-opus-5-5),小型/快速模型 Sonnet 4.5。

Opus 模型的单 token 价格高于 Sonnet,所以不固定主模型的部署在更新到 v2.1.207 或更新版本后会按 Opus 费率计费。想保持 Sonnet 4.5 作为主模型,把 ANTHROPIC_MODEL 设为它的完整模型 ID。

想进一步定制模型:

# 使用推理配置文件 ID
export ANTHROPIC_MODEL='us.anthropic.claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_HAIKU_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

# 可选:请求 1 小时提示缓存 TTL,而不是默认的 5 分钟
# export ENABLE_PROMPT_CACHING_1H=1

1 小时缓存 TTL 按更高的费率计费。

IAM 配置

为 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"
        }
      }
    }
  ]
}

想要更严格的权限,可以把 Resource 限制到特定的推理配置文件 ARN。bedrock:GetInferenceProfile 让 Claude Code 把应用推理配置文件 ARN 解析为它背后的基础模型,用来为该模型选择正确的请求形态;缺少这个权限时,Claude Code 会用另一种形态重试一次来自动恢复,请求仍会成功,但每个新模型会多一次往返。建议为 Claude Code 创建专用的 AWS 账号,以简化成本追踪和访问控制。

1M token 上下文窗口与更多

Claude Sonnet 5、Opus 4.6 及更新版本、Sonnet 4.6 在 Amazon Bedrock 上支持 1M token 上下文窗口,可以在固定的模型 ID 后追加 [1m] 来启用。官方原文还涵盖启动时的模型检查、跨区域推理配置文件前缀、服务层级、AWS Guardrails 和 Mantle 端点,见本页参考资料。