Passer au contenu principal

Prérequis

Avant de configurer Claude Code avec Bedrock, assurez-vous que vous avez :
  • Un compte AWS avec accès à Bedrock activé
  • Accès aux modèles Claude souhaités (par exemple, Claude Sonnet 4.5) dans Bedrock
  • AWS CLI installé et configuré (facultatif - uniquement nécessaire si vous n’avez pas d’autre mécanisme pour obtenir les identifiants)
  • Autorisations IAM appropriées

Configuration

1. Soumettre les détails du cas d’utilisation

Les utilisateurs pour la première fois des modèles Anthropic doivent soumettre les détails du cas d’utilisation avant d’invoquer un modèle. Ceci est fait une fois par compte.
  1. Assurez-vous que vous avez les bonnes autorisations IAM (voir plus à ce sujet ci-dessous)
  2. Accédez à la console Amazon Bedrock
  3. Sélectionnez Chat/Text playground
  4. Choisissez n’importe quel modèle Anthropic et vous serez invité à remplir le formulaire de cas d’utilisation

2. Configurer les identifiants AWS

Claude Code utilise la chaîne d’identifiants du SDK AWS par défaut. Configurez vos identifiants en utilisant l’une de ces méthodes : Option A : Configuration AWS CLI
aws configure
Option B : Variables d’environnement (clé d’accès)
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
Option C : Variables d’environnement (profil SSO)
aws sso login --profile=<your-profile-name>

export AWS_PROFILE=your-profile-name
Option D : Clés API Bedrock
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key
Les clés API Bedrock fournissent une méthode d’authentification plus simple sans avoir besoin d’identifiants AWS complets. En savoir plus sur les clés API Bedrock.

Configuration avancée des identifiants

Claude Code prend en charge l’actualisation automatique des identifiants pour AWS SSO et les fournisseurs d’identité d’entreprise. Ajoutez ces paramètres à votre fichier de paramètres Claude Code (voir Paramètres pour les emplacements des fichiers). Lorsque Claude Code détecte que vos identifiants AWS ont expiré (soit localement en fonction de leur horodatage, soit lorsque Bedrock renvoie une erreur d’identifiants), il exécutera automatiquement vos commandes awsAuthRefresh et/ou awsCredentialExport configurées pour obtenir de nouveaux identifiants avant de réessayer la demande.
Exemple de configuration
{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}
Paramètres de configuration expliqués
awsAuthRefresh : Utilisez ceci pour les commandes qui modifient le répertoire .aws (par exemple, mise à jour des identifiants, cache SSO ou fichiers de configuration). La sortie est affichée à l’utilisateur (mais l’entrée utilisateur n’est pas prise en charge), ce qui la rend appropriée pour les flux d’authentification basés sur le navigateur où l’interface de ligne de commande affiche un code à entrer dans le navigateur. awsCredentialExport : Utilisez ceci uniquement si vous ne pouvez pas modifier .aws et devez retourner directement les identifiants. La sortie est capturée silencieusement (non affichée à l’utilisateur). La commande doit produire du JSON dans ce format :
{
  "Credentials": {
    "AccessKeyId": "value",
    "SecretAccessKey": "value",
    "SessionToken": "value"
  }
}

3. Configurer Claude Code

Définissez les variables d’environnement suivantes pour activer Bedrock :
# Enable Bedrock integration
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1  # or your preferred region

# Optional: Override the region for the small/fast model (Haiku)
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2
Lors de l’activation de Bedrock pour Claude Code, gardez à l’esprit les points suivants :
  • AWS_REGION est une variable d’environnement requise. Claude Code ne lit pas à partir du fichier de configuration .aws pour ce paramètre.
  • Lors de l’utilisation de Bedrock, les commandes /login et /logout sont désactivées car l’authentification est gérée via les identifiants AWS.
  • Vous pouvez utiliser des fichiers de paramètres pour les variables d’environnement comme AWS_PROFILE que vous ne voulez pas divulguer à d’autres processus. Voir Paramètres pour plus d’informations.

4. Configuration du modèle

Claude Code utilise ces modèles par défaut pour Bedrock :
Type de modèleValeur par défaut
Modèle principalglobal.anthropic.claude-sonnet-4-5-20250929-v1:0
Modèle petit/rapideus.anthropic.claude-haiku-4-5-20251001-v1:0
Pour les utilisateurs de Bedrock, Claude Code ne sera pas automatiquement mis à niveau de Haiku 3.5 vers Haiku 4.5. Pour basculer manuellement vers un modèle Haiku plus récent, définissez la variable d’environnement ANTHROPIC_DEFAULT_HAIKU_MODEL sur le nom complet du modèle (par exemple, us.anthropic.claude-haiku-4-5-20251001-v1:0).
Pour personnaliser les modèles, utilisez l’une de ces méthodes :
# Using inference profile 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'

# Using application inference profile ARN
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'

# Optional: Disable prompt caching if needed
export DISABLE_PROMPT_CACHING=1
La mise en cache des invites peut ne pas être disponible dans toutes les régions

5. Configuration du jeton de sortie

Lors de l’utilisation de Claude Code avec Amazon Bedrock, nous recommandons les paramètres de jeton suivants :
# Recommended output token settings for Bedrock
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096
export MAX_THINKING_TOKENS=1024
Pourquoi ces valeurs :
  • CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096 : La logique de limitation de débit de Bedrock définit un minimum de 4096 jetons comme pénalité max_token. Définir ceci à une valeur inférieure ne réduira pas les coûts mais peut couper les utilisations d’outils longues, ce qui entraîne l’échec persistant de la boucle d’agent Claude Code. Claude Code utilise généralement moins de 4096 jetons de sortie sans réflexion étendue, mais peut avoir besoin de cette marge pour les tâches impliquant une création de fichiers importante ou l’utilisation de l’outil Write.
  • MAX_THINKING_TOKENS=1024 : Ceci fournit de l’espace pour la réflexion étendue sans couper les réponses d’utilisation d’outils, tout en maintenant des chaînes de raisonnement ciblées. Cet équilibre aide à prévenir les changements de trajectoire qui ne sont pas toujours utiles pour les tâches de codage spécifiquement.

Configuration IAM

Créez une politique IAM avec les autorisations requises pour Claude Code :
{
  "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"
        }
      }
    }
  ]
}
Pour des autorisations plus restrictives, vous pouvez limiter la ressource à des ARN de profil d’inférence spécifiques. Pour plus de détails, voir Documentation IAM Bedrock.
Nous recommandons de créer un compte AWS dédié pour Claude Code afin de simplifier le suivi des coûts et le contrôle d’accès.

Dépannage

Si vous rencontrez des problèmes de région :
  • Vérifiez la disponibilité du modèle : aws bedrock list-inference-profiles --region your-region
  • Basculez vers une région prise en charge : export AWS_REGION=us-east-1
  • Envisagez d’utiliser des profils d’inférence pour l’accès inter-régions
Si vous recevez une erreur « on-demand throughput isn’t supported » : Claude Code utilise l’API Invoke de Bedrock et ne prend pas en charge l’API Converse.

Ressources supplémentaires