
Amazon Bedrock에서 Claude Fable 5의 데이터 보유(Data Retention) 오류를 해결하는 방법
요약
Amazon Bedrock에서 Claude Fable 5 사용 시 발생하는 데이터 보유(Data Retention) 관련 400 오류의 원인과 해결 방법을 설명합니다. 이 오류는 코드 버그가 아닌 계정 수준의 정책 문제이며, 특정 API 호출을 통해 데이터 보유 설정을 변경함으로써 해결할 수 있습니다.
핵심 포인트
- Claude Fable 5는 보안 정책상 데이터 제로 보유 옵션을 사용할 수 없음
- 오류는 클라이언트 설정이 아닌 계정 수준의 데이터 보유 정책 문제임
- 두 번의 API PUT 호출을 통해 계정의 데이터 보유 정책을 수정해야 함
- 데이터 보유 정책 변경 시 개인정보 보호 측면의 트레이드오프 고려 필요
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 호출, 에이전트 프레임워크(frameworks), 그리고 당신의 Bedrock 계정으로 인증하는 모든 다른 도구에도 동일하게 적용됩니다. 정책은 계정에 귀속되어 있으므로, 아래에 설명된 수정 사항을 적용하면 모든 도구의 문제가 한 번에 해결됩니다.
학습 내용:
- 왜 Fable 5가 모든 Bedrock 계정에서 기본적으로 차단되어 있는지, 그리고 데이터 보유 모드의 계층 구조(cascade)가 어떻게 작동하는지
- 읽기 전용(read-only) API 호출을 통해 진단하는 방법
- 해결 방법(The fix): 두 번의 PUT 호출 (그리고 왜 한 번으로는 충분하지 않은지)
- 참여를 선택할 때 수용하게 되는 개인정보 보호 측면의 트레이드오프(trade-off)
- 비용, 그리고 언제 Fable 5가 Opus 4.8 비용의 두 배를 지불할 가치가 있는지(그리고 언제 그렇지 않은지)
왜 Bedrock은 Claude Fable 5를 기본적으로 차단할까요?
Claude Fable 5 (및 Claude Mythos 5)는 Covered Models에 해당합니다. 이 모델들은 신뢰성과 보안을 위해 프롬프트(prompts)와 완료(completions) 데이터를 최대 30일 동안 보유해야 합니다. 따라서 이 모델들에 대해서는 데이터 제로 보유(zero data retention) 옵션을 사용할 수 없습니다.
Amazon Bedrock은 이를 단순한 On/Off 토글이 아닌 데이터 보유 모드 (data retention mode)를 통해 적용합니다:
| 모드 | 의미 |
|---|---|
inherit | 이 범위(scope)에 대해 의견을 내지 않고, 더 넓은 범위로 위임함 (새 계정의 기본값) |
| ... |
유효한 모드는 다음과 같이 계층적으로 결정됩니다:
유효 모드 = (프로젝트 → 계정 → 모델 기본값) 중 첫 번째로 나타나는 non-inherit 값
각 모델은 allowed_modes를 통해 허용되는 모드를 선언합니다. Fable 5는 오직 ["provider_data_share"]만 허용합니다. 새 계정은 inherit 상태이며, 이는 Fable 5의 default로 결정되므로 Bedrock이 요청을 차단하게 됩니다. 데이터 보유 정책은 항상 사용자가 제어합니다: 사용자가 명시적으로 참여(opt-in)를 선택하지 않는 한, Bedrock은 모델 제공업체와 데이터를 절대 공유하지 않습니다.
1단계: 진단 확인 (읽기 전용)
Bedrock에 귀하의 계정 내 모델 상태를 요청하십시오. 예제에서는 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)가 존재하지 않음을 의미합니다. 이것이 바로 해결책(fix)이 변경하고자 하는 핵심 지점입니다.
2단계: 무엇을 선택하는 것인지 이해하기
provider_data_share를 설정한다는 것은 사용자의 프롬프트(prompts)와 완성된 응답(completions)이 모델 제공업체와 공유되며, 신뢰 및 보안 목적으로 30일 동안 보유(retained)됨을 의미합니다. 이는 전체 계정에 적용되거나, 프로젝트로 제한할 경우 해당 프로젝트 전체에 적용됩니다.
중요한 두 가지 세부 사항:
- 이 설정은 이를 요구하는 모델에 대해서만 동작을 변경합니다.
allowed_modes에default가 포함된 모델(예: Claude Opus 4.8)은provider_data_share가 설정되어 있더라도 데이터가 AWS 내부에서만 계속 보유됩니다. - 규정 준수(compliance)를 위해 데이터 보유가 전혀 없어야 하는 조직이라면 이 설정을 하지 마십시오. AWS 계정 관리자(account manager)에게 문의하십시오. 이러한 모델에 대한 ZDR(Zero Data Retention) 액세스는 계정 및 모델별로 평가됩니다.
또한, 아무도 실수로 설정을 변경하지 못하도록 bedrock:DataRetentionMode 조건 키(condition key)를 사용하는 서비스 제어 정책(Service Control Policy, SCP)을 통해 조직 수준에서 보유 정책을 강제할 수도 있습니다. 정확한 정책 내용은 AWS 문서에 포함되어 있습니다.
3단계: 해결책(fix) 적용하기 (하나가 아닌 두 개의 엔드포인트)
이 부분이 저에게 가장 많은 시간을 소요하게 만든 부분이었습니다. Bedrock은 설정을 **두 가지 평면(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"라고 보고하며 사용할 수 없는 상태로 남아 있었습니다. 두 번째 호출을 수행한 후에야 `
💡 만약 토큰이 not authorized to perform: bedrock:PutAccountDataRetention을 반환한다면, 해당 ID에 해당 IAM 액션이 필요합니다. 최소 권한(least privilege) 범위로 생성된 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의 두 배 비용이 발생합니다:
| 모델 | Input $/1M tokens | Output $/1M tokens |
|---|---|---|
| Claude Fable 5 | $10.00 | $50.00 |
| ... |
위 가격은 이 글을 작성하는 시점의 Anthropic 모델 카탈로그 가격이며, Bedrock 가격은 리전에 따라 다를 수 있습니다. 워크로드를 투입하기 전에 항상 Amazon Bedrock 가격 페이지에서 확인하십시오.
Fable 5의 구체적인 비용 관련 세부 사항 두 가지:
- 사고 과정(Thinking)이 항상 활성화되어 있으며 출력(output) 토큰으로 과금됩니다. 이를 비활성화할 수는 없으며, 노력(effort) 파라미터를 통해 깊이만 조절할 수 있습니다.
- 개별 턴(turn)의 지속 시간이 더 깁니다. 어려운 작업은 단일 요청에서 수 분의 시간과 큰 토큰 예산을 정당하게 소비할 수 있습니다. 요청 단위가 아닌 작업(task) 단위로 예산을 세우십시오.
Fable 5를 사용해야 할 때 (그리고 사용하지 말아야 할 때)
두 배의 비용을 지불하는 것은 작업에 실제로 추가적인 능력이 필요할 때만 의미가 있습니다.
Fable 5를 사용해야 하는 경우:
- ✅ 장기 자율 작업 (Long-horizon autonomous work): 야간 코드 실행, 인간의 수정 없이 완료되어야 하는 수 시간 단위의 에이전트 (Agentic) 작업
- ✅ 해결되지 않은 가장 어려운 문제들: 복잡한 마이그레이션, 심층 조사, 잘 정의된 시스템의 최초 구현
- ✅ 지속적인 일관성이 필요한 장기 서브 에이전트를 포함한 멀티 에이전트 오케스트레이션 (Multi-agent orchestration)
다음과 같은 경우에는 더 저렴한 모델을 사용하세요:
- ❌ 대화형 코드 작성 및 일상적인 에이전트 작업: Opus 4.8이 절반 가격으로 이를 처리합니다.
- ❌ 대량의 프로덕션 워크로드 (Production workloads): $3/$15 가격의 Sonnet 4.6이 주력 모델 (Workhorse)입니다.
- ❌ 분류, 추출, 라우팅, 단순 도구 호출 (Tool calls): $1/$5 가격의 Haiku 4.5
- ❌ 데이터가 AWS 외부로 나갈 수 없는 경우: Fable 5는 제공업체와 데이터를 공유해야 하므로, 예산과 관계없이 이는 절대 불가합니다.
실용적인 패턴: 기본 모델은 Opus 4.8 또는 Sonnet 4.6으로 유지하고, 작업이 필요할 때만 더 큰 인스턴스 타입을 사용하는 것과 마찬가지로 필요할 때만 Fable 5에 접근하십시오.
어떻게 변경 사항을 되돌리나요?
두 엔드포인트(Endpoint) 모두에서 모드를 다시 설정하세요:
curl -X PUT https://bedrock.us-east-1.amazonaws.com/data-retention \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
-H "Content-Type: application/json" \
...
데이터 보유를 보장하지 않으려면 "none"을 사용하고, 모델의 기본값(Defaults)을 따르려면 "inherit"를 사용하세요. Fable 5는 다시 사용할 수 없게 되며, 이는 데이터가 AWS 외부로 나가면 안 되는 경우에 적절한 트레이드오프 (Trade-off)입니다.
핵심 결론
- 400 에러는 서버 측 계정 정책(Account Policy)의 문제이며, 클라이언트 설정의 문제가 아닙니다. Bedrock에서 실행되는 Claude Code 설정을 포함하여 그 어떤 클라이언트 설정으로도 이를 해결할 수 없습니다.
- Fable 5는
provider_data_share를 요구합니다.GET /v1/models/{model}을 통해 모든 모델의 요구 사항을 확인하고allowed_modes를 읽으십시오. - 두 가지 평면(Plane) 모두에서 보유 모드(Retention mode)를 설정하십시오: 제어 평면(Control plane)과 모델 추론 평면(Inference plane) 모두 설정해야 합니다. 하나만 설정해서는 충분하지 않습니다.
- 참여를 결정하기 전에 트레이드오프 (Trade-off)를 숙지하십시오: 프롬프트(Prompts)와 완성문(Completions)이 계정 수준에서 최대 30일 동안 제공업체와 공유 및 보유됩니다.
- 먼저 가격을 확인하십시오. 토큰 백만 개당 $10/$50인 Fable 5는 기본 모델이 아니라, 가장 까다로운 장기적 작업(Long-horizon work)을 위한 용도입니다.
참고 문헌
- Amazon Bedrock: 데이터 보유 (Data Retention)
- Amazon Bedrock: 남용 탐지 (Abuse Detection)
- Amazon Bedrock: 가격 (Pricing)
- Anthropic: API 및 데이터 보유 (API and Data Retention)
- Claude Code: Amazon Bedrock 설정 (Configuration with Amazon Bedrock)
- Claude Code: 데이터 보유 제로 (Zero Data Retention)
감사합니다!
🇻🇪🇨🇱 Dev.to Linkedin GitHub Twitter Instagram Youtube
[

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