Migration guidesFrom Amazon Bedrock
From Amazon Bedrock alone, to Bedrock as one of your providers
Bedrock keeps inference inside your AWS account, under IAM and on your AWS bill. INFRO does not change that: it calls Bedrock with a credential from your account. What it adds is routing and failover across Bedrock and your other providers, budgets that refuse before the call, and cost per request by project, key and user. This page is precise about what INFRO can route on Bedrock today, because it is less than everything.
AWS service; Bedrock API keys and OpenAI-compatible endpoints added alongside Converse
INFRO accounts are self-serve. The catalog, the docs, and the API contract are public, the gateway is deployed, and anything beyond v1 is marked Later. Plans and trial
Where things stand
What Bedrock added
Bedrock API keys (bearer tokens; short-term up to 12 hours, or long-term) alongside SigV4, and OpenAI-compatible Chat Completions and Responses at bedrock-runtime.{region}.amazonaws.com/openai/v1, which AWS calls the recommended endpoint for new applications.
What INFRO calls
That OpenAI-compatible endpoint, with a long-term Bedrock API key and a region. It serves the OpenAI, xAI, Moonshot and MiniMax models there. Each model is named in the connection's model map, because Bedrock ids are regional (global.openai.gpt-5.6-sol).
What INFRO does not call
Converse and InvokeModel. Claude, Llama, Nova and Cohere on Bedrock are served there, so INFRO cannot route them on Bedrock today. Claude through INFRO comes from an Anthropic or Vertex AI connection.
For many AWS teams, Bedrock alone is the right answer. Stay if one of these holds.
- Your traffic is Claude, Llama, Nova or Cohere on Bedrock, and it must stay on AWS. INFRO cannot route those on Bedrock today.
- Your security team requires IAM roles or short-term credentials only. INFRO's Bedrock connection takes a long-term Bedrock API key, which AWS describes as for exploration and recommends against for production.
- You depend on Bedrock Guardrails, prompt routers, prompt management, Provisioned Throughput or application inference profiles for cost allocation. INFRO has its own guardrails and routes, and none of those Bedrock objects.
- Inference must stay in a named AWS region and nothing may leave AWS. INFRO runs on Cloudflare's network between your app and Bedrock; residency is on the roadmap.
The edits, one row each. Everything not listed here stays as it is.
| Amazon Bedrock | INFRO | |
|---|---|---|
| Base URL | bedrock-runtime.{region}.amazonaws.com (Converse) or its /openai/v1. | https://api.infro.io/v1 |
| Credential | SigV4 from IAM, or a Bedrock API key. | An INFRO gateway key in your app. INFRO holds a long-term Bedrock API key for your account, sealed, scoped by IAM to what you allow. |
| Model id | global.openai.gpt-5.6-sol, openai.gpt-oss-120b-1:0. | openai/gpt-5.6-sol, openai/gpt-oss-120b; the connection maps each to the Bedrock id. aws-bedrock/<bedrock id> reaches an id the catalog does not carry. |
| Fields | requestMetadata, guardrailConfig, X-Amzn-Bedrock-Guardrail* headers. | metadata { user_id, session_id, tags }; INFRO guardrails configured in the console. |
Before · Bedrock, OpenAI-compatible
import os
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-east-1.amazonaws.com/openai/v1",
api_key=os.environ["AWS_BEARER_TOKEN_BEDROCK"],
)
client.chat.completions.create(
model="global.openai.gpt-5.6-sol",
messages=[{"role": "user", "content": "Hello"}],
)After · INFRO
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.infro.io/v1",
api_key=os.environ["INFRO_API_KEY"],
)
client.chat.completions.create(
model="openai/gpt-5.6-sol",
messages=[{"role": "user", "content": "Hello"}],
extra_body={
# Only your Bedrock connection may serve this request
"routing": {"providers": {"allow": ["aws-bedrock"]}},
"metadata": {"user_id": "cust_123"},
},
)Converse callers
If your code uses Converse or InvokeModel through boto3 or the AWS SDK, there is no two-line switch: the request shape changes to Chat Completions. For Claude, keep those calls direct, or connect Anthropic or Vertex AI and call /v1/messages.
Failover across clouds
A route can try GPT on Bedrock first and on OpenAI or Azure OpenAI next, each on your own account. routing.providers keeps a request on Bedrock when it must stay there.
Cost stays in AWS billing
INFRO estimates each request from your negotiated rate or the list rate. It does not read AWS billing, so there is no reconciled figure for Bedrock; your AWS bill remains the record.
Amazon Bedrock's objects against INFRO's, from Amazon Bedrock's public documentation read on 19 October 2026 and checked against what the gateway implements. Two rows say INFRO has nothing.
| Amazon Bedrock | What it does there | In INFRO |
|---|---|---|
| Bedrock account and quotassame shape | Your AWS account, per-model tokens-per-minute quotas. | Unchanged: INFRO calls your account and your quotas apply. A 429 from Bedrock follows the route's failure rule. |
| IAM and SigV4different | Roles, policies, short-term credentials. | A long-term Bedrock API key per connection. No IAM role assumption, no SigV4. |
| Converse and InvokeModelnothing | Bedrock's native APIs, used for Claude, Llama, Nova and Cohere. | Not called. INFRO routes Bedrock's OpenAI-compatible models only. |
| Cross-Region inference profilesdifferent | us., eu., global. profiles route inside AWS. | Named in the connection's model map; Bedrock still chooses the region. INFRO adds failover to other providers. |
| Application inference profiles and `requestMetadata`different | Tags and metadata for cost allocation and log filtering. | metadata and projects: cost per request by project, key, user and tag, estimated. |
| Bedrock Guardrailsdifferent | Content, topic, word, PII and grounding policies by id and version. | INFRO's own guardrails: pattern rules and decision-model checks. No Bedrock Guardrails setting. |
| Intelligent prompt routingdifferent | A prompt router chooses between two models of one family. | A route's prompt classifier picks a class of targets on a decision model you choose. |
| Budgetsdifferent | No per-request spend limit; AWS Budgets alert on the bill. | Budgets that refuse at the ceiling with 402 before the call, per organization, project, member, key and end customer. |
| Provisioned Throughput, prompt managementnothing | Reserved capacity and stored prompt versions, called by ARN. | Nothing. |
| Cost reconciliationdifferent | Cost Explorer and the AWS bill. | Estimates only for Bedrock; reconciliation reads OpenAI's and Anthropic's cost APIs, not AWS billing. |
Our reading of Amazon Bedrock’s published documentation, not a trial or a benchmark. If we have read something wrong, tell us and we will fix the row.
What INFRO does not do
- Route Claude, Llama, Nova or Cohere on Bedrock (they need Converse).
- Use IAM roles, SigV4 or short-term Bedrock keys.
- Apply Bedrock Guardrails, prompt routers, prompt management or Provisioned Throughput.
- Reconcile against AWS billing.
- Keep traffic inside AWS; INFRO runs on Cloudflare's network.
What does not come across
- CloudWatch metrics and model invocation logs from before the switch; they stay in AWS.
- Guardrail and prompt-router configuration. Recreate what INFRO supports in its own guardrails and routes.
Questions
- Can INFRO route Claude on Bedrock?
- Not today. INFRO calls Bedrock's OpenAI-compatible endpoint, and Claude on Bedrock is served through Converse. Route Claude through an Anthropic or Vertex AI connection, or keep those calls direct.
- Who bills me for Bedrock usage?
- AWS, on your own account. INFRO is a subscription and adds 0% to model spend.
- What credential does INFRO need?
- A long-term Bedrock API key and the region, sealed in INFRO. Scope it with IAM to the models you route.
Move with us, or on your own
The migration program maps your Amazon Bedrock setup to INFRO connections, routes and budgets on a call and moves the first service with you. Your providers keep billing you directly; INFRO is a subscription and adds 0% to model spend.
Sources
Every statement on this page about Amazon Bedrock comes from one of these, read on 19 October 2026. Nothing is inferred from a trial, a benchmark, or a conversation.
- AWS — Bedrock API keysread 2026-10-19
- AWS — Chat Completions API on Bedrockread 2026-10-19
- AWS — Responses API and bedrock-mantleread 2026-10-19
- AWS — Converse API referenceread 2026-10-19
- AWS — Cross-Region inferenceread 2026-10-19
- AWS — Inference profilesread 2026-10-19
- AWS — Intelligent prompt routingread 2026-10-19
- AWS — Prompt cachingread 2026-10-19