AWS Bedrock vs OpenAI: Ein praktischer Vergleich

AWS Bedrock vs OpenAI: Ein praktischer Vergleich

Foto von Growtika auf Unsplash

"Welche LLM-API soll ich nutzen?" ist die häufigste Frage in KI-Projekten. Die Antwort ist selten eindeutig, denn AWS Bedrock und OpenAI lösen unterschiedliche Probleme. Bedrock ist kein OpenAI-Konkurrent, sondern ein Managed Service, der Foundation Models verschiedener Anbieter unter einem Dach bündelt. OpenAI bietet eigene Spitzenmodelle mit einer der besten Developer Experiences am Markt.

Dieser Artikel vergleicht beide Plattformen anhand konkreter Kriterien: API-Integration mit Code-Beispielen, Kosten pro Token, Datenschutz und DSGVO, RAG-Fähigkeiten und Latenz. Am Ende steht ein Entscheidungsframework, das dir hilft, die richtige Wahl für dein Projekt zu treffen. Falls du bereits RAG-Systeme in Produktion betreibst, hilft dieser Vergleich bei der Plattformwahl für die nächste Iteration.

Was ist AWS Bedrock?

Amazon Bedrock ist ein vollständig verwalteter Service, der Foundation Models über eine einheitliche API bereitstellt. Im Gegensatz zu OpenAI entwickelt AWS keine eigenen LLMs (mit Ausnahme der Amazon Nova und Titan Familien), sondern hostet Modelle von Drittanbietern.

Verfügbare Modelle (Stand März 2026)

AnbieterModelleStärke
AnthropicClaude Sonnet 4.6, Opus 4.6, Haiku 4.5Reasoning, Coding, längere Kontexte
MetaLlama 4 Scout, Llama 4 Maverick, Llama 3.3 70BOpen Source, kosteneffizient
MistralMistral Large 3, Pixtral Large, Magistral SmallEuropäischer Anbieter, mehrsprachig
AmazonNova Pro, Nova Lite, Nova MicroExtrem günstig, AWS-nativ
DeepSeekDeepSeek-R1, DeepSeek V3.2Reasoning, Open Source
CohereCommand R+, Embed v4, Rerank 3.5RAG-optimiert, Embeddings

Kernfeatures

Bedrock bietet neben der reinen Model-Invocation vier zentrale Features:

  • Knowledge Bases: Managed RAG ohne eigene Infrastruktur (S3, OpenSearch, Aurora, Neptune)
  • Agents: Orchestrierung von Multi-Step-Workflows mit Tool Use
  • Guardrails: Content-Filter, PII-Erkennung, Topic-Restrictions
  • Model Evaluation: Automatisierte Qualitätsbewertung verschiedener Modelle

Vergleichsmatrix: Die wichtigsten Dimensionen

Bevor wir in die Details gehen, hier der Überblick:

KriteriumAWS BedrockOpenAI API
Modellauswahl100+ Modelle von 10+ AnbieternEigene Modelle (GPT, o-Series, DALL-E, Whisper)
SpitzenmodellClaude Opus 4.6, Claude Sonnet 4.6 (via Anthropic)GPT-4o, o1, o3-mini
Günstigstes ModellNova Micro ($0.035/1M Input)GPT-4o mini ($0.15/1M Input)
Data Residencyeu-central-1 Frankfurt, 7+ EU-RegionenEU (EWR), kein spezifisches Land wählbar
AuthentifizierungIAM Roles, keine API-Keys nötigAPI-Key pro Projekt
VPC-IsolationPrivateLink, Traffic verlässt nie AWSÖffentliches Internet
RAG (Managed)Knowledge Bases (S3, OpenSearch, Neptune GraphRAG)Assistants API mit File Search
Fine-TuningUnterstützt (modellabhängig)Unterstützt (GPT-4o, GPT-4o mini)
ComplianceSOC 1/2/3, ISO 27001, HIPAA, FedRAMPSOC 2, ISO 27001, HIPAA (BAA)
Developer ExperienceAWS SDK (boto3), steilere LernkurveOpenAI SDK, sehr gute DX

Praxisvergleich: API-Integration

Der beste Vergleich ist Code. Hier die gleiche Aufgabe mit beiden APIs: eine einfache Chat Completion mit System-Prompt.

Bedrock mit boto3 (Converse API)

import boto3
 
client = boto3.client("bedrock-runtime", region_name="eu-central-1")
 
response = client.converse(
    modelId="eu.anthropic.claude-sonnet-4-6",
    messages=[
        {
            "role": "user",
            "content": [{"text": "Was ist Retrieval-Augmented Generation?"}]
        }
    ],
    system=[{"text": "Du bist ein hilfreicher KI-Assistent."}],
    inferenceConfig={
        "temperature": 0.5,
        "maxTokens": 512
    }
)
 
text = response["output"]["message"]["content"][0]["text"]
usage = response["usage"]
print(f"Input: {usage['inputTokens']}, Output: {usage['outputTokens']}")
print(text)

OpenAI SDK

from openai import OpenAI
 
client = OpenAI()  # nutzt OPENAI_API_KEY aus Umgebungsvariable
 
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "Du bist ein hilfreicher KI-Assistent."},
        {"role": "user", "content": "Was ist Retrieval-Augmented Generation?"}
    ],
    temperature=0.7,
    max_tokens=512
)
 
text = response.choices[0].message.content
usage = response.usage
print(f"Input: {usage.prompt_tokens}, Output: {usage.completion_tokens}")
print(text)

Was fällt auf?

Authentifizierung: Bedrock nutzt IAM. Wenn dein Code auf EC2, ECS oder Lambda läuft, brauchst du keinen API-Key. Die Instanz-Rolle übernimmt die Authentifizierung automatisch. OpenAI braucht immer einen API-Key, der sicher gespeichert und rotiert werden muss.

Message-Format: Bedrock's Converse API wrappet den Text in ein content-Array mit Typ-Objekten ({"text": "..."}). Das ist ausführlicher, ermöglicht aber nativ multimodale Inputs (Text + Bild im selben Request). OpenAI's Format ist kompakter für reine Text-Anfragen.

Modellwechsel: Bei Bedrock änderst du nur die modelId, um von Claude auf Llama oder Mistral zu wechseln. Die Converse API abstrahiert die modellspezifischen Unterschiede. Bei OpenAI bist du an OpenAI-Modelle gebunden.

Streaming-Vergleich

Beide APIs unterstützen Streaming für Echtzeit-Ausgaben:

Bedrock:

response = client.converse_stream(
    modelId="eu.anthropic.claude-sonnet-4-6",
    messages=[
        {"role": "user", "content": [{"text": "Erkläre RAG in 3 Sätzen."}]}
    ],
    inferenceConfig={"temperature": 0.5, "maxTokens": 256}
)
 
for event in response.get("stream", []):
    if "contentBlockDelta" in event:
        print(event["contentBlockDelta"]["delta"]["text"], end="")

OpenAI:

stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "Erkläre RAG in 3 Sätzen."}
    ],
    stream=True
)
 
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

OpenAI's Streaming-API ist etwas eleganter. Bedrock's Event-basiertes Format braucht mehr Parsing-Logik, bietet dafür aber strukturierte Metadaten (Token-Usage) im Stream.

Kosten im Detail

Die Preisunterschiede sind erheblich und hängen stark vom gewählten Modell und Nutzungsmuster ab.

On-Demand-Preise pro 1M Tokens (März 2026)

ModellInput / 1M TokensOutput / 1M TokensPlattform
Amazon Nova Micro$0.035$0.14Bedrock
Amazon Nova Lite$0.06$0.24Bedrock
GPT-4o mini$0.15$0.60OpenAI
Amazon Nova Pro$0.80$3.20Bedrock
Claude 3.5 Haiku$0.80$4.00Bedrock
Claude Sonnet 4.6$3.00$15.00Bedrock
GPT-4o$2.50$10.00OpenAI
o3-mini$1.10$4.40OpenAI
o1$15.00$60.00OpenAI
Claude Opus 4.6$15.00$75.00Bedrock

Rechenbeispiel: 1 Million Anfragen pro Monat

Angenommen: durchschnittlich 500 Input-Tokens und 300 Output-Tokens pro Anfrage.

ModellMonatliche Kosten
Amazon Nova Micro$0.06
GPT-4o mini$0.26
Amazon Nova Pro$1.36
Claude Sonnet 4.6$6.00
GPT-4o$4.25

Nova Micro ist 70x günstiger als GPT-4o. Die Qualität ist natürlich nicht vergleichbar, aber für einfache Klassifikation, Zusammenfassungen oder Routing-Entscheidungen reicht ein kleines Modell oft aus.

Provisioned Throughput vs. Rate Limits

Bedrock bietet Reserved Capacity und Provisioned Throughput für planbare Workloads. OpenAI arbeitet mit Tier-basierten Rate Limits, die mit steigendem Umsatz automatisch erhöht werden.

Für Workloads mit gleichmäßiger Last (z.B. eine interne RAG-API mit 50 Anfragen pro Minute) kann Bedrock Provisioned Throughput 30 bis 50% günstiger sein als On-Demand. Für sporadische Nutzung (z.B. ein Chatbot mit Peaks) ist On-Demand bei beiden Plattformen sinnvoller.

Datenschutz und Compliance

Für europäische Unternehmen ist Datenschutz oft das entscheidende Kriterium.

Data Residency

AWS Bedrock: Du kannst eu-central-1 (Frankfurt) als Region wählen. Mit Cross-Region Inference (CRIS) bleiben alle Daten innerhalb der EU. CloudWatch-Logs, CloudTrail-Einträge und Model-Invocation-Logs werden nur in der Quellregion gespeichert. Du weißt exakt, in welchem Rechenzentrum deine Daten verarbeitet werden.

OpenAI: Seit Februar 2025 bietet OpenAI Data Residency in Europa an. Die Daten werden im Europäischen Wirtschaftsraum (EWR) gespeichert. Allerdings: Du kannst kein spezifisches Land wählen (z.B. nur Deutschland), die Option ist nur für Enterprise-Kunden verfügbar, und sie muss bei Projekt-Erstellung aktiviert werden. Bestehende Projekte lassen sich nicht migrieren.

VPC-Isolation

Bedrock unterstützt AWS PrivateLink. Das bedeutet: Der Traffic zwischen deiner Anwendung und Bedrock verlässt nie das AWS-Netzwerk. Kein DNS-Lookup über das öffentliche Internet, keine exponierte Endpunkt-URL. Für Anwendungen in regulierten Umgebungen (Banken, Versicherungen, Gesundheitswesen) ist das oft eine Pflichtanforderung.

OpenAI-Anfragen gehen über das öffentliche Internet. TLS 1.2+ verschlüsselt den Transport, aber der Traffic ist grundsätzlich öffentlich routbar.

Compliance-Vergleich

ZertifizierungAWS BedrockOpenAI API
SOC 2 Type IIJaJa
ISO 27001JaJa
ISO 27701 (Privacy)JaJa
HIPAAEligibleBAA verfügbar
FedRAMPModerate + High (GovCloud)Nein (nur Azure OpenAI)
CSA STAR Level 2JaNein

Für den öffentlichen Sektor oder US-Regierungsprojekte ist Bedrock mit FedRAMP-Zertifizierung die einzige direkte Option. OpenAI's FedRAMP-Zertifizierung läuft über Azure OpenAI Service, nicht über die direkte API.

RAG-Integration

Beide Plattformen bieten Managed RAG, aber mit unterschiedlichen Philosophien.

Bedrock Knowledge Bases

Bedrock Knowledge Bases ist eine vollständig verwaltete RAG-Lösung:

import boto3
 
client = boto3.client("bedrock-agent-runtime", region_name="eu-central-1")
 
response = client.retrieve_and_generate(
    input={"text": "Wie funktioniert unser Rückgabeprozess?"},
    retrieveAndGenerateConfiguration={
        "type": "KNOWLEDGE_BASE",
        "knowledgeBaseConfiguration": {
            "knowledgeBaseId": "KB12345ABCDE",
            "modelArn": "arn:aws:bedrock:eu-central-1::foundation-model/anthropic.claude-sonnet-4-6"
        }
    }
)
 
print(response["output"]["text"])
 
# Quellenangaben abrufen
for citation in response.get("citations", []):
    for ref in citation.get("retrievedReferences", []):
        print(f"Quelle: {ref['location']['s3Location']['uri']}")

Du lädst Dokumente in S3 hoch, Bedrock chunked, embeddet und indexiert sie automatisch. Abfragen liefern Antworten mit Quellenangaben. Unterstützte Vector Stores:

Vector StoreTypBesonderheit
Amazon S3 VectorsObject StorageBis zu 90% günstiger als dedizierte Vector-DBs
OpenSearch ServerlessManagedStandard-Option, Hybrid Search
Aurora PostgreSQLRelationalHybrid Search (semantisch + keyword)
Neptune AnalyticsGraphGraphRAG für Entitäten und Beziehungen
PineconeThird-PartyHohe Performance
MongoDB AtlasThird-PartyHybrid Search

OpenAI Assistants mit File Search

from openai import OpenAI
 
client = OpenAI()
 
# Vector Store erstellen und Dateien hochladen
vector_store = client.vector_stores.create(name="Unternehmensdokumentation")
 
file = client.files.create(
    file=open("handbuch.pdf", "rb"),
    purpose="assistants"
)
 
client.vector_stores.files.create(
    vector_store_id=vector_store.id,
    file_id=file.id
)
 
# Assistant mit File Search
assistant = client.assistants.create(
    name="Unternehmens-Assistent",
    model="gpt-4o",
    tools=[{"type": "file_search"}],
    tool_resources={
        "file_search": {
            "vector_store_ids": [vector_store.id]
        }
    }
)
 
# Abfrage
thread = client.threads.create()
client.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="Wie funktioniert unser Rückgabeprozess?"
)
 
run = client.threads.runs.create_and_poll(
    thread_id=thread.id,
    assistant_id=assistant.id
)
 
messages = client.threads.messages.list(thread_id=thread.id)
print(messages.data[0].content[0].text.value)

Vergleich

AspektBedrock Knowledge BasesOpenAI Assistants
SetupS3-Bucket + KonfigurationDateien hochladen
Vector Store6+ Optionen (S3, OpenSearch, Aurora, Neptune, Pinecone, MongoDB)OpenAI-eigener Store
GraphRAGJa (Neptune Analytics)Nein
Hybrid SearchJa (semantisch + keyword)Semantisch
ChunkingKonfigurierbar (fixed, semantic, hierarchical)Automatisch (800 Token Chunks)
Kosten-KontrolleVolle Kontrolle über Vector StoreOpake Preisgestaltung ($0.10/GB/Tag)
FlexibilitätHoch (eigene Embeddings, eigener Vector Store)Niedrig (alles managed)

Für Teams, die bereits auf AWS aufbauen und Kontrolle über ihre RAG-Pipeline brauchen, sind Knowledge Bases die bessere Wahl. Für schnelle Prototypen ohne AWS-Infrastruktur ist OpenAI's Assistants API einfacher. Falls du tiefer in RAG-Architekturen einsteigen willst, findest du in unserem Artikel zu RAG und CRAG die theoretischen Grundlagen.

Latenz und Performance

Latenz ist für interaktive Anwendungen (Chatbots, Echtzeit-Suche) entscheidend.

Time-to-First-Token (TTFT)

ModellTTFT (Median)Bemerkung
GPT-4o200 bis 400msKonstant, Tier-abhängig
GPT-4o mini150 bis 300msSchnellstes OpenAI-Modell
Claude Sonnet 4.6 (Bedrock)300 bis 600msCRIS kann 50 bis 100ms addieren
Nova Pro (Bedrock)200 bis 400msAWS-nativ, geringe Latenz
Nova Micro (Bedrock)100 bis 200msSchnellstes Bedrock-Modell

Cold Starts bei Bedrock: Nach längerer Inaktivität (10+ Minuten ohne Anfragen) kann die erste Anfrage 1 bis 3 Sekunden länger dauern. Das betrifft vor allem selten genutzte Modelle. Provisioned Throughput eliminiert Cold Starts komplett.

OpenAI Rate Limits: OpenAI drosselt nach Tier. Kostenlose Tier: 3 RPM (Requests pro Minute). Tier 5: 10.000 RPM. Für Production-Workloads ist mindestens Tier 3 nötig.

Streaming-Verhalten

Beide APIs unterstützen Streaming, aber mit unterschiedlicher Granularität. OpenAI streamt einzelne Tokens. Bedrock streamt in kleinen Chunks (typischerweise 2 bis 5 Tokens), was minimal höheren Durchsatz bei marginal höherer Latenz zwischen Chunks ergibt.

Terraform: Bedrock-Zugang einrichten

Für Teams, die Bedrock in ihre bestehende AWS-Infrastruktur integrieren, hier ein Terraform-Beispiel:

# IAM-Rolle für die Anwendung
resource "aws_iam_role" "bedrock_app" {
  name = "bedrock-app-role"
 
  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Effect = "Allow"
        Principal = {
          Service = "ecs-tasks.amazonaws.com"
        }
        Action = "sts:AssumeRole"
      }
    ]
  })
}
 
# Bedrock-Berechtigungen (Least Privilege)
resource "aws_iam_role_policy" "bedrock_invoke" {
  name = "bedrock-invoke"
  role = aws_iam_role.bedrock_app.id
 
  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Sid    = "BedrockInvoke"
        Effect = "Allow"
        Action = [
          "bedrock:InvokeModel",
          "bedrock:InvokeModelWithResponseStream"
        ]
        Resource = [
          "arn:aws:bedrock:eu-central-1::foundation-model/anthropic.claude-sonnet-4-6",
          "arn:aws:bedrock:eu-central-1::foundation-model/amazon.nova-pro-v1:0"
        ]
      }
    ]
  })
}
 
# VPC Endpoint für private Konnektivität (optional)
resource "aws_vpc_endpoint" "bedrock_runtime" {
  vpc_id              = var.vpc_id
  service_name        = "com.amazonaws.eu-central-1.bedrock-runtime"
  vpc_endpoint_type   = "Interface"
  subnet_ids          = var.private_subnet_ids
  security_group_ids  = [aws_security_group.bedrock_endpoint.id]
  private_dns_enabled = true
}

Bei OpenAI gibt es kein Infrastruktur-Setup. Du erstellst einen API-Key im Dashboard und speicherst ihn als Umgebungsvariable oder in einem Secrets Manager. Das ist einfacher, bietet aber weniger Kontrolle über Netzwerk und Zugriff.

Entscheidungsframework

Statt einer pauschalen Empfehlung hier drei typische Szenarien:

Szenario 1: Startup ohne AWS-Infrastruktur

Empfehlung: OpenAI

Du hast kein AWS-Konto, keine VPC, kein IAM. Du willst schnell einen Prototyp bauen und validieren. OpenAI's SDK ist in 5 Minuten eingerichtet, die Dokumentation ist hervorragend, und die Community ist groß. GPT-4o mini bietet gute Qualität zu niedrigen Kosten.

Szenario 2: Enterprise mit AWS-Stack und Compliance-Anforderungen

Empfehlung: Bedrock

Dein Unternehmen läuft auf AWS. Daten müssen in der EU bleiben. Du brauchst VPC-Isolation, IAM-Integration und Audit-Logs. Bedrock fügt sich nahtlos in die bestehende Infrastruktur ein. Keine zusätzlichen API-Keys, keine externen Abhängigkeiten. Claude Sonnet 4.6 über Bedrock liefert vergleichbare Qualität zu GPT-4o.

Szenario 3: Hybrid-Ansatz

Empfehlung: OpenAI für Prototyp, Bedrock für Produktion

Starte mit OpenAI für schnelle Iteration und Validierung. Wenn der Use Case bewiesen ist und Produktion ansteht, migriere zu Bedrock. Die Converse API macht den Wechsel einfacher, da du nur die Client-Initialisierung und das Message-Format anpassen musst. Die Geschäftslogik bleibt gleich.

Entscheidungskriterien auf einen Blick

FrageWenn ja →Wenn nein →
Müssen Daten in einer spezifischen EU-Region bleiben?BedrockBeide
Brauchst du VPC-Isolation?BedrockBeide
Hast du bereits AWS-Infrastruktur?Bedrock (einfachere Integration)OpenAI (schnellerer Start)
Brauchst du mehrere Modell-Anbieter?BedrockBeide
Ist Developer Experience die Top-Priorität?OpenAIBeide
Brauchst du FedRAMP?BedrockBeide
Budget unter $50/Monat?Bedrock (Nova Micro) oder OpenAI (GPT-4o mini)Beide

Fazit

AWS Bedrock und OpenAI sind keine direkten Konkurrenten. Bedrock ist ein Multi-Modell-Service mit tiefer AWS-Integration, starkem Datenschutz und Modellvielfalt. OpenAI bietet eigene Spitzenmodelle mit der besten Developer Experience am Markt.

Die drei wichtigsten Entscheidungskriterien sind:

  1. Datenschutz und Compliance: Wenn du spezifische EU-Regionen, VPC-Isolation oder FedRAMP brauchst, führt kein Weg an Bedrock vorbei. OpenAI's EU Data Residency ist ein guter Anfang, bietet aber weniger Granularität.

  2. Bestehende Infrastruktur: Wenn dein Stack auf AWS läuft, integriert sich Bedrock ohne zusätzliche Credentials oder Netzwerk-Konfiguration. Wenn du kein AWS nutzt, ist OpenAI der schnellere Einstieg.

  3. Modellflexibilität: Bedrock gibt dir Zugang zu Claude, Llama, Mistral, Nova und mehr. Wenn ein Modell für deinen Use Case nicht optimal ist, wechselst du mit einer Zeile Code. Bei OpenAI bist du an das OpenAI-Ökosystem gebunden.

Falls du bereits an der CI/CD-Pipeline für KI-Systeme arbeitest, bildet die Plattformwahl das Fundament für die Deployment-Architektur. Im nächsten Artikel gehen wir einen Schritt weiter: RAG-Infrastruktur auf AWS mit GPU-Clustern, ECS und Terraform. Wie du die Qualität deiner RAG-Pipeline systematisch misst, erfährst du im Artikel zu RAG Evaluation und Testing.


Sie evaluieren LLM-Plattformen für Ihr Unternehmen und brauchen Unterstützung bei der Architekturentscheidung? Kontaktieren Sie mich für eine unverbindliche Beratung.