Claude sur Amazon Bedrock : Guide d'Intégration AWS
By Dorian Laurenceau
📅 Dernière révision : 24 avril 2026. Mise à jour avec les retours et observations d'avril 2026.
🔗 Article pilier : API Claude : Guide Complet
Pourquoi Claude sur Bedrock ?
Si votre infrastructure est déjà sur AWS, Bedrock est le moyen le plus naturel d'intégrer Claude. Voici les avantages :
| Avantage | Description |
|---|---|
| Facturation unifiée | Claude apparaît sur votre facture AWS existante |
| IAM natif | Contrôle d'accès granulaire (qui peut utiliser quel modèle) |
| VPC | Les requêtes restent dans votre réseau privé |
| Compliance | SOC 2, HIPAA, FedRAMP, ISO 27001 |
| Guardrails | Filtrage de contenu intégré et configurable |
| Pas de gestion de clés API | Utilise les credentials AWS standard |
| CloudWatch | Monitoring et alertes sur l'utilisation |
Claude sur Bedrock vs Anthropic direct vs les autres clouds : les tradeoffs honnêtes
La conversation Bedrock-vs-direct sur r/aws, r/devops, r/ClaudeAI et r/LocalLLaMA s'est stabilisée autour de tradeoffs prévisibles. Voici ce que les équipes pèsent vraiment.
Quand Bedrock est le bon choix :
- →Vous êtes déjà sur AWS avec de la dépense engagée. Les AWS Savings Plans et les programmes de remise entreprise existants peuvent s'appliquer, et la facturation Bedrock se plie dans votre facture AWS existante. La finance aime un vendeur.
- →Vous avez besoin de HIPAA, FedRAMP, SOC 2 ou ISO 27001. Les programmes de compliance AWS couvrent Bedrock. La page éligibilité HIPAA AWS liste Bedrock explicitement.
- →Vous avez besoin d'isolation VPC. Bedrock avec PrivateLink garde le trafic hors de l'internet public. L'API directe d'Anthropic est publique par défaut.
- →Vous voulez un seul log d'audit. AWS CloudTrail capture tous les appels Bedrock aux côtés du reste de votre activité AWS. Utile pour les industries régulées.
Quand l'API Anthropic directe est le bon choix :
- →Accès aux nouveaux modèles en premier. Anthropic ship typiquement les nouveaux modèles à leur API directe avant Bedrock. Si vous avez besoin de capacités frontier le jour un, direct est plus rapide.
- →Features comme prompt caching et message batching arrivent en direct en premier. Bedrock rattrape mais traîne.
- →Facturation plus simple pour individus et petites équipes. Une carte de crédit et une clé API bat la config AWS IAM pour la plupart des builders solo.
- →Friction minimum plus basse. Pour le prototypage et développement précoce, direct est plus rapide.
Contexte multi-cloud :
- →Google Cloud Vertex AI héberge aussi Claude avec une posture enterprise similaire. Choisissez le cloud sur lequel vous êtes déjà.
- →Microsoft Azure AI Foundry héberge Claude aux côtés des modèles OpenAI. Utile si vous voulez les deux dans une enveloppe de compliance.
- →OpenRouter et LiteLLM vous laissent abstraire le choix de cloud, donc vous pouvez swapper les fournisseurs sans changement de code. Vaut la peine à considérer pour les équipes qui ne veulent pas de lock-in long terme.
Gotchas opérationnels que les docs ne soulignent pas :
- →La parité de région traîne. Tous les modèles Claude ne sont pas dans toutes les régions AWS. Vérifiez la page de disponibilité de modèles Bedrock avant d'architecter.
- →Les quotas sont par-région, par-compte. L'usage lourd requiert des demandes d'augmentation de quota et du délai. Planifiez à l'avance.
- →L'inférence cross-région lisse la capacité mais change la latence et l'empreinte de compliance. Lisez les docs cross-région Bedrock d'Anthropic avant d'activer.
- →Les formats de prompt peuvent diverger. Différences mineures entre le wrapping de Bedrock et le wrapping d'API directe. Les abstractions SDK gèrent ça, mais le code écrit à la main a besoin de soin.
- →Les Guardrails Bedrock sont du filtrage de contenu AWS-natif ; ils sont bons mais ne remplacent pas le propre travail de sécurité d'Anthropic. Utilisez les deux pour les industries régulées.
Le cadrage honnête : Bedrock vs direct n'est pas vraiment une question de qualité ; c'est une question de compliance, procurement et engagements cloud existants. Les équipes sur AWS avec de vrais besoins de compliance vont Bedrock ; les individus et équipes sur prototypes vont direct ; les shops multi-cloud utilisent des couches d'abstraction. Aucun n'est universellement correct. Adaptez le choix à vos vraies contraintes, pas à ce que les pages marketing soulignent.
Setup : Étape par Étape
1. Activer l'Accès au Modèle
Dans la console AWS :
- →Naviguez vers Amazon Bedrock > Model access
- →Cliquez Manage model access
- →Sélectionnez les modèles Anthropic (Claude Opus, Sonnet, Haiku)
- →Soumettez la demande (approbation généralement instantanée)
2. Configurer IAM
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": [
"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-sonnet-4-20250514-v1:0",
"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-opus-4-20250918-v1:0"
]
}
]
}
Bonnes pratiques IAM :
- →Utilisez le principe du moindre privilège (un modèle par rôle)
- →Créez des rôles spécifiques par application
- →Ajoutez des conditions (IP source, heures d'accès)
- →Activez CloudTrail pour l'audit
3. Installer le SDK
pip install boto3 anthropic[bedrock]
Exemples de Code
Appel Basique avec boto3
import boto3
import json
# Client Bedrock Runtime
client = boto3.client(
service_name="bedrock-runtime",
region_name="us-east-1"
)
# Requête Claude
body = json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Explique les avantages de l'infrastructure as code."
}
]
})
response = client.invoke_model(
modelId="anthropic.claude-sonnet-4-20250514-v1:0",
contentType="application/json",
accept="application/json",
body=body
)
result = json.loads(response["body"].read())
print(result["content"][0]["text"])
Avec le SDK Anthropic (Recommandé)
import anthropic
# Utilise automatiquement les credentials AWS
client = anthropic.AnthropicBedrock(
aws_region="us-east-1"
)
message = client.messages.create(
model="anthropic.claude-sonnet-4-20250514-v1:0",
max_tokens=1024,
messages=[
{"role": "user", "content": "Quels sont les services AWS pour le machine learning ?"}
]
)
print(message.content[0].text)
Streaming
import anthropic
client = anthropic.AnthropicBedrock(aws_region="us-east-1")
with client.messages.stream(
model="anthropic.claude-sonnet-4-20250514-v1:0",
max_tokens=2048,
messages=[{"role": "user", "content": "Écris un guide de migration vers les microservices."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Tarification Bedrock vs API Directe
| Modèle | Bedrock Input | Bedrock Output | API Directe Input | API Directe Output |
|---|---|---|---|---|
| Claude Opus 4.6 | $15.00/M | $75.00/M | $15.00/M | $75.00/M |
| Claude Sonnet 4 | $3.00/M | $15.00/M | $3.00/M | $15.00/M |
| Claude Haiku 3.5 | $0.80/M | $4.00/M | $0.80/M | $4.00/M |
Options de réduction Bedrock :
- →Provisioned Throughput : Débit garanti, prix réduit pour les gros volumes
- →Batch Inference : Traitement en lot avec réduction de 50%
- →Cross-Region Inference : Optimisation automatique de la région
Guardrails Bedrock
Les guardrails Bedrock ajoutent une couche de sécurité configurable autour de Claude.
# Appel avec guardrails
response = client.invoke_model(
modelId="anthropic.claude-sonnet-4-20250514-v1:0",
contentType="application/json",
accept="application/json",
body=body,
guardrailIdentifier="my-guardrail-id",
guardrailVersion="1"
)
| Fonctionnalité Guardrail | Description |
|---|---|
| Content filters | Bloquer les contenus non appropriés |
| Denied topics | Interdire des sujets spécifiques |
| Word filters | Bloquer des mots ou phrases |
| Sensitive info filters | Masquer les PII (noms, emails, téléphones) |
| Contextual grounding | Réduire les hallucinations avec des sources |
Architecture Enterprise
Architecture Type
Lambda + Claude
import json
import boto3
bedrock = boto3.client("bedrock-runtime")
def lambda_handler(event, context):
"""Lambda function appelant Claude via Bedrock."""
user_question = event.get("question", "")
body = json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [{"role": "user", "content": user_question}]
})
response = bedrock.invoke_model(
modelId="anthropic.claude-sonnet-4-20250514-v1:0",
body=body
)
result = json.loads(response["body"].read())
return {
"statusCode": 200,
"body": json.dumps({
"answer": result["content"][0]["text"],
"tokens_used": result["usage"]
})
}
Monitoring avec CloudWatch
import boto3
cloudwatch = boto3.client("cloudwatch")
# Créer une alarme sur le nombre d'invocations
cloudwatch.put_metric_alarm(
AlarmName="bedrock-claude-high-usage",
MetricName="Invocations",
Namespace="AWS/Bedrock",
Statistic="Sum",
Period=3600,
Threshold=10000,
ComparisonOperator="GreaterThanThreshold",
EvaluationPeriods=1,
AlarmActions=["arn:aws:sns:us-east-1:123456:alerts"],
Dimensions=[{
"Name": "ModelId",
"Value": "anthropic.claude-sonnet-4-20250514-v1:0"
}]
)
Métriques Disponibles
| Métrique | Description |
|---|---|
Invocations | Nombre d'appels au modèle |
InvocationLatency | Latence par requête (ms) |
InputTokenCount | Tokens d'entrée consommés |
OutputTokenCount | Tokens de sortie générés |
InvocationErrors | Nombre d'erreurs (4xx, 5xx) |
Migration depuis l'API Directe
Si vous utilisez déjà l'API directe Anthropic, la migration vers Bedrock est simple :
| Changement | API Directe | Bedrock |
|---|---|---|
| Client | anthropic.Anthropic() | anthropic.AnthropicBedrock() |
| Auth | Clé API | Credentials AWS (IAM) |
| Model ID | claude-sonnet-4-20250514 | anthropic.claude-sonnet-4-20250514-v1:0 |
| Endpoint | api.anthropic.com | bedrock-runtime.{region}.amazonaws.com |
| Reste du code | Identique | Identique |
# Avant (API directe)
# client = anthropic.Anthropic(api_key="sk-ant-...")
# model = "claude-sonnet-4-20250514"
# Après (Bedrock)
client = anthropic.AnthropicBedrock(aws_region="us-east-1")
model = "anthropic.claude-sonnet-4-20250514-v1:0"
# Le reste du code est identique
message = client.messages.create(
model=model,
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}]
)
Module 0 — Prompting Fundamentals
Build your first effective prompts from scratch with hands-on exercises.
Dorian Laurenceau
Full-Stack Developer & Learning DesignerFull-stack web developer and learning designer. I spent 4 years as a freelance full-stack developer and 4 years teaching React, JavaScript, HTML/CSS and WordPress to adult learners. Today I design learning paths in web development and AI, grounded in learning science. I founded learn-prompting.fr to make AI practical and accessible, and built the Bluff app to gamify political transparency.
Weekly AI Insights
Tools, techniques & news — curated for AI practitioners. Free, no spam.
Free, no spam. Unsubscribe anytime.
→Related Articles
FAQ
Qu'est-ce que Amazon Bedrock ?+
Amazon Bedrock est un service AWS qui donne accès à des modèles d'IA fondamentaux (dont Claude) via une API unifiée. Il s'intègre nativement avec l'écosystème AWS (IAM, VPC, CloudWatch, S3).
Pourquoi utiliser Claude via Bedrock plutôt que l'API directe ?+
Bedrock offre une facturation unifiée AWS consolidée, la conformité enterprise (SOC2, HIPAA, FedRAMP), l'intégration VPC pour la sécurité réseau, les guardrails natifs et la gestion IAM fine des permissions.
Comment accéder à Claude sur Bedrock ?+
Activez le modèle Claude dans la console Bedrock (Model Access), configurez les rôles IAM avec les permissions bedrock:InvokeModel, et utilisez le SDK boto3 ou l'AWS SDK de votre choix.
Bedrock coûte-t-il plus cher que l'API directe Anthropic ?+
Les prix sur Bedrock sont généralement similaires ou légèrement supérieurs à l'API directe. Cependant, Bedrock offre des options de facturation AWS (Reserved Capacity, Savings Plans) qui peuvent réduire les coûts pour les gros volumes.
Quelle est la différence entre AWS Bedrock et l'API Claude directe ?+
Bedrock offre une facturation unifiée AWS, la conformité SOC2/HIPAA intégrée, les guardrails natifs, et la compatibilité avec l'écosystème AWS (IAM, CloudWatch, S3). L'API directe offre un accès aux dernières fonctionnalités en premier, des prix potentiellement plus bas, et une intégration plus simple. Bedrock est recommandé pour les entreprises déjà sur AWS.