AWS Bedrock is not a model — it is a platform. A common misconception is that Bedrock is Amazon's AI model. It is not. Amazon has its own Titan models on Bedrock, but the platform primarily provides access to third-party models — Claude, Llama, Mistral — inside AWS's infrastructure and compliance boundary. One API, multiple frontier models, AWS IAM for access control, FedRAMP High authorization, and managed services for RAG, agents, and safety filtering built in.
If you are already on AWS and building AI applications, Bedrock is almost always the right foundation. This guide covers everything you need to actually use it.
Key Takeaways
- One API, multiple models: Claude, Llama, Titan, Mistral, Stability AI — all through the Converse API, no model-specific formatting required.
- AWS IAM authentication: No API keys in environment variables. Access controlled by IAM roles and policies like any other AWS service.
- FedRAMP High authorized and available in GovCloud — suitable for federal agency AI workloads.
- Knowledge Bases (managed RAG), Agents (tool use), and Guardrails (content filtering) are all first-party managed services built on top of base model access.
What AWS Bedrock Is
Separate API keys, pipelines, infra
Wire together Anthropic API + Pinecone + your own RAG pipeline + a content filter + separate logging. Multiple API keys, multiple billing relationships, multiple points of failure, no AWS-native compliance story.
One platform, AWS-native
All models through one API. IAM authentication. VPC endpoints so traffic never leaves AWS. CloudWatch logging and metrics built in. Knowledge Bases for RAG, Agents for tool use, Guardrails for safety — all first-party, all managed.
The Converse API: Model-Agnostic Interface
Bedrock's Converse API is the recommended API for most new applications. Instead of formatting requests differently for each model, you use a single consistent schema and Bedrock translates it to whatever the underlying model expects. Swap the modelId string and nothing else changes.
import boto3 client = boto3.client("bedrock-runtime", region_name="us-east-1") response = client.converse( modelId="anthropic.claude-3-5-sonnet-20241022-v2:0", # Swap to "meta.llama3-70b-instruct-v1:0" — same code, different model messages=[{ "role": "user", "content": [{"text": "Summarize this contract for key risks."}] }], inferenceConfig={ "maxTokens": 1024, "temperature": 0.3 } ) output = response["output"]["message"]["content"][0]["text"] print(output)
Bedrock vs OpenAI API vs Azure OpenAI
| Feature | AWS Bedrock | OpenAI API | Azure OpenAI |
|---|---|---|---|
| Model variety | Claude, Llama, Titan, Mistral, Stability | GPT-4o, o1, DALL-E | GPT-4o, o1 only |
| Authentication | AWS IAM roles | API keys | Azure AD / managed identity |
| FedRAMP High | Yes | No | Yes (Azure Gov) |
| GovCloud | Yes | No | Yes (Azure Gov) |
| Managed RAG | Yes — Knowledge Bases | No (bring your own) | Partial — AI Search |
| VPC networking | Yes — VPC endpoints | No | Yes — Private Link |
| Best for | AWS-native enterprise & gov | Consumer apps, startups | Azure-native enterprise |
Knowledge Bases: Managed RAG
Knowledge Bases for Bedrock is AWS's fully managed RAG service. Point it at an S3 bucket, choose an embedding model, and Bedrock handles chunking, embedding, vector storage (via OpenSearch Serverless or Pinecone), and retrieval — no custom pipeline required.
Connect S3 Data Source
Point Bedrock at an S3 bucket containing PDFs, Word docs, HTML, or CSV files. Confluence, SharePoint, and Salesforce are also supported as data sources.
Choose Embedding Model
Select from Amazon Titan Embeddings v2 or Cohere Embed. Bedrock automatically chunks documents, runs them through the embedding model, and stores vectors.
Select Vector Store
Bedrock manages OpenSearch Serverless behind the scenes, or bring your own — Pinecone, Redis, or Aurora PostgreSQL with pgvector.
Query via API
Use the RetrieveAndGenerate API — pass a question and Bedrock retrieves relevant chunks, injects them into the prompt, and returns a cited answer. One API call replaces the entire RAG pipeline.
Bedrock for Government: FedRAMP and GovCloud
Bedrock's FedRAMP High authorization means federal agencies can use it for sensitive workloads, including Controlled Unclassified Information (CUI) processing, subject to agency-specific ATO requirements. The combination of IAM authentication, VPC endpoints (traffic never leaves AWS infrastructure), CloudWatch audit logging, and Guardrails for content filtering makes Bedrock the default choice for government AI applications on AWS.
Build AI on AWS. Learn Bedrock hands-on in two days.
The 2-day Precision AI Academy bootcamp covers AWS Bedrock, Knowledge Bases, Agents, and production AI deployment. 5 cities. $1,490. June–October 2026 (Thu–Fri).
Reserve Your Seat →Bedrock's model catalog is its moat — not its inference performance.
AWS Bedrock's main value isn't that it runs foundation models better than calling APIs directly. Latency and throughput for Claude, Llama, and Titan through Bedrock are comparable to direct API calls, sometimes slightly worse. The actual value for enterprise AWS customers is consolidation: one IAM policy, one billing line, one VPC endpoint, one CloudTrail audit log covering all model calls. For a company that already has AWS enterprise agreements, compliance requirements, and established security tooling, keeping AI inference inside the AWS perimeter is worth paying a slight premium for that consolidation.
The catalog breadth is also genuinely differentiated. Bedrock gives access to Anthropic's Claude models, Meta's Llama variants, Mistral, Cohere, Stability AI, and Amazon's own Titan — from a single API surface. That multi-model access matters for teams building model-comparison infrastructure or wanting the flexibility to switch models without re-architecting integrations. Azure OpenAI Service is the closest competitor, but its catalog is narrower and more tied to OpenAI's roadmap. Google Vertex AI's model garden is comparable but tighter to GCP workloads. Bedrock's breadth is currently the strongest argument for it over alternatives.
For developers building on Bedrock: the Converse API (Bedrock's unified chat interface) is the right abstraction to build against — it works consistently across model providers and will save you from rewriting prompt code every time you switch models. Don't build directly against model-specific request formats if you can avoid it.