Claude Code en Bedrock o Vertex AI: configuración y costes
Configura Claude Code con Amazon Bedrock o Google Vertex AI: variables de entorno, credenciales, facturación, modelos disponibles y funciones que se pierden.
Qué cambia cuando Claude Code se ejecuta en su propia cuenta de nube
Puede ejecutar Claude Code en Amazon Bedrock o Google Vertex AI. El cambio requiere dos o tres variables de entorno y las credenciales de nube que su equipo ya utiliza. Todo lo local funciona igual: la CLI, los subagentes, los hooks, las skills, los servidores MCP y sus archivos CLAUDE.md. Sólo cambia la llamada al modelo. Con ella también cambian cuatro aspectos: la red que atraviesa la solicitud, la cuenta que paga el uso, los modelos de Claude que puede invocar y las funciones del lado del servidor que están disponibles.
La pregunta rara vez es si funciona. Funciona. La pregunta es cuál de esos cuatro aspectos le importa más.
Las tres opciones de enrutamiento y el coste de cada una
Acceso directo a Anthropic con una suscripción. Inicia sesión con una cuenta de claude.ai que tenga un plan Pro, Max, Team o Enterprise. Las solicitudes se envían a la API de Anthropic. El pago es por usuario, y el uso está limitado por los límites del plan en lugar de medirse por token. Esta es la única opción que permite acceder a las interfaces basadas en la cuenta, como Claude Code en la web, la aplicación móvil, Desktop y Remote Control. Para un equipo, el plan Claude Enterprise añade el inicio de sesión único y la configuración de políticas administradas.
Acceso directo a Anthropic con una clave de API. Creas una clave en Anthropic Console y pagas por token. La infraestructura y las regiones son las mismas que con la suscripción, no hay pago por usuario y el uso aparece en el panel propio de Anthropic. Cuál de las dos opciones resulta más barata depende de cuántas horas al día se ejecute realmente el agente. Ese es el tema de la comparación del coste de la API con el de la suscripción y de lo que cuesta Claude Code en la práctica.
Un endpoint de terceros en Bedrock o Vertex. Tu propia cuenta de AWS o Google Cloud sirve el modelo. Anthropic no interviene en la ruta de la solicitud durante la inferencia. Los tokens se cargan en una factura que ya recibes, bajo las políticas de IAM (gestión de identidades y acceso) y los registros de auditoría que ya administras. Existen otras dos opciones de terceros, Microsoft Foundry y Claude Platform on AWS, que siguen el mismo esquema: una variable de entorno selecciona el proveedor y la cuenta de cloud asume el coste.
Nota sobre los nombres, a fecha de agosto de 2026: Google cambió el nombre de Vertex AI por Google Cloud's Agent Platform. La documentación de Anthropic usa el nombre nuevo, el mensaje de inicio de sesión de Claude Code todavía muestra Google Vertex AI y las variables de entorno todavía muestran VERTEX.
La residencia de los datos es el motivo real para hacer esto
En Bedrock, la solicitud se dirige a un endpoint de Bedrock en una región de AWS que usted elige, dentro de su propia cuenta. Los datos en reposo se cifran con AES-256 mediante claves administradas por AWS, y puede proporcionar su propia clave a través de AWS KMS (servicio de administración de claves). En Vertex, el equivalente son las claves de cifrado administradas por Google, con CMEK (claves de cifrado administradas por el cliente) disponible. El acceso se controla mediante los roles de IAM que ya utiliza, y las llamadas aparecen en CloudTrail o Cloud Audit Logs como cualquier otra llamada a una API. Para un equipo sujeto a regulación, ese es todo el argumento, y es un argumento sólido.
Dos detalles hacen que esto sea menos absoluto de lo que sugiere el marketing.
Un perfil de inferencia entre regiones no corresponde a una sola región. En Bedrock, Claude Code resuelve sus modelos predeterminados integrados en identificadores de perfiles de inferencia entre regiones, y el prefijo que prefiere procede de la región que resolvió: us. en una región us-*, eu. en una región eu-*, apac. en una región ap-* y us-gov. en GovCloud. Un perfil entre regiones puede atender una solicitud desde otra región dentro de esa geografía. Por tanto, la garantía que obtiene corresponde a una geografía, no a una ciudad. Si su requisito especifica una región concreta, dirija el tráfico mediante un perfil de inferencia de aplicación que controle y establezca ANTHROPIC_MODEL en su ARN.
Parte del tráfico todavía llega a Anthropic, y no incluye su código. La telemetría, los informes de errores y el comando /feedback están desactivados de forma predeterminada tanto en Bedrock como en Vertex, y /feedback escribe un archivo de archivo bajo ~/.claude/feedback-bundles/ en su propia máquina en lugar de cargar nada. Hay dos excepciones que se ejecutan con todos los proveedores. Antes de obtener una URL, la herramienta WebFetch envía el nombre de host, y sólo el nombre de host, a api.anthropic.com para comprobar una lista de bloqueo de seguridad. Las encuestas sobre la calidad de la sesión también siguen apareciendo. Desactive la primera opción con skipWebFetchPreflight en su archivo de configuración y la segunda con CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1, o desactive todo el tráfico no esencial de una vez con CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC.
En cuanto al entrenamiento: según las condiciones comerciales, Anthropic no entrena modelos con el código ni con las instrucciones enviadas mediante Claude Code, y el uso de plataformas de terceros es comercial. El Development Partner Program, la opción de participación voluntaria que sí permite el entrenamiento, no se ofrece a los usuarios de Bedrock ni de Vertex. La retención cero de datos en estos endpoints depende del acuerdo que tenga con AWS o Google.
Indicar a Claude Code que use Amazon Bedrock
Antes de configurar cualquier cliente, deben completarse dos acciones una vez por cuenta de AWS. Abra la consola de Amazon Bedrock, seleccione un modelo de Anthropic en el catálogo de modelos y envíe el formulario del caso de uso: el acceso se concede inmediatamente después del envío. Después, asocie una política de IAM que permita las llamadas que realiza Claude Code.
bedrock:InvokeModelbedrock:InvokeModelWithResponseStreambedrock:ListInferenceProfilesbedrock:GetInferenceProfile
ListInferenceProfiles permite que Claude Code compruebe durante el inicio qué modelos puede invocar realmente su cuenta. GetInferenceProfile permite resolver el ARN de un perfil de inferencia de aplicación hasta el modelo fundacional subyacente, para que pueda elegir el formato de solicitud correcto. Sin ese permiso, las solicitudes siguen funcionando porque Claude Code reintenta una vez con el otro formato. El síntoma es un recorrido adicional por cada modelo nuevo, no un error.
La forma más rápida de configurar el cliente es usar el asistente. Ejecute claude, seleccione plataforma de terceros y después Amazon Bedrock, o escriba /setup-bedrock en una sesión que ya tenga una sesión iniciada. Lee los perfiles de su directorio ~/.aws, verifica qué modelos puede invocar y escribe el resultado en el bloque env de ~/.claude/settings.json, de modo que nada dependa de su perfil de shell.
Para un despliegue mediante scripts, establezca las variables manualmente.
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1Las credenciales proceden de la cadena de credenciales estándar de AWS SDK, por lo que aquí funciona cualquier método que ya funcione para la CLI aws: aws configure, un perfil de SSO, un rol asumido o una clave de API de Bedrock.
aws sso login --profile=your-profile-name
export AWS_PROFILE=your-profile-nameexport AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-keyEl token bearer es la opción más sencilla y la que debe manejarse con más cuidado, porque es un secreto de larga duración almacenado en una variable de entorno. En un servidor de compilación compartido, prefiera un rol con caducidad. El mismo criterio se aplica a cualquier otra credencial que el agente pueda leer; ese es el tema de mantener los secretos fuera del alcance de un agente de IA.
La trampa de la región. Claude Code resuelve la región en este orden: AWS_REGION, después AWS_DEFAULT_REGION, luego region del perfil de AWS activo y, por último, us-east-1. Este último paso es un valor predeterminado, no un error. Por eso, un equipo que no haya establecido ninguna región y suponga que el tráfico se encamina a Europa enviará sus solicitudes a una región de Estados Unidos sin que se muestre ninguna advertencia. Ejecute /status dentro de Claude Code para ver la región resuelta y su origen. Para confirmar qué puede invocar su cuenta en una región, ejecute aws bedrock list-inference-profiles --region your-region.
Ejecutar Claude Code en Google Vertex AI
Habilite la API y obtenga las credenciales.
gcloud config set project YOUR-PROJECT-ID
gcloud services enable aiplatform.googleapis.com
gcloud auth application-default loginSolicite acceso a los modelos de Claude que necesite en Model Garden. La aprobación no es inmediata, así que espere entre 24 y 48 horas. Conceda roles/aiplatform.user, que incluye el permiso aiplatform.endpoints.predict, utilizado tanto para invocar modelos como para contar tokens.
A continuación, seleccione el proveedor.
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-IDCLOUD_ML_REGION acepta global, una ubicación multirregional como eu o us, o una región individual. El endpoint global ofrece la mejor disponibilidad y el menor control sobre dónde se procesa una solicitud, por lo que un requisito de residencia suele implicar especificar una ubicación. La cobertura de modelos varía entre las tres opciones. Si falta un modelo que necesita en el endpoint global, asigne sólo ese modelo a una ubicación mediante su variable VERTEX_REGION_CLAUDE_* y mantenga el resto en el ámbito global. Consulte la página actual de ubicaciones de Vertex AI en lugar de confiar en una lista que puede quedar obsoleta.
La trampa del proyecto. ANTHROPIC_VERTEX_PROJECT_ID es la fuente con menor prioridad para el ID del proyecto. GCLOUD_PROJECT, GOOGLE_CLOUD_PROJECT y el archivo de credenciales indicado por GOOGLE_APPLICATION_CREDENTIALS tienen prioridad sobre ella. En una máquina donde una de esas opciones ya está exportada, los cargos se asignan a ese otro proyecto y nada en la sesión lo indica.
Verifique el resultado después de cualquier cambio de proveedor. Ejecute /status: la línea API provider muestra Google Vertex AI, y las líneas GCP project, Default region y Model indican lo que Claude Code resolvió realmente. Si falta la línea del proveedor, las variables no llegan al proceso porque se exportaron en un shell distinto del que inició claude. Muévalas al bloque env del archivo de configuración. Así también evita que un valor como AWS_PROFILE llegue a cualquier otro proceso que inicie.
Qué modelos obtiene y con qué retraso llegan
Los alias como sonnet y opus no significan «los más recientes». En un endpoint de terceros, se resuelven en el valor predeterminado integrado de Claude Code para ese proveedor. Este valor puede corresponder a una versión anterior a la actual y es posible que ni siquiera esté habilitado en su cuenta. Si el modelo predeterminado no está disponible, Claude Code usa un modelo anterior o de una categoría inferior para esa sesión y muestra un aviso. El modelo alternativo no se guarda. Por eso, la siguiente sesión vuelve a intentarlo y muestra el aviso otra vez.
Para desplegarlo en un equipo, fije las versiones.
# 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>'Tome los ID de la descripción general de modelos y del catálogo de su proveedor, porque el formato varía según el proveedor: Bedrock espera un ID de perfil de inferencia o un ARN, mientras que Vertex espera un nombre de modelo simple. No los copie de un artículo, incluido este. Fijar las versiones también permite controlar los costes, porque el modelo principal predeterminado pertenece a la clase Opus y Opus cuesta más por token que Sonnet. Por tanto, un despliegue que no fija ningún modelo se factura con la tarifa superior. Para fijar un modelo como valor predeterminado de la sesión, establezca ANTHROPIC_MODEL con su ID completo.
La disponibilidad del modelo es la diferencia más clara de esta comparación. En la API propia de Anthropic, un modelo funciona el mismo día en que se publica. En Bedrock y Vertex, funciona cuando el proveedor de nube lo ha habilitado en su región y ha concedido acceso a su cuenta. Esto ocurre como mínimo varios días después y, en ocasiones, mucho más tarde. Si alguna tarea debe ejecutarse con el modelo más reciente, mantenga una ruta que pueda acceder a él. Este es el motivo práctico para encaminar modelos distintos a tareas diferentes.
Lo que se pierde con Bedrock y Vertex
Todo lo que se ejecuta localmente funciona con ambos proveedores: subagentes, hooks, comandos slash, skills, plugins, checkpoints, sandboxing, el archivo de configuración administrado y las métricas de OpenTelemetry. Las limitaciones están todas en el lado del servidor.
No están disponibles en ninguno de los dos endpoints: el modo rápido, Advisor, Channels, la mensajería entre sesiones, el panel de analítica y la configuración administrada por el servidor. Tampoco está disponible ninguna función que requiera una cuenta de claude.ai, como Claude Code en la web, la aplicación móvil, Desktop, Remote Control, las rutinas y los artefactos.
Sólo en Bedrock: la herramienta WebSearch no existe allí, por lo que Claude no puede ejecutar una búsqueda desde una sesión dirigida a Bedrock. Aun así, puede leer una página con WebFetch si se le proporciona una URL. En Vertex, la búsqueda web sí funciona con los modelos de generación Claude 4 y posteriores.
Parcial en ambos: el modo automático sólo funciona con un conjunto limitado de modelos más nuevos, y /loop necesita un intervalo explícito porque no puede elegirlo por sí mismo. Consulte la página de Anthropic sobre disponibilidad de funciones antes de prometer una función a su equipo, porque esta lista cambia.
¿A quién se factura?
Una suscripción y un endpoint de un tercero son compras independientes. Ninguna sustituye a la otra.
Conviene decirlo con claridad porque el error pasa inadvertido. Configure CLAUDE_CODE_USE_BEDROCK=1 en un equipo donde también haya una sesión iniciada con una licencia Max y AWS facturará cada token según las tarifas de Bedrock. La licencia seguirá generando un cargo mensual, pero no cubrirá nada de ese tráfico. Tampoco existe una vista combinada: el gasto aparece en AWS Cost Explorer o Google Cloud Billing, y el panel de análisis de Anthropic no está disponible en ninguno de los dos proveedores. El comando /logout también desaparece porque no existe una sesión de Anthropic que cerrar. La credencial es la credencial de la nube.
Las tarifas están en la página del propio proveedor y pueden cambiar. Consulte precios de Amazon Bedrock o precios de Vertex AI, no una cifra incluida en un artículo. Hay un aspecto estructural que no cambia: en estos endpoints se paga la inferencia por token. Por tanto, un agente que permanece activo todo el día cuesta lo que corresponda, sin un límite del plan que detenga el consumo.
Los límites de uso y las cuotas funcionan de forma diferente en cada método de enrutamiento
En una suscripción, los límites pertenecen a la cuenta, se restablecen según un calendario y, cuando se alcanza uno, hay que esperar. Este comportamiento se explica en cómo funcionan los límites de uso.
En una clave de API de Anthropic, los límites pertenecen a la organización, se expresan como solicitudes y tokens por minuto y aumentan con el nivel de uso.
En Bedrock y Vertex, los límites son cuotas de la nube asignadas por cuenta o proyecto, modelo y región, sin relación con ningún plan de Anthropic. Un error 429 significa que la cuenta alcanzó su cuota para ese modelo en esa región. Por tanto, la solución se aplica en la consola del proveedor: solicite un aumento o cambie a una ubicación con capacidad disponible. Bedrock descuenta la cuota según una regla de token burndown, en lugar de contar solicitudes de forma fija, y la capacidad reservada se adquiere como rendimiento aprovisionado. En Vertex, los errores 429 suelen indicar que el endpoint de una sola región no ofrece tanto el modelo principal como el modelo pequeño y rápido. Por eso CLOUD_ML_REGION=global es el punto de partida documentado. La página de cuotas de Google explica cómo solicitar un aumento.
Modos de fallo y cadenas que verá
Could not load the default credentials, en Vertex. Faltan las credenciales predeterminadas de la aplicación o han caducado. Ejecute gcloud auth application-default login o indique GOOGLE_APPLICATION_CREDENTIALS al archivo de claves de una cuenta de servicio.
Un error 404 que identifica el modelo, en Vertex. El modelo no está habilitado en Model Garden para ese proyecto o no se ofrece en la ubicación configurada. Algunos modelos sólo se sirven mediante el endpoint global o una ubicación multirregional como eu, nunca en una región específica.
on-demand throughput isn't supported, en Bedrock. Ha pasado un ID de modelo base sin formato para un modelo que sólo se sirve mediante un perfil de inferencia. Use en su lugar el ID del perfil de inferencia.
AWS default-chain credential resolve timed out. Un paso de la cadena de credenciales de AWS se ha quedado bloqueado. Lo más habitual es que se trate de un helper credential_process que espera una entrada que nunca puede recibir. Cada resolución de la cadena agota el tiempo de espera después de 60 segundos. Si la cadena necesita realmente más tiempo, por ejemplo para un flujo de SSO mediante navegador con MFA (autenticación multifactor) detrás de un wrapper, aumente el límite en milisegundos con CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.
Un error al iniciar Bedrock streaming response has content-type. Algo entre Claude Code y Bedrock está reescribiendo el flujo. Bedrock transmite los datos en un formato binario event-stream con el tipo de contenido application/vnd.amazon.eventstream. Por tanto, una gateway que lo vuelva a emitir como eventos enviados por el servidor devuelve un cuerpo que Claude Code no puede decodificar. Corrija la gateway para que pase sin cambios el cuerpo de la respuesta y su cabecera Content-Type.
Las pestañas del navegador se abren en bucle durante AWS SSO. Una VPN corporativa o un proxy que inspecciona TLS interrumpe el inicio de sesión. Claude Code interpreta la conexión dañada como un fallo de autenticación, vuelve a ejecutar el comando awsAuthRefresh y repite el proceso indefinidamente. Elimine awsAuthRefresh del archivo de configuración y ejecute aws sso login manualmente antes de iniciar Claude Code.
Elegir una opción de enrutamiento
Elija Anthropic directo si quiere acceder a los modelos nuevos desde el día de su lanzamiento y disponer del conjunto completo de funciones. Elija una clave de API si quiere facturación por token sin comprar puestos. Elija Bedrock o Vertex si necesita que la inferencia se ejecute dentro de una cuenta de nube que ya administra y acepta un flujo de publicación de modelos más lento y una lista de funciones más corta como contrapartida. Conviene guardar como referencia las páginas de configuración de Anthropic para Amazon Bedrock y Google Vertex AI, junto con la lista de AWS de modelos por región.
Ninguna de las tres opciones cambia dónde se ejecuta el agente. Claude Code es un proceso local que lee sus archivos y ejecuta sus comandos, independientemente del endpoint que responda. Por eso, los equipos que quieren ejecutarlo en un lugar distinto de un portátil instalan el agente de programación en un VPS y exportan allí estas mismas variables.
FAQ
¿Mi suscripción de Claude cubre Claude Code en Bedrock o Vertex?
No. Una licencia Pro, Max, Team o Enterprise y un endpoint de terceros son compras independientes, y ninguna cubre la otra. Con CLAUDE_CODE_USE_BEDROCK=1 o CLAUDE_CODE_USE_VERTEX=1 configurado, AWS o Google Cloud contabilizan cada token según sus tarifas y el coste aparece en la factura de esa nube, mientras la licencia sigue cobrándose mensualmente por las superficies que cubre. El seguimiento del gasto también cambia a AWS Cost Explorer o Google Cloud Billing, porque el panel de análisis de Anthropic no está disponible en ninguno de los dos proveedores.
¿A qué región envía Claude Code mis solicitudes en Amazon Bedrock?
A la región que resolvió, que /status le mostrará. Claude Code comprueba AWS_REGION, después AWS_DEFAULT_REGION y luego region en el perfil activo de AWS. Si ninguna está configurada, usa us-east-1. Sus modelos predeterminados integrados se resuelven después en perfiles de inferencia entre regiones cuyo prefijo sigue esa región, como us. o eu.. Un perfil entre regiones puede atender una solicitud desde otra región de la misma zona geográfica. Si una región concreta es un requisito estricto, use un perfil de inferencia de aplicación bajo su control y establezca ANTHROPIC_MODEL en su ARN.
¿Por qué falta el modelo más reciente de Claude en mi cuenta de Bedrock o Vertex?
Porque cada proveedor de nube habilita los modelos según su propio calendario y, además, debe conceder acceso a su cuenta. En Vertex, solicite acceso en Model Garden. La aprobación puede tardar entre 24 y 48 horas. Hasta entonces, alias como sonnet y opus se resuelven en el modelo predeterminado integrado de Claude Code para ese proveedor. Si ese modelo predeterminado no está disponible en su cuenta, Claude Code usa un modelo anterior o de nivel inferior para la sesión y muestra un aviso. Fije ANTHROPIC_DEFAULT_SONNET_MODEL y sus equivalentes en IDs cuya habilitación haya confirmado.
¿Está disponible la búsqueda web en Claude Code en Amazon Bedrock?
No. La herramienta WebSearch no está disponible en Bedrock, por lo que Claude no puede ejecutar una búsqueda desde una sesión encaminada allí. Aun así, puede leer una página concreta con WebFetch si proporciona la URL. En Google Vertex AI, la búsqueda web sí funciona con los modelos de generación Claude 4 y posteriores. Esta es una de las pocas diferencias de capacidades favorables a Vertex.
¿Necesito una cuenta de Anthropic para ejecutar Claude Code en Bedrock o Vertex?
No. La autenticación usa sus credenciales de AWS o Google Cloud. Por eso /logout no está disponible en ninguno de los dos proveedores. Hay una conexión con Anthropic independientemente del proveedor que utilice: antes de obtener una URL, la herramienta WebFetch envía el nombre de host, y sólo el nombre de host, a api.anthropic.com para comprobarlo frente a una lista de bloqueo de seguridad. Establezca skipWebFetchPreflight en su archivo de configuración para desactivar esta comprobación. Si aún quiere limitar los dominios a los que Claude puede acceder, combine esta opción con reglas de permisos de WebFetch.