Предварительные требования

Перед настройкой Claude Code с Bedrock убедитесь, что у вас есть:

  • Аккаунт AWS с включенным доступом к Bedrock
  • Доступ к желаемым моделям Claude (например, Claude Sonnet 4) в Bedrock
  • Установленный и настроенный AWS CLI (опционально - нужен только если у вас нет другого механизма получения учетных данных)
  • Соответствующие разрешения IAM

Настройка

1. Включение доступа к модели

Сначала убедитесь, что у вас есть доступ к необходимым моделям Claude в вашем аккаунте AWS:

  1. Перейдите в консоль Amazon Bedrock
  2. Перейдите в Model access в левой навигации
  3. Запросите доступ к желаемым моделям Claude (например, Claude Sonnet 4)
  4. Дождитесь одобрения (обычно мгновенно для большинства регионов)

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: API ключи Bedrock

export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

API ключи Bedrock предоставляют более простой метод аутентификации без необходимости полных учетных данных AWS. Узнайте больше об API ключах Bedrock.

Расширенная конфигурация учетных данных

Claude Code поддерживает автоматическое обновление учетных данных для AWS SSO и корпоративных поставщиков удостоверений. Добавьте эти настройки в файл настроек Claude Code (см. Настройки для расположения файлов).

Когда 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

При включении Bedrock для Claude Code имейте в виду следующее:

  • AWS_REGION является обязательной переменной окружения. Claude Code не читает из файла конфигурации .aws для этой настройки.
  • При использовании Bedrock команды /login и /logout отключены, поскольку аутентификация обрабатывается через учетные данные AWS.
  • Вы можете использовать файлы настроек для переменных окружения, таких как AWS_PROFILE, которые вы не хотите передавать другим процессам. См. Настройки для получения дополнительной информации.

4. Конфигурация модели

Claude Code использует эти модели по умолчанию для Bedrock:

Тип моделиЗначение по умолчанию
Основная модельus.anthropic.claude-3-7-sonnet-20250219-v1:0
Малая/быстрая модельus.anthropic.claude-3-5-haiku-20241022-v1:0

Для настройки моделей используйте один из этих методов:

# Использование ID профиля вывода
export ANTHROPIC_MODEL='us.anthropic.claude-opus-4-1-20250805-v1:0'
export ANTHROPIC_SMALL_FAST_MODEL='us.anthropic.claude-3-5-haiku-20241022-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

Создайте политику IAM с необходимыми разрешениями для Claude Code:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*"
      ]
    }
  ]
}

Для более ограничительных разрешений вы можете ограничить Resource конкретными ARN профилей вывода.

Для подробностей см. документацию Bedrock IAM.

Мы рекомендуем создать выделенный аккаунт AWS для Claude Code для упрощения отслеживания затрат и контроля доступа.

Устранение неполадок

Если вы сталкиваетесь с проблемами регионов:

  • Проверьте доступность модели: aws bedrock list-inference-profiles --region your-region
  • Переключитесь на поддерживаемый регион: export AWS_REGION=us-east-1
  • Рассмотрите использование профилей вывода для межрегионального доступа

Если вы получаете ошибку “on-demand throughput isn’t supported”:

Claude Code использует Invoke API Bedrock и не поддерживает Converse API.

Дополнительные ресурсы