
Amazon Bedrock에서 Claude Fable 5 데이터 보존(Data Retention) 오류를 해결하는 방법
요약
Amazon Bedrock에서 Claude Fable 5 사용 시 발생하는 데이터 보존(Data Retention) 관련 400 오류의 원인과 해결 방법을 설명합니다. 이 오류는 클라이언트 설정 문제가 아닌 계정 수준의 정책 문제로, API 호출을 통해 데이터 보존 모드를 변경해야 해결할 수 있습니다.
핵심 포인트
- Claude Fable 5는 보안을 위해 최대 30일간 데이터 보존이 필수적인 모델임
- 400 오류는 코드 버그가 아닌 계정 수준의 데이터 보존 정책 문제임
- API 호출을 통해 데이터 보존 모드를 명시적으로 변경해야 해결 가능
- 데이터 보존 옵트인 시 개인정보 보호와 모델 성능 간의 트레이드오프 고려 필요
Claude Fable 5가 Amazon Bedrock에서 단 하나의 토큰을 처리하기도 전에 "data retention mode 'default' is not available for this model"이라는 400 오류와 함께 실패합니다. 이것은 귀하의 코드에 있는 버그가 아니며, 어떤 클라이언트 설정으로도 해결할 수 없습니다. 이것은 계정 수준의 데이터 보존 정책(data retention policy)이며, 귀하가 무엇에 동의하는지 이해한 후 두 번의 API 호출을 통해 이를 변경할 수 있습니다.
코딩 에이전트를 Amazon Bedrock의 Claude Fable 5로 전환했을 때 다음과 같은 상황을 마주하게 됩니다:
API Error: 400 data retention mode 'default' is not available for this model
이 문제는 직접적인 API 호출뿐만 아니라 Bedrock을 통해 라우팅되는 모든 클라이언트에 영향을 미칩니다. 만약 Claude Code with Amazon Bedrock (CLAUDE_CODE_USE_BEDROCK=1)을 사용하는 경우, /model 명령으로 Fable 5를 선택하면 정확히 이 오류가 발생하며, settings.json이나 그 어떤 환경 변수로도 해결되지 않습니다. SDK 호출, 에이전트 프레임워크(agent frameworks), 그리고 귀하의 Bedrock 계정으로 인증하는 모든 다른 도구에도 동일하게 적용됩니다. 정책이 계정에 존재하기 때문에, 아래의 해결 방법은 이 모든 것들을 한 번에 해결해 줍니다.
학습 내용:
- 왜 모든 Bedrock 계정에서 Fable 5가 기본적으로 차단되는지, 그리고 데이터 보존 모드(data retention mode)의 계층 구조가 어떻게 작동하는지
- 단 한 번의 읽기 전용(read-only) API 호출로 이를 진단하는 방법
- 해결 방법: 두 번의 PUT 호출 (그리고 왜 한 번으로는 부족한지)
- 옵트인(opting in)을 통해 수용하게 되는 개인정보 보호 측면의 트레이드오프(privacy trade-off)
- 가격 책정, 그리고 Fable 5가 Opus 4.8 비용의 2배를 지불할 가치가 있는 경우(그리고 그렇지 않은 경우)
왜 Bedrock은 기본적으로 Claude Fable 5를 차단하나요?
Claude Fable 5 (및 Claude Mythos 5)는 Covered Models에 해당합니다. 이 모델들은 신뢰 및 안전(trust and safety)을 위해 프롬프트(prompts)와 완성본(completions)을 최대 30일 동안 보존해야 합니다. 따라서 이 모델들에 대해서는 데이터 제로 보존(Zero data retention)을 사용할 수 없습니다.
Amazon Bedrock은 이를 단순히 켜고 끄는 토글 방식이 아닌, 데이터 보존 모드 (data retention mode)를 통해 강제합니다:
| 모드 | 의미 |
|---|---|
inherit | 이 범위에서는 별도 의견이 없으며, 더 넓은 범위의 설정을 따름 (새 계정의 기본값) |
| ... |
유효한 모드는 다음과 같이 계층적으로 결정됩니다:
유효 모드 (effective mode) = (프로젝트 → 계정 → 모델 기본값) 중 첫 번째로 나타나는 non-inherit 값
각 모델은 allowed_modes를 통해 허용되는 모드를 선언합니다. Fable 5는 ["provider_data_share"]만 허용합니다. 새 계정은 inherit 상태이며, 이는 Fable 5의 경우 default로 결정되므로 Bedrock이 요청을 차단하게 됩니다. 데이터 보존 정책에 대한 제어권은 항상 사용자에게 있습니다: 사용자가 명시적으로 동의(opt in)하지 않는 한, Bedrock은 사용자의 데이터를 모델 제공업체와 절대 공유하지 않습니다.
1단계: 진단 확인 (읽기 전용)
사용자의 계정에서 해당 모델의 상태를 Bedrock에 요청하십시오. 예제에서는 Bedrock API 키 (Bedrock API key)를 사용하지만, SigV4 서명된 요청도 작동합니다.
curl https://bedrock-mantle.us-east-1.api.aws/v1/models/anthropic.claude-fable-5 \
-H "x-api-key: $BEDROCK_API_KEY"
데이터 보존이 문제라면 응답에 다음과 같이 명시적으로 나타납니다:
{
"id": "anthropic.claude-fable-5",
"status": "unavailable",
...
이것이 중요한 이유: "source": "model_default"는 아직 계정이나 프로젝트 수준의 재정의(override)가 존재하지 않음을 알려줍니다. 이것이 바로 해결책을 통해 변경해야 할 부분입니다.
2단계: 동의하는 내용 이해하기
provider_data_share를 설정한다는 것은 신뢰 및 안전(trust and safety) 목적으로 귀하의 프롬프트(prompts)와 완료(completions) 내용이 모델 제공자(model provider)와 공유되며 최대 30일 동안 보존됨을 의미합니다. 이는 계정 전체에 적용되거나, 프로젝트 범위로 지정할 경우 프로젝트 전체에 적용됩니다.
중요한 두 가지 세부 사항은 다음과 같습니다:
- 이는 해당 설정이 필요한 모델에 대해서만 동작을 변경합니다.
allowed_modes에default가 포함된 모델(예: Claude Opus 4.8)은provider_data_share가 설정되어 있더라도 데이터를 AWS 내부에서만 계속 보존합니다. - 조직의 컴플라이언스(compliance) 요구사항으로 인해 데이터 보존이 전혀(zero data retention) 이루어져서는 안 된다면, 이 설정을 하지 마십시오. AWS 계정 관리자에게 문의하십시오. 이러한 모델에 대한 ZDR(Zero Data Retention) 액세스는 계정 및 모델별로 평가됩니다.
또한, bedrock:DataRetentionMode 조건 키(condition key)를 사용하는 서비스 제어 정책(Service Control Policy, SCP)을 통해 조직 전체에 보존 정책을 강제하여 아무도 실수로 이 설정을 변경하지 못하도록 할 수 있습니다. AWS 문서에 정확한 정책이 포함되어 있습니다.
3단계: 해결책 적용하기 (하나가 아닌 두 개의 엔드포인트)
이 부분이 제 시간을 많이 잡아먹은 부분입니다. Bedrock은 이 설정을 **두 가지 평면(two planes)**에서 노출하며, 제 계정에서는 모델을 사용할 수 있게 되기 전에 두 가지 모두를 설정해야 했습니다:
# 1. Bedrock 컨트롤 플레인 (control plane)
curl -X PUT https://bedrock.us-east-1.amazonaws.com/data-retention \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
...
첫 번째 설정만 수행한 후에도 모델은 여전히 "source": "model_default"라고 보고하며 사용할 수 없는 상태로 유지되었습니다. 두 번째 호출을 수행한 후에야 "source": "account"로 전환되었습니다.
출시 시점에는 이를 위한 콘솔 UI가 없습니다. API 또는 SDK로만 가능합니다.
💡 만약 토큰이 not authorized to perform: bedrock:PutAccountDataRetention을 반환한다면, 귀하의 ID에 해당 IAM 액션(action) 권한이 필요합니다. 최소한의 범위로 생성된 Bedrock API 키에는 이 권한이 없을 것입니다.
4단계: 검증
curl https://bedrock-mantle.us-east-1.api.aws/v1/models/anthropic.claude-fable-5 \
-H "x-api-key: $BEDROCK_API_KEY"
{
"id": "anthropic.claude-fable-5",
"status": "available",
...
클라이언트에서 다시 모델을 선택하면 400 에러가 사라집니다. 클라이언트 측의 설정 변경은 필요하지 않습니다. Bedrock의 Claude Code에서 /model을 실행하고 Fable 5를 선택하세요. 동일한 계정 수준의 변경 사항이 적용됩니다.
Claude Fable 5의 비용은 얼마인가요?
체크박스를 선택하기 전에 가격을 확인하세요. Fable 5는 토큰당 Opus 4.8 가격의 2배입니다:
| 모델 | 입력 $/1M 토큰 | 출력 $/1M 토큰 |
|---|---|---|
| Claude Fable 5 | $10.00 | $50.00 |
| ... |
가격은 작성 시점의 Anthropic 모델 카탈로그 기준이며, Bedrock 가격은 리전(Region)에 따라 다를 수 있습니다. 워크로드를 실행하기 전에 항상 Amazon Bedrock 가격 페이지에서 확인하십시오.
Fable 5에 특화된 두 가지 비용 세부 사항:
- 사고 과정 (Thinking)은 항상 활성화되어 있으며 출력 토큰으로 청구됩니다. 이를 비활성화할 수는 없으며, effort 파라미터를 통해 깊이만 조절할 수 있습니다.
- 단일 턴 (Single turns) 실행 시간이 더 깁니다. 어려운 작업은 단일 요청에서 정당하게 몇 분의 시간과 방대한 토큰 예산을 소비할 수 있습니다. 요청당이 아닌 작업당 예산을 책정하십시오.
언제 Fable 5를 사용해야 하나요 (그리고 언제 사용하지 말아야 하나요)
2배의 비용을 지불하는 것은 작업에 실제로 추가적인 능력이 필요할 때만 의미가 있습니다.
다음의 경우 Fable 5를 사용하세요:
- ✅ 장기적 자율 작업 (Long-horizon autonomous work): 밤샘 코딩 실행, 인간의 수정 없이 완료되어야 하는 수 시간 단위의 에이전트 작업 (agentic tasks)
- ✅ 가장 어려운 미해결 문제: 복잡한 마이그레이션 (migrations), 심층 연구, 잘 정의된 시스템의 초안 구현 (first-shot implementations)
- ✅ 지속적인 일관성이 필요한 장기 실행 서브 에이전트가 포함된 멀티 에이전트 오케스트레이션 (Multi-agent orchestration)
다음의 경우 더 저렴한 모델을 유지하세요:
- ❌ 대화형 코딩 및 일상적인 에이전트 작업: Opus 4.8이 절반 가격으로 이를 처리합니다
- ❌ 대량의 프로덕션 워크로드 (Production workloads): $3/$15의 Sonnet 4.6이 주력 계층 (Workhorse tier)입니다
- ❌ 분류 (Classification), 추출 (Extraction), 라우팅 (Routing), 단순 도구 호출 (Simple tool calls): $1/$5의 Haiku 4.5
- ❌ 데이터가 AWS를 벗어날 수 없는 경우: Fable 5는 제공업체 데이터 공유 (Provider data sharing)를 요구하므로, 예산과 관계없이 이는 절대 불가합니다
실용적인 패턴: 기본 모델을 Opus 4.8 또는 Sonnet 4.6으로 유지하고, 작업이 필요할 때만 더 큰 인스턴스 유형을 사용하는 것과 같은 방식으로 작업별로 Fable 5를 사용하세요.
어떻게 롤백(Roll Back)하나요?
양쪽 엔드포인트(Endpoints)의 모드를 다시 설정하세요:
curl -X PUT https://bedrock.us-east-1.amazonaws.com/data-retention \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
-H "Content-Type: application/json" \
...
데이터 보존을 확실히 제로(0)로 유지하려면 "none"을 사용하고, 모델 기본값에 따르려면 "inherit"를 사용하세요. Fable 5는 다시 사용할 수 없게 되며, 이는 데이터가 AWS를 벗어나면 안 되는 경우 올바른 절충안(Trade-off)입니다.
핵심 요약 (Key Takeaways)
- 400 에러는 서버 측 계정 정책(Account policy)이며, 클라이언트 설정 문제가 아닙니다. Bedrock에서 실행될 때의 Claude Code 설정을 포함하여 어떤 클라이언트 설정으로도 이를 해결할 수 없습니다.
- Fable 5는
provider_data_share를 요구합니다.GET /v1/models/{model}을 통해 모델의 요구 사항을 확인하고allowed_modes를 읽어보세요. - 양쪽 평면(Planes) 모두에 보존 모드를 설정하세요: 컨트롤 플레인 (Control plane)과 모델 추론 평면 (Model inference plane) 모두에 설정해야 합니다. 하나만으로는 충분하지 않습니다.
- 참여(Opting in)하기 전에 절충안을 숙지하세요: 프롬프트(Prompts)와 완료(Completions) 내용이 제공업체와 공유되며, 계정 전체에서 최대 30일 동안 보존됩니다.
- 먼저 가격을 확인하세요. 백만 토큰당 $10/$50인 Fable 5는 기본 모델이 아니라, 가장 어려운 장기적 작업 (Long-horizon work)을 위한 모델입니다.
참고 문헌 (References)
참고 문헌 (References)
- Amazon Bedrock: 데이터 보존(Data retention)
- Amazon Bedrock: 오용 감지(Abuse detection)
- Amazon Bedrock: 가격 책정(Pricing)
- Anthropic: API 및 데이터 보존(API and data retention)
- Claude Code: Amazon Bedrock 설정(Amazon Bedrock setup)
- Claude Code: 제로 데이터 보존(Zero data retention)
감사합니다!
🇻🇪🇨🇱 Dev.to Linkedin GitHub Twitter Instagram Youtube

](/elizabethfuentes12)
Elizabeth Fuentes L팔로우
실습 튜토리얼 및 오픈 소스 프로젝트를 통해 개발자가 프로덕션 준비가 된 AI 애플리케이션을 구축하도록 돕습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기