Claude Code su Bedrock o Vertex AI: come scegliere
Scopri variabili d'ambiente, credenziali, costi e limiti per usare Claude Code su Amazon Bedrock o Google Vertex AI, senza cambiare CLI, hook o server MCP.
Cosa cambia quando Claude Code viene eseguito sul proprio account cloud
È possibile eseguire Claude Code su Amazon Bedrock o Google Vertex AI. Per passare da un servizio all'altro bastano due o tre variabili d'ambiente e le credenziali cloud già disponibili al team. Tutto ciò che viene eseguito localmente resta invariato: la CLI, i subagent, gli hook, le skill, i server MCP e i file CLAUDE.md. Cambia soltanto la chiamata al modello, che trasferisce con sé quattro aspetti: la rete attraversata dalla richiesta, l'account che sostiene i costi, i modelli Claude che è possibile richiamare e le funzionalità disponibili lato server.
La domanda raramente è se il sistema funziona. Funziona. La domanda è quale di questi quattro aspetti è più importante per il proprio caso.
I tre percorsi e il costo di ciascuno
Accesso diretto ad Anthropic con un abbonamento. Accedi con un account claude.ai associato a un piano Pro, Max, Team o Enterprise. Le richieste vengono inviate all'API di Anthropic. Paghi per postazione e l'utilizzo è limitato dai limiti del piano, invece di essere conteggiato per token. Questo è l'unico percorso che consente di usare le interfacce basate sull'account, come Claude Code sul web, l'app mobile, Desktop e Remote Control. Per un team, il piano Claude Enterprise aggiunge il single sign-on e le impostazioni delle policy gestite.
Accesso diretto ad Anthropic con una chiave API. Crei una chiave nella Anthropic Console e paghi per token. L'infrastruttura e le regioni sono le stesse dell'abbonamento, non paghi per postazione e l'utilizzo compare nella dashboard di Anthropic. Quale delle due opzioni sia più economica dipende dal numero di ore al giorno in cui l'agente è effettivamente in esecuzione. Questo è l'argomento di il confronto dei costi tra API e abbonamento e di quanto costa Claude Code nella pratica.
Un endpoint di terze parti su Bedrock o Vertex. Il modello viene fornito dal tuo account AWS o Google Cloud. Anthropic non interviene nel percorso delle richieste durante l'inferenza. I token vengono addebitati sulla fattura che già ricevi, secondo le policy IAM (identity and access management) e i log di audit che già gestisci. Esistono altre due opzioni di terze parti, Microsoft Foundry e Claude Platform on AWS, che seguono lo stesso modello: una variabile d'ambiente seleziona il provider e il costo viene addebitato all'account cloud.
Nota sulla denominazione, ad agosto 2026: Google ha rinominato Vertex AI in Google Cloud's Agent Platform. La documentazione di Anthropic usa il nuovo nome, il prompt di accesso di Claude Code mostra ancora Google Vertex AI e le variabili d'ambiente riportano ancora VERTEX.
La sovranità dei dati è il vero motivo per cui i team scelgono questa soluzione
Su Bedrock, la richiesta raggiunge un endpoint Bedrock in una regione AWS scelta dall'utente, all'interno del proprio account. I dati inattivi sono cifrati con AES-256 usando chiavi gestite da AWS. È possibile fornire una chiave personalizzata tramite AWS KMS (key management service). Su Vertex, l'equivalente consiste nelle chiavi di cifratura gestite da Google, con il supporto di CMEK (customer-managed encryption keys). L'accesso è regolato dai ruoli IAM già in uso. Le chiamate compaiono in CloudTrail o in Cloud Audit Logs come qualsiasi altra chiamata API. Per un team soggetto a requisiti normativi, questo è l'argomento decisivo, ed è un argomento valido.
Due dettagli rendono questa garanzia meno assoluta di quanto suggerisca il marketing.
Un profilo di inferenza cross-region non corrisponde a una singola regione. Su Bedrock, Claude Code risolve i modelli predefiniti integrati in ID di profili di inferenza cross-region. Il prefisso preferito dipende dalla regione risolta: us. in una regione us-*, eu. in una regione eu-*, apac. in una regione ap-* e us-gov. in GovCloud. Un profilo cross-region può elaborare una richiesta da un'altra regione della stessa area geografica. La garanzia riguarda quindi un'area geografica, non una singola città. Se il requisito indica una regione specifica, instrada le richieste tramite un profilo di inferenza applicativo sotto il tuo controllo e imposta ANTHROPIC_MODEL sul relativo ARN.
Una parte del traffico raggiunge comunque Anthropic, ma nessuno di questi dati è il tuo codice. La telemetria, la segnalazione degli errori e il comando /feedback sono disabilitati per impostazione predefinita sia su Bedrock sia su Vertex. Inoltre, /feedback scrive un archivio in ~/.claude/feedback-bundles/ sul computer locale, invece di caricare dati. Due eccezioni si applicano a tutti i provider. Prima di recuperare un URL, lo strumento WebFetch invia a api.anthropic.com il nome host, e soltanto il nome host, per verificare una blocklist di sicurezza. Continuano inoltre a comparire i sondaggi sulla qualità della sessione. Disabilita il primo comportamento con skipWebFetchPreflight nel file delle impostazioni e il secondo con CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1. In alternativa, disabilita tutto il traffico non essenziale con CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC.
Per quanto riguarda l'addestramento, in base ai termini commerciali Anthropic non addestra i modelli sul codice o sui prompt inviati tramite Claude Code. Anche l'utilizzo di piattaforme di terze parti è commerciale. Il Development Partner Program, cioè il programma opt-in che consente l'addestramento, non è disponibile per gli utenti di Bedrock o Vertex. La conservazione zero dei dati su questi endpoint dipende dall'accordo stipulato con AWS o Google.
Indirizzare Claude Code ad Amazon Bedrock
Prima che abbia effetto qualsiasi configurazione del client, è necessario completare due attività per ogni account AWS. Apri la console Amazon Bedrock, seleziona un modello Anthropic dal catalogo dei modelli e invia il modulo del caso d'uso: l'accesso viene concesso subito dopo l'invio. Quindi associa una policy IAM che autorizzi le chiamate eseguite da Claude Code.
bedrock:InvokeModelbedrock:InvokeModelWithResponseStreambedrock:ListInferenceProfilesbedrock:GetInferenceProfile
ListInferenceProfiles consente a Claude Code di verificare all'avvio quali modelli l'account può effettivamente invocare. GetInferenceProfile consente di risalire da un ARN del profilo di inferenza dell'applicazione al modello di base sottostante, così da scegliere il formato corretto della richiesta. Senza questa autorizzazione, le richieste continuano comunque ad avere esito positivo, perché Claude Code riprova una volta usando l'altro formato. Il sintomo è un round trip aggiuntivo per ogni nuovo modello, non un errore.
Il percorso più rapido per configurare il client è la procedura guidata. Esegui claude, scegli piattaforma di terze parti e quindi Amazon Bedrock, oppure digita /setup-bedrock in una sessione già autenticata. La procedura legge i profili nella directory ~/.aws, verifica quali modelli puoi invocare e scrive il risultato nel blocco env di ~/.claude/settings.json, quindi la configurazione non dipende dal profilo della shell.
Per un'implementazione tramite script, imposta direttamente le variabili.
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1Le credenziali provengono dalla catena standard delle credenziali AWS SDK. Pertanto, qui funziona qualunque configurazione già utilizzata dalla CLI aws: aws configure, un profilo SSO, un ruolo assunto oppure una chiave API Bedrock.
aws sso login --profile=your-profile-name
export AWS_PROFILE=your-profile-nameexport AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-keyIl bearer token è l'opzione più semplice, ma deve essere gestito con attenzione perché è un secret di lunga durata presente in una variabile d'ambiente. Su un server di build condiviso, preferisci un ruolo con scadenza. Lo stesso principio vale per tutte le altre credenziali che l'agente può leggere; questo è l'argomento di tenere i secret fuori dalla portata di un agente AI.
Il problema della regione. Claude Code risolve la regione in questo ordine: AWS_REGION, quindi AWS_DEFAULT_REGION, poi region nel profilo AWS attivo e infine us-east-1. L'ultimo passaggio applica un valore predefinito e non genera un errore. Di conseguenza, un team che non ha impostato alcuna regione e presume l'instradamento verso l'Europa invia le richieste a una regione statunitense senza alcun avviso. Esegui /status all'interno di Claude Code per visualizzare la regione risolta e la relativa origine. Per verificare quali operazioni il tuo account può eseguire in una regione, esegui aws bedrock list-inference-profiles --region your-region.
Eseguire Claude Code su Google Vertex AI
Abilitare l'API e recuperare le credenziali.
gcloud config set project YOUR-PROJECT-ID
gcloud services enable aiplatform.googleapis.com
gcloud auth application-default loginRichiedere l'accesso ai modelli Claude desiderati in Model Garden. L'approvazione non è immediata: attendere da 24 a 48 ore. Concedere roles/aiplatform.user, che include l'autorizzazione aiplatform.endpoints.predict, utilizzata sia per invocare i modelli sia per contare i token.
Selezionare quindi il provider.
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-IDCLOUD_ML_REGION accetta global, una posizione multi-regione come eu o us, oppure una singola regione. L'endpoint globale offre la disponibilità migliore e il controllo minore sulla posizione in cui viene gestita una richiesta. Per questo, un requisito di residenza dei dati richiede in genere di specificare una posizione. La copertura dei modelli varia tra queste tre modalità. Se un modello necessario non è disponibile sull'endpoint globale, vincolare solo quel modello a una posizione tramite la variabile VERTEX_REGION_CLAUDE_* e lasciare globali tutti gli altri. Consultare la pagina aggiornata delle posizioni di Vertex AI invece di affidarsi a un elenco che può diventare obsoleto.
Il problema del progetto. ANTHROPIC_VERTEX_PROJECT_ID è la fonte con la priorità più bassa per l'ID del progetto. GCLOUD_PROJECT, GOOGLE_CLOUD_PROJECT e il file delle credenziali indicato da GOOGLE_APPLICATION_CREDENTIALS hanno tutti la precedenza. Su una macchina in cui una di queste impostazioni è già esportata, gli addebiti vengono assegnati a quell'altro progetto e nella sessione non compare alcuna indicazione.
Verificare il risultato dopo ogni modifica del provider. Eseguire /status: la riga API provider mostra Google Vertex AI, mentre le righe GCP project, Default region e Model mostrano i valori effettivamente risolti da Claude Code. Se manca la riga del provider, le variabili non raggiungono il processo perché sono state esportate in una shell diversa da quella che ha avviato claude. Spostarle nel blocco env del file delle impostazioni. In questo modo si mantiene anche un valore come AWS_PROFILE fuori da tutti gli altri processi avviati.
Quali modelli si ottengono e con quale ritardo diventano disponibili
Gli alias come sonnet e opus non indicano il modello più recente. Su un endpoint di terze parti corrispondono al modello predefinito integrato in Claude Code per quel provider. Questo modello può essere indietro rispetto alla release corrente e potrebbe non essere ancora abilitato per il proprio account. Se il modello predefinito non è disponibile, Claude Code utilizza per quella sessione un modello precedente o di livello inferiore e visualizza un avviso. Il fallback non viene salvato. La sessione successiva riprova e visualizza nuovamente l'avviso.
Per una distribuzione a livello di team, bloccare le versioni.
# 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>'Recuperare gli ID dalla panoramica dei modelli e dal catalogo del proprio provider, perché il formato varia in base al provider: Bedrock richiede un inference profile ID o un ARN, mentre Vertex richiede un semplice nome del modello. Non copiarli da un articolo, incluso questo. Il blocco della versione consente anche di controllare i costi, perché il modello primario predefinito appartiene alla classe Opus e Opus ha un costo per token superiore a Sonnet. Una distribuzione che non blocca alcun modello viene quindi fatturata alla tariffa più elevata. Per impostare un singolo modello come predefinito della sessione, assegnare a ANTHROPIC_MODEL il suo ID completo.
La disponibilità del modello è il compromesso più evidente in questo confronto. Sull'API di Anthropic, un modello funziona dal giorno del rilascio. Su Bedrock e Vertex funziona quando il provider cloud lo abilita nella propria regione e concede l'accesso al proprio account. Questo avviene almeno alcuni giorni dopo e talvolta molto più tardi. Se alcune attività devono essere eseguite con il modello più recente, mantenere una configurazione di routing in grado di raggiungerlo. Questo è il caso pratico per il routing di modelli diversi verso attività diverse.
Cosa si perde con Bedrock e Vertex
Tutto ciò che viene eseguito localmente funziona con entrambi i provider: subagent, hook, comandi slash, skill, plugin, checkpoint, sandbox, il file delle impostazioni gestite e le metriche OpenTelemetry. Le limitazioni riguardano esclusivamente il lato server.
Non disponibili con nessuno dei due endpoint: fast mode, Advisor, Channels, messaggistica tra sessioni, dashboard di analisi e impostazioni gestite dal server. Non è inoltre disponibile tutto ciò che richiede un account claude.ai, incluso Claude Code sul Web, l'app mobile, Desktop, Remote Control, routine e artifact.
Solo su Bedrock: lo strumento WebSearch non esiste, quindi Claude non può eseguire una ricerca da una sessione instradata verso Bedrock. Può comunque leggere una pagina con WebFetch se gli fornisci un URL. Su Vertex la ricerca web è disponibile per i modelli di generazione Claude 4 e successivi.
Parzialmente disponibili su entrambi: la modalità automatica funziona solo con un insieme limitato di modelli più recenti e /loop richiede un intervallo esplicito, perché non può sceglierne uno autonomamente. Consulta la pagina di disponibilità delle funzionalità di Anthropic prima di promettere una funzionalità al team, perché questo elenco cambia.
A chi viene addebitato il costo
Un abbonamento e un endpoint di terze parti sono acquisti distinti. Nessuno dei due sostituisce l'altro.
È importante dirlo chiaramente, perché l'errore passa inosservato. Imposta CLAUDE_CODE_USE_BEDROCK=1 su una macchina in cui hai effettuato l'accesso anche con un seat Max e AWS addebiterà ogni token secondo le tariffe di Bedrock. Il seat continua a essere addebitato ogni mese e non copre alcun dato relativo a quel traffico. Non esiste nemmeno una vista aggregata: la spesa viene registrata in AWS Cost Explorer o Google Cloud Billing e la dashboard di analisi di Anthropic non è disponibile su nessuno dei due provider. Anche il comando /logout non è disponibile, perché non esiste una sessione Anthropic da terminare. La credenziale è quella del cloud.
Le tariffe sono pubblicate sulla pagina del provider e possono cambiare. Consulta quindi prezzi di Amazon Bedrock o prezzi di Vertex AI, invece di usare i valori riportati in un articolo. Un aspetto strutturale non cambia: su questi endpoint paghi l'inferenza in base ai token. Un agent lasciato in esecuzione tutto il giorno costa quindi in base all'utilizzo, senza un limite incluso nel piano che ne interrompa la spesa.
I limiti di frequenza e le quote funzionano in modo diverso per ogni modalità di instradamento
Con un abbonamento, i limiti appartengono all'account, vengono reimpostati secondo una pianificazione e, quando se ne raggiunge uno, è necessario attendere. Questo comportamento è descritto in come funzionano i limiti di utilizzo.
Con una chiave API Anthropic, i limiti appartengono all'organizzazione, sono espressi in richieste e token al minuto e aumentano con il proprio livello di utilizzo.
Su Bedrock e Vertex, i limiti sono quote cloud associate all'account o al progetto, al modello e alla regione, senza alcun rapporto con un piano Anthropic. Un errore 429 indica che l'account ha raggiunto la quota per quel modello in quella regione. La correzione va quindi applicata nella console del provider: richiedere un aumento oppure spostarsi in una località con capacità disponibile. Bedrock calcola il consumo della quota secondo una regola di token burndown, invece di usare un conteggio fisso delle richieste, mentre la capacità riservata viene acquistata come throughput provisioned. Su Vertex, gli errori 429 indicano spesso che l'endpoint in una singola regione non fornisce sia il modello principale sia il modello rapido di dimensioni ridotte. Per questo CLOUD_ML_REGION=global è il punto di partenza documentato. La pagina di Google sulle quote descrive la procedura per richiedere un aumento.
Modalità di errore e stringhe visualizzate
Could not load the default credentials, su Vertex. Le credenziali predefinite dell'applicazione (Application Default Credentials) mancano o sono scadute. Esegui gcloud auth application-default login oppure imposta GOOGLE_APPLICATION_CREDENTIALS sul file della chiave dell'account di servizio.
Un errore 404 che indica il modello, su Vertex. Il modello non è abilitato in Model Garden per quel progetto oppure non è disponibile nella posizione configurata. Alcuni modelli sono disponibili solo sull'endpoint globale o in una posizione multiregionale come eu, mai in una regione specifica.
on-demand throughput isn't supported, su Bedrock. Hai passato un ID di modello base per un modello disponibile solo tramite un profilo di inferenza. Usa invece l'ID del profilo di inferenza.
AWS default-chain credential resolve timed out. Un passaggio della catena delle credenziali AWS è rimasto bloccato, nella maggior parte dei casi perché un helper credential_process attende un input che non può ricevere. Ogni risoluzione della catena va in timeout dopo 60 secondi. Se la catena richiede realmente più tempo, ad esempio per un flusso SSO tramite browser con MFA (autenticazione a più fattori) gestito da un wrapper, aumenta il limite in millisecondi con CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.
Un errore all'avvio di Bedrock streaming response has content-type. Un componente tra Claude Code e Bedrock sta riscrivendo lo stream. Bedrock usa un formato binario event-stream con il tipo di contenuto application/vnd.amazon.eventstream, quindi un gateway che lo ritrasmette come eventi inviati dal server restituisce un corpo che Claude Code non può decodificare. Modifica il gateway in modo che inoltri senza modifiche il corpo della risposta e l'header Content-Type.
Schede del browser che si aprono in un ciclo durante AWS SSO. Una VPN aziendale o un proxy che ispeziona TLS interrompe l'accesso, Claude Code interpreta la connessione interrotta come un errore di autenticazione, riesegue il comando awsAuthRefresh e ripete il ciclo indefinitamente. Rimuovi awsAuthRefresh dal file delle impostazioni ed esegui manualmente aws sso login prima di avviare Claude Code.
Scelta del routing
Scegli Anthropic diretto se vuoi usare i nuovi modelli dal giorno del rilascio e disporre dell’intero set di funzionalità. Scegli una chiave API se vuoi una fatturazione basata sui token senza acquistare licenze utente. Scegli Bedrock o Vertex se devi eseguire l’inferenza all’interno di un account cloud già sotto il tuo controllo e accetti, come compromesso, una distribuzione più lenta dei modelli e un set di funzionalità più limitato. Le pagine di configurazione da salvare nei preferiti sono quelle ufficiali di Anthropic per Amazon Bedrock e Google Vertex AI, insieme all’elenco AWS dei modelli per regione.
Nessuna delle tre opzioni modifica il punto in cui viene eseguito l’agente. Claude Code è un processo locale che legge i tuoi file ed esegue i tuoi comandi, indipendentemente dall’endpoint che risponde. Per questo i team che vogliono eseguirlo in un ambiente diverso da un laptop installano l’agente di coding su un VPS ed esportano lì le stesse variabili.
FAQ
Il mio abbonamento Claude copre Claude Code su Bedrock o Vertex?
No. Un abbonamento Pro, Max, Team o Enterprise e un endpoint di terze parti sono acquisti separati e nessuno dei due copre l'altro. Con CLAUDE_CODE_USE_BEDROCK=1 o CLAUDE_CODE_USE_VERTEX=1 impostato, ogni token viene fatturato da AWS o Google Cloud alle rispettive tariffe e addebitato sul relativo account cloud, mentre l'abbonamento continua a essere fatturato ogni mese per i servizi inclusi. Anche il monitoraggio dei costi cambia piattaforma e passa ad AWS Cost Explorer o Google Cloud Billing, perché la dashboard di analisi Anthropic non è disponibile su nessuno dei due provider.
In quale regione Claude Code invia le richieste su Amazon Bedrock?
Nella regione che ha risolto, indicata da /status. Claude Code controlla AWS_REGION, quindi AWS_DEFAULT_REGION, poi region nel profilo AWS attivo e, se nessuno di questi valori è impostato, usa us-east-1. I modelli predefiniti integrati vengono quindi risolti in profili di inferenza interregionali il cui prefisso segue quella regione, ad esempio us. o eu.. Un profilo interregionale può gestire una richiesta da un'altra regione della stessa area geografica. Quando è obbligatorio usare una regione specifica, utilizza un profilo di inferenza applicativo che controlli e imposta ANTHROPIC_MODEL sul relativo ARN.
Perché il modello Claude più recente non è disponibile nel mio account Bedrock o Vertex?
Perché ogni provider cloud abilita i modelli secondo tempistiche proprie e, inoltre, l'account deve ricevere l'autorizzazione di accesso. Su Vertex, la richiesta si presenta in Model Garden e l'approvazione può richiedere da 24 a 48 ore. Fino ad allora, alias come sonnet e opus vengono risolti nel modello predefinito integrato di Claude Code per quel provider. Se il modello predefinito non è disponibile nell'account, Claude Code usa per la sessione un modello precedente o di livello inferiore e mostra un avviso. Imposta ANTHROPIC_DEFAULT_SONNET_MODEL e gli alias correlati su ID di cui hai verificato l'abilitazione.
La ricerca web è disponibile in Claude Code su Amazon Bedrock?
No. Lo strumento WebSearch non è disponibile su Bedrock, quindi Claude non può eseguire una ricerca da una sessione instradata su quel servizio. Può comunque leggere una pagina specifica con WebFetch quando fornisci l'URL. Su Google Vertex AI la ricerca web è invece disponibile per i modelli della generazione Claude 4 e successive. Questa è una delle poche differenze di funzionalità a favore di Vertex.
Per eseguire Claude Code su Bedrock o Vertex serve un account Anthropic?
No. L'autenticazione usa le credenziali AWS o Google Cloud, per questo /logout non è disponibile su nessuno dei due provider. Esiste comunque una connessione ad Anthropic, indipendentemente dal provider utilizzato: prima di recuperare un URL, lo strumento WebFetch invia il nome host, e solo il nome host, a api.anthropic.com per verificarlo rispetto a una blocklist di sicurezza. Imposta skipWebFetchPreflight nel file delle impostazioni per disabilitare questo controllo. Se vuoi continuare a limitare i domini che Claude può raggiungere, configura anche le regole di autorizzazione di WebFetch.