SSD Nodes Learn 🎉 VPS dès $5.50/mois
Guides Matt ConnorPar Matt Connor

Claude Code sur Bedrock ou Vertex AI : comment choisir

Découvrez les variables d’environnement, l’origine des identifiants, le compte facturé et les fonctionnalités perdues avec Amazon Bedrock ou Google Vertex AI.

Ce qui change lorsque Claude Code s’exécute sur votre propre compte cloud

Vous pouvez exécuter Claude Code sur Amazon Bedrock ou Google Vertex AI. Le basculement nécessite deux ou trois variables d’environnement, ainsi que les identifiants cloud dont votre équipe dispose déjà. Tout ce qui est local reste identique : la CLI, les sous-agents, les hooks, les skills, les serveurs MCP et vos fichiers CLAUDE.md. Seul l’appel au modèle est déplacé. Quatre éléments le sont également : le réseau traversé par la requête, le compte qui la facture, les modèles Claude que vous êtes autorisé à appeler et les fonctionnalités disponibles côté serveur.

La question est rarement de savoir si cela fonctionne. Cela fonctionne. La question est de déterminer lequel de ces quatre éléments compte le plus pour vous.

Les trois modes d’acheminement et le coût de chacun

Accès direct à Anthropic avec un abonnement. Vous vous connectez avec un compte claude.ai associé à une offre Pro, Max, Team ou Enterprise. Les requêtes sont envoyées à l’API Anthropic. Vous payez par siège, et l’utilisation est plafonnée par les limites de l’offre au lieu d’être facturée au token. C’est le seul mode d’acheminement qui donne accès aux interfaces reposant sur le compte, comme Claude Code sur le web, l’application mobile, Desktop et Remote Control. Pour une équipe, l’offre Claude Enterprise ajoute l’authentification unique et les paramètres de stratégie administrés.

Accès direct à Anthropic avec une clé API. Vous créez une clé dans l’Anthropic Console et vous payez au token. L’infrastructure et les régions sont les mêmes que pour l’abonnement, sans notion de siège, et l’utilisation apparaît dans le dashboard d’Anthropic. Lequel des deux est le moins cher dépend du nombre d’heures par jour pendant lesquelles l’agent fonctionne réellement. C’est tout l’objet de la comparaison entre le coût de l’API et celui de l’abonnement et de l’analyse du coût réel de Claude Code.

Un endpoint tiers sur Bedrock ou Vertex. Votre propre compte AWS ou Google Cloud fournit le modèle. Anthropic n’intervient pas dans le chemin des requêtes au moment de l’inférence. Les tokens sont ajoutés à une facture que vous recevez déjà, selon les règles IAM (identity and access management) et les audit logs que vous utilisez déjà. Deux autres options tierces existent : Microsoft Foundry et Claude Platform on AWS. Elles suivent le même modèle : une variable d’environnement sélectionne le fournisseur, et le compte cloud paie.

Note sur la terminologie, en août 2026 : Google a renommé Vertex AI en Google Cloud’s Agent Platform. La documentation d’Anthropic utilise le nouveau nom, l’invite de connexion de Claude Code indique encore Google Vertex AI et les variables d’environnement indiquent toujours VERTEX.

La résidence des données est la vraie raison de ce choix

Sur Bedrock, la requête est envoyée à un endpoint Bedrock situé dans une région AWS que vous choisissez, au sein de votre propre compte. Les données au repos sont chiffrées avec AES-256 à l’aide de clés gérées par AWS. Vous pouvez aussi fournir votre propre clé via AWS KMS (key management service). Sur Vertex, l’équivalent repose sur des clés de chiffrement gérées par Google, avec la possibilité d’utiliser des CMEK (customer-managed encryption keys). L’accès est contrôlé par les rôles IAM que vous utilisez déjà, et les appels apparaissent dans CloudTrail ou Cloud Audit Logs comme n’importe quel autre appel d’API. Pour une équipe soumise à des exigences réglementaires, c’est l’argument principal, et il est solide.

Deux détails le rendent moins absolu que ne le laisse entendre le marketing.

Un profil d’inférence inter-régions ne correspond pas à une seule région. Sur Bedrock, Claude Code résout ses modèles par défaut intégrés en identifiants de profils d’inférence inter-régions. Le préfixe utilisé dépend de la région résolue : us. dans une région us-*, eu. dans une région eu-*, apac. dans une région ap-* et us-gov. dans GovCloud. Un profil inter-régions peut traiter une requête depuis une autre région située dans la même zone géographique. La garantie porte donc sur une zone géographique, pas sur une ville. Si votre exigence concerne une région précise, utilisez un profil d’inférence d’application que vous contrôlez et définissez ANTHROPIC_MODEL sur son ARN.

Une partie du trafic atteint tout de même Anthropic, mais il ne s’agit jamais de votre code. La télémétrie, le signalement des erreurs et la commande /feedback sont désactivés par défaut sur Bedrock comme sur Vertex. De son côté, /feedback écrit une archive sous ~/.claude/feedback-bundles/ sur votre propre machine au lieu d’envoyer quoi que ce soit. Deux exceptions s’appliquent avec tous les fournisseurs. Avant de récupérer une URL, l’outil WebFetch envoie le nom d’hôte, et uniquement le nom d’hôte, à api.anthropic.com afin de vérifier une blocklist de sécurité. Des enquêtes sur la qualité des sessions s’affichent également. Désactivez la première avec skipWebFetchPreflight dans votre fichier de configuration et la seconde avec CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1. Vous pouvez aussi désactiver d’un coup tout le trafic non essentiel avec CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC.

Concernant l’entraînement : dans le cadre des conditions commerciales, Anthropic n’entraîne pas ses modèles avec le code ou les prompts envoyés via Claude Code, et l’utilisation de plateformes tierces relève d’un usage commercial. Le Development Partner Program, qui permet l’entraînement uniquement après consentement explicite, n’est pas proposé aux utilisateurs de Bedrock ou de Vertex. La conservation nulle des données sur ces endpoints dépend de votre accord avec AWS ou Google.

Utiliser Claude Code avec Amazon Bedrock

Deux opérations doivent être effectuées une fois par compte AWS, avant toute configuration du client. Ouvrez la console Amazon Bedrock, sélectionnez un modèle Anthropic dans le catalogue des modèles, puis envoyez le formulaire de cas d’utilisation : l’accès est accordé immédiatement après l’envoi. Ajoutez ensuite une stratégie IAM qui autorise les appels effectués par Claude Code.

  • bedrock:InvokeModel
  • bedrock:InvokeModelWithResponseStream
  • bedrock:ListInferenceProfiles
  • bedrock:GetInferenceProfile

ListInferenceProfiles permet à Claude Code de vérifier au démarrage quels modèles votre compte peut réellement appeler. GetInferenceProfile lui permet de retrouver le foundation model correspondant à un ARN d’application de profil d’inférence, afin de sélectionner le bon format de requête. Sans cette autorisation, les requêtes aboutissent quand même, car Claude Code réessaie une fois avec l’autre format. Le seul symptôme est un aller-retour supplémentaire pour chaque nouveau modèle, pas une erreur.

Le chemin le plus rapide côté client passe par l’assistant. Exécutez claude, choisissez 3rd-party platform, puis Amazon Bedrock, ou saisissez /setup-bedrock dans une session déjà authentifiée. L’assistant lit les profils présents dans votre répertoire ~/.aws, vérifie les modèles que vous pouvez appeler et écrit le résultat dans le bloc env de ~/.claude/settings.json. La configuration ne dépend donc pas de votre shell profile.

Pour un déploiement automatisé, définissez vous-même les variables.

export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1

Les identifiants proviennent de la chaîne standard d’identifiants de l’AWS SDK. Tout ce qui fonctionne déjà pour la CLI aws fonctionne donc ici : aws configure, un profil SSO, un rôle assumé ou une clé API Bedrock.

aws sso login --profile=your-profile-name
export AWS_PROFILE=your-profile-name
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

Le bearer token est l’option la plus simple, mais c’est aussi celle qu’il faut gérer avec le plus de précautions, car il s’agit d’un secret à longue durée de vie présent dans une variable d’environnement. Sur un build box partagé, préférez un rôle à durée limitée. Le même principe s’applique à tous les autres identifiants que l’agent peut lire. C’est le sujet de garder les secrets hors de portée d’un agent IA.

Le piège de la région. Claude Code détermine la région dans cet ordre : AWS_REGION, puis AWS_DEFAULT_REGION, puis le region du profil AWS actif, puis us-east-1. Cette dernière étape applique une valeur par défaut ; ce n’est pas une erreur. Une équipe qui n’a défini aucune région et qui suppose que les requêtes passent par l’Europe les envoie donc vers une région américaine, sans aucun avertissement. Exécutez /status dans Claude Code pour afficher la région résolue et sa source. Pour vérifier ce que votre compte peut appeler dans une région, exécutez aws bedrock list-inference-profiles --region your-region.

Exécuter Claude Code sur Google Vertex AI

Activez l’API et récupérez les identifiants.

gcloud config set project YOUR-PROJECT-ID
gcloud services enable aiplatform.googleapis.com
gcloud auth application-default login

Demandez l’accès aux modèles Claude souhaités dans Model Garden. L’approbation n’est pas instantanée : prévoyez 24 à 48 heures. Accordez roles/aiplatform.user, qui contient l’autorisation aiplatform.endpoints.predict utilisée pour l’invocation des modèles et le comptage des tokens.

Sélectionnez ensuite le provider.

export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-ID

CLOUD_ML_REGION accepte global, un emplacement multi-région tel que eu ou us, ou une région unique. Le endpoint global offre la meilleure disponibilité, mais vous contrôlez moins l’emplacement où la requête est traitée. Une exigence de résidence des données impose donc généralement de spécifier un emplacement. La couverture des modèles diffère selon ces trois formes. Si un modèle nécessaire est absent du endpoint global, affectez uniquement ce modèle à un emplacement avec sa variable VERTEX_REGION_CLAUDE_* et laissez tous les autres utiliser le endpoint global. Consultez la page actuelle des emplacements Vertex AI au lieu de vous fier à une liste obsolète.

Le piège du projet. ANTHROPIC_VERTEX_PROJECT_ID est la source de l’ID de projet ayant la priorité la plus faible. GCLOUD_PROJECT, GOOGLE_CLOUD_PROJECT et le fichier d’identifiants indiqué par GOOGLE_APPLICATION_CREDENTIALS ont tous priorité sur cette valeur. Sur une machine où l’une de ces variables est déjà exportée, la facturation est imputée à cet autre projet, sans qu’aucun élément de la session ne l’indique.

Vérifiez le résultat après chaque changement de provider. Exécutez /status : la ligne API provider indique Google Vertex AI, tandis que les lignes GCP project, Default region et Model affichent les valeurs effectivement utilisées par Claude Code. Si la ligne du provider est absente, les variables n’atteignent pas le processus, car elles ont été exportées dans un shell différent de celui qui a lancé claude. Déplacez-les dans le bloc env du fichier de configuration. C’est également ainsi que vous empêchez une valeur telle que AWS_PROFILE d’être transmise à tous les autres processus que vous lancez.

Quels modèles vous obtenez et avec quel retard

Les alias tels que sonnet et opus ne désignent pas les modèles les plus récents. Sur un endpoint tiers, ils correspondent au modèle par défaut intégré à Claude Code pour ce provider. Celui-ci peut être en retard sur la version actuelle et ne pas être activé dans votre compte. Lorsque le modèle par défaut est indisponible, Claude Code utilise pour la session un modèle antérieur ou de gamme inférieure et affiche un message. Ce fallback n’est pas enregistré. La session suivante réessaie donc et affiche de nouveau le message.

Pour un déploiement dans une équipe, épinglez les versions.

# Copy the exact IDs from your provider's own model catalog.
export ANTHROPIC_DEFAULT_OPUS_MODEL='<provider model id>'
export ANTHROPIC_DEFAULT_SONNET_MODEL='<provider model id>'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='<provider model id>'

Relevez les ID dans la vue d’ensemble des modèles et dans le catalogue de votre provider, car le format varie selon le provider : Bedrock attend un inference profile ID ou un ARN, tandis que Vertex attend un nom de modèle simple. Ne les copiez pas depuis un article, y compris celui-ci. L’épinglage permet aussi de maîtriser les coûts, car le modèle primaire par défaut est un modèle de classe Opus et Opus coûte plus cher par token que Sonnet. Un déploiement qui n’épingle aucun modèle est donc facturé au tarif le plus élevé. Pour définir un seul modèle comme valeur par défaut de la session, définissez ANTHROPIC_MODEL avec son ID complet.

L’arrivée des modèles constitue le compromis le plus clair de cette comparaison. Sur l’API d’Anthropic, un modèle fonctionne le jour de son lancement. Sur Bedrock et Vertex, il fonctionne une fois que votre provider cloud l’a activé dans votre région et que votre compte y a obtenu l’accès. Cela prend au mieux plusieurs jours et parfois beaucoup plus longtemps. Si certaines tâches doivent utiliser le modèle le plus récent, conservez un routage capable de l’atteindre. C’est le cas pratique du routage de modèles différents vers des tâches différentes.

Ce que vous perdez avec Bedrock et Vertex

Tout ce qui s’exécute localement fonctionne avec chaque fournisseur : sous-agents, hooks, commandes slash, skills, plugins, checkpoints, sandboxing, fichier de paramètres géré et métriques OpenTelemetry. Les limitations concernent uniquement le serveur.

Les éléments suivants ne sont disponibles sur aucun des deux endpoints : fast mode, Advisor, Channels, messagerie intersessions, tableau de bord analytique et paramètres gérés côté serveur. Tout ce qui nécessite un compte claude.ai est également indisponible, notamment Claude Code sur le web, l’application mobile, Desktop, Remote Control, routines et artifacts.

Bedrock uniquement : l’outil WebSearch n’y existe pas. Claude ne peut donc pas lancer de recherche depuis une session routée vers Bedrock. Il peut tout de même lire une page avec WebFetch si vous lui fournissez une URL. La recherche web fonctionne avec Vertex pour les modèles de génération Claude 4 et ultérieurs.

Partiel sur les deux : le mode auto ne fonctionne qu’avec un ensemble limité de modèles plus récents, et /loop nécessite un intervalle explicite, car il ne peut pas en choisir un lui-même. Consultez la page disponibilité des fonctionnalités d’Anthropic avant de promettre une fonctionnalité à votre équipe, car cette liste évolue.

À qui la facture est-elle imputée

Un abonnement et un endpoint tiers sont deux achats distincts. Aucun ne remplace l’autre.

Il est important de l’indiquer clairement, car l’erreur passe inaperçue. Configurez CLAUDE_CODE_USE_BEDROCK=1 sur une machine où vous êtes également connecté avec un seat Max : chaque token est alors facturé par AWS selon les tarifs de Bedrock. Le seat continue d’être facturé chaque mois et ne couvre aucune de ces requêtes. Il n’existe pas non plus de vue consolidée : les dépenses apparaissent dans AWS Cost Explorer ou Google Cloud Billing, et le tableau de bord d’analytics Anthropic n’est disponible chez aucun de ces fournisseurs. La commande /logout disparaît également, car aucune session Anthropic n’est active. L’identifiant utilisé est celui du cloud.

Les tarifs figurent sur la page du fournisseur et peuvent changer. Consultez donc les tarifs d’Amazon Bedrock ou les tarifs de Vertex AI, plutôt qu’un montant indiqué dans un article. Un point structurel reste inchangé : sur ces endpoints, vous payez l’inférence au token. Un agent laissé en fonctionnement toute la journée coûte donc le montant correspondant à son utilisation, sans plafond inclus dans un forfait pour l’arrêter.

Les limites de débit et les quotas varient selon le mode de routage

Avec un abonnement, les limites s’appliquent au compte, sont réinitialisées selon un calendrier et, lorsqu’une limite est atteinte, il faut attendre. Ce fonctionnement est décrit dans le fonctionnement des limites d’utilisation.

Avec une clé API Anthropic, les limites s’appliquent à l’organisation. Elles sont exprimées en requêtes et en tokens par minute et augmentent avec votre niveau d’utilisation.

Avec Bedrock et Vertex, les limites correspondent aux quotas du cloud. Elles s’appliquent à un compte ou à un projet donné, pour un modèle et une région donnés, indépendamment de tout plan Anthropic. Une erreur 429 signifie que le compte a atteint son quota pour ce modèle dans cette région. La correction se fait donc dans la console du fournisseur : demandez une augmentation ou utilisez une région disposant de capacité disponible. Bedrock décompte le quota selon une règle de token burndown, et non selon un nombre fixe de requêtes. La capacité réservée s’achète sous la forme d’un provisioned throughput. Sur Vertex, les erreurs 429 signifient souvent que votre endpoint dans une seule région ne prend pas en charge à la fois le modèle principal et le petit modèle rapide. C’est pourquoi CLOUD_ML_REGION=global constitue le point de départ documenté. La page Google consacrée aux quotas explique comment demander une augmentation.

Modes d’échec et messages affichés

Could not load the default credentials, sur Vertex. Les Application Default Credentials sont absentes ou expirées. Exécutez gcloud auth application-default login ou indiquez à GOOGLE_APPLICATION_CREDENTIALS le chemin d’un fichier de clé de compte de service.

Une erreur 404 indiquant le nom du modèle, sur Vertex. Le modèle n’est pas activé dans Model Garden pour ce projet, ou il n’est pas proposé dans la location configurée. Certains modèles sont servis uniquement via l’endpoint global ou une location multirégion telle que eu, jamais dans une région précise.

on-demand throughput isn't supported, sur Bedrock. Vous avez fourni un ID nu de foundation model alors que ce modèle est servi uniquement via un inference profile. Utilisez plutôt l’ID de l’inference profile.

AWS default-chain credential resolve timed out. Une étape de la chaîne d’identifiants AWS est bloquée. Le cas le plus fréquent est un helper credential_process qui attend une entrée qu’il ne peut jamais recevoir. Chaque résolution de la chaîne expire après 60 secondes. Si votre chaîne nécessite réellement plus de temps, par exemple pour un flux SSO dans un navigateur avec MFA (multi-factor authentication) derrière un wrapper, augmentez la limite en millisecondes avec CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.

Erreur au démarrage de Bedrock streaming response has content-type. Un composant situé entre Claude Code et Bedrock réécrit le flux. Bedrock utilise un format binaire event-stream avec le type de contenu application/vnd.amazon.eventstream. Une gateway qui le réémet sous forme de server-sent events renvoie donc un corps que Claude Code ne peut pas décoder. Corrigez la gateway afin qu’elle transmette le corps de la réponse et son en-tête Content-Type sans modification.

Les onglets du navigateur s’ouvrent en boucle pendant le SSO AWS. Un VPN d’entreprise ou un proxy qui inspecte TLS interrompt l’authentification. Claude Code interprète la connexion interrompue comme un échec d’authentification, réexécute la commande awsAuthRefresh, puis recommence indéfiniment. Supprimez awsAuthRefresh de votre fichier de configuration et exécutez aws sso login manuellement avant de démarrer Claude Code.

Choisir un mode de routage

Choisissez l’accès direct à Anthropic si vous voulez utiliser les nouveaux modèles dès leur lancement et bénéficier de l’ensemble des fonctionnalités. Choisissez une clé API si vous voulez une facturation par token sans acheter de sièges. Choisissez Bedrock ou Vertex si l’inférence doit s’effectuer au sein d’un compte cloud que vous administrez déjà, et si vous acceptez en contrepartie un cycle de mise à disposition des modèles plus lent et une liste de fonctionnalités plus courte. Les pages de configuration à conserver dans vos favoris sont celles d’Anthropic pour Amazon Bedrock et Google Vertex AI, ainsi que la liste AWS des modèles par région.

Aucune de ces trois options ne modifie l’emplacement d’exécution de l’agent. Claude Code est un processus local qui lit vos fichiers et exécute vos commandes, quel que soit le endpoint qui lui répond. C’est pourquoi les équipes qui veulent l’exécuter ailleurs que sur un ordinateur portable installent l’agent de codage sur un VPS et y exportent ces mêmes variables.

FAQ

Mon abonnement Claude paie-t-il Claude Code sur Bedrock ou Vertex ?

Non. Un siège Pro, Max, Team ou Enterprise et un endpoint tiers sont des achats distincts. Aucun ne couvre l’autre. Avec CLAUDE_CODE_USE_BEDROCK=1 ou CLAUDE_CODE_USE_VERTEX=1 défini, chaque token est facturé par AWS ou Google Cloud selon leurs tarifs et apparaît sur la facture du cloud concerné, tandis que le siège continue d’être facturé chaque mois pour les surfaces qu’il couvre. Le suivi des dépenses est lui aussi transféré vers AWS Cost Explorer ou Google Cloud Billing, car le tableau de bord d’analytics d’Anthropic n’est disponible chez aucun de ces fournisseurs.

Vers quelle région Claude Code envoie-t-il mes requêtes sur Amazon Bedrock ?

Vers la région qu’il a déterminée, ce que /status vous indiquera. Claude Code vérifie AWS_REGION, puis AWS_DEFAULT_REGION, puis region dans votre profil AWS actif. Si aucune de ces valeurs n’est définie, il utilise us-east-1. Ses modèles par défaut intégrés sont ensuite résolus en profils d’inférence interrégion dont le préfixe dépend de cette région, comme us. ou eu.. Un profil interrégion peut traiter une requête depuis une autre région de la même zone géographique. Si une région précise est obligatoire, utilisez un profil d’inférence d’application que vous contrôlez et définissez ANTHROPIC_MODEL sur son ARN.

Pourquoi le modèle Claude le plus récent est-il absent de mon compte Bedrock ou Vertex ?

Parce que chaque fournisseur cloud active les modèles selon son propre calendrier. Votre compte doit également obtenir l’autorisation d’y accéder. Sur Vertex, vous demandez l’accès dans Model Garden. L’approbation peut prendre de 24 à 48 heures. D’ici là, des alias comme sonnet et opus sont résolus vers le modèle par défaut intégré à Claude Code pour ce fournisseur. Si ce modèle par défaut n’est pas disponible dans votre compte, Claude Code utilise pour la session un modèle antérieur ou de niveau inférieur et affiche un avertissement. Épinglez ANTHROPIC_DEFAULT_SONNET_MODEL et les alias associés sur des ID dont vous avez confirmé l’activation.

La recherche web est-elle disponible dans Claude Code sur Amazon Bedrock ?

Non. L’outil WebSearch n’est pas disponible sur Bedrock. Claude ne peut donc pas lancer de recherche depuis une session acheminée vers ce service. Il peut toutefois lire une page précise avec WebFetch lorsque vous fournissez son URL. Sur Google Vertex AI, la recherche web fonctionne pour les modèles de génération Claude 4 et ultérieurs. Il s’agit de l’une des rares différences de capacités en faveur de Vertex.

Ai-je besoin d’un compte Anthropic pour exécuter Claude Code sur Bedrock ou Vertex ?

Non. L’authentification utilise vos identifiants AWS ou Google Cloud. C’est pourquoi /logout n’est disponible chez aucun de ces fournisseurs. Quelle que soit la plateforme utilisée, une connexion à Anthropic subsiste : avant de récupérer une URL, l’outil WebFetch envoie le nom d’hôte, et uniquement le nom d’hôte, à api.anthropic.com afin de le comparer à une blocklist de sécurité. Définissez skipWebFetchPreflight dans votre fichier de paramètres pour désactiver ce comportement. Associez cette option à des règles d’autorisation WebFetch si vous souhaitez toujours limiter les domaines auxquels Claude peut accéder.