Amazon Bedrock의 Claude
Amazon Bedrock의 Claude (Claude in Amazon Bedrock, Opus 4.7 이상)
이 가이드는 Amazon Bedrock에서 Claude를 설정하고 API 호출을 하는 방법을 안내해요. Amazon Bedrock의 Claude는 AWS 관리형 인프라에서 운영자 접근 제로(Anthropic 직원이 추론 인프라에 접근할 수 없음)로 실행되므로, Anthropic 퍼스트파티 API와 같은 Messages API 모양을 사용하면서 민감한 애플리케이션을 완전히 AWS 보안 경계 안에서 구축할 수 있어요. 이전 Amazon Bedrock 통합은 Claude on Amazon Bedrock (Opus 4.6 이하)에서 문서화돼요.
출처: 문서
본문
이 가이드는 Amazon Bedrock에서 Claude를 설정하고 API 호출을 하는 방법을 안내해요. Amazon Bedrock의 Claude는 AWS 관리형 인프라에서 운영자 접근 제로로 실행돼요. Anthropic 직원이 추론 인프라에 접근할 수 없어요. 따라서 Anthropic 퍼스트파티 API와 같은 Messages API 모양을 사용하면서 민감한 애플리케이션을 완전히 AWS 보안 경계 안에서 구축할 수 있어요.
참고: 이 페이지는 Messages API를
/anthropic/v1/messages에서 AWS 관리형 인프라로 제공하는 Amazon Bedrock의 Claude를 다뤄요. 이전 Amazon Bedrock 통합(InvokeModel및ConverseAPI, ARN 버전 모델 식별자)은 계속 사용할 수 있고 Claude on Amazon Bedrock (Opus 4.6 이하)에서 문서화돼요. AWS Marketplace 청구와 보통 당일 기능 접근이 있는 AWS에서 Anthropic 운영 대안은 Claude Platform on AWS를 참고하세요.
접근 (Access)
Amazon Bedrock은 각 Claude 모델에 대해 접근 기준을 개별적으로 설정해요. Claude Fable 5.1, Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5, Claude Opus 4.7, Claude Haiku 4.5는 모든 Amazon Bedrock 고객에게 열려 있어요. 다른 모델의 현재 기준은 AWS 콘솔의 Amazon Bedrock 모델 접근을 확인하세요. Claude Mythos Preview는 Project Glasswing을 통한 초대가 필요해요. 지역 가용성은 지역을 참고하세요.
사전 요구 사항 (Prerequisites)
시작하기 전에 다음이 있는지 확인하세요:
- 사용하려는 Claude 모델에 대해 Amazon Bedrock 모델 접근이 활성화된 AWS 계정.
- 설치·구성된 AWS CLI(선택, 자격 증명 관리를 위함).
Claude Mythos Preview는 추가로 Bedrock Marketplace 팀이 허용 목록에 올린 전용 AWS 계정이 필요해요. Anthropic 계정 담당자가 허용 목록을 위해 계정 ID를 제출할 수 있고(보통 24시간 내 처리), 완료되면 AWS가 환영 이메일을 보내요.
인증 (Authentication)
Amazon Bedrock의 Claude는 세 가지 인증 경로를 지원해요. 보안 요구 사항에 가장 잘 맞는 것을 고르세요.
Bedrock 서비스 역할 (권장)
가장 안전하고 오래 지속되는 접근을 위해 AWS 관리 키가 있는 Bedrock 서비스 역할을 사용하세요:
IAM 가정 역할 (IAM assumed roles)
최대 12시간 세션의 ID 페더레이션 접근을 위해:
Bearer 토큰 (Bearer tokens)
IAM 역할 없이 단기 접근을 위해(12시간 최대, 가장 선호되지 않음):
SDK 설치하기
Anthropic의 클라이언트 SDK는 Bedrock 전용 패키지나 모듈을 통해 Amazon Bedrock의 Claude를 지원해요.
<Tab title="Maven">
```xml
<dependency>
<groupId>com.anthropic</groupId>
<artifactId>anthropic-java</artifactId>
<version>2.65.0</version>
</dependency>
<dependency>
<groupId>com.anthropic</groupId>
<artifactId>anthropic-java-bedrock</artifactId>
<version>2.65.0</version>
</dependency>
```
</Tab>
</Tabs>
첫 요청 만들기
엔드포인트는 https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages 패턴을 따라요. InvokeModel 기반 통합과 달리 이 엔드포인트는 표준 SSE 스트리밍과 Anthropic 퍼스트파티 API와 같은 요청 본문 모양을 사용해요.
SDK는 표준 AWS 우선순위로 자격 증명과 지역을 해결해요: 생성자 인자, 그 다음 환경 변수(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION), 그 다음 AWS 구성 파일과 자격 증명 체인(SSO, 가정 역할, ECS 태스크 역할, IMDS).
client = AnthropicBedrockMantle(aws_region="us-east-1")
message = client.messages.create(
model="anthropic.claude-opus-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(next(block.text for block in message.content if block.type == "text"))
```
const client = new AnthropicBedrockMantle({
awsRegion: "us-east-1"
});
const message = await client.messages.create({
model: "anthropic.claude-opus-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello, Claude" }]
});
const textBlock = message.content.find((block) => block.type === "text");
if (textBlock) {
console.log(textBlock.text);
}
```
var client = new AnthropicBedrockMantleClient(new() { AwsRegion = "us-east-1" });
var message = await client.Messages.Create(new()
{
Model = "anthropic.claude-opus-5-5",
MaxTokens = 1024,
Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
});
foreach (var item in message.Content)
{
if (item.Value is TextBlock block)
{
Console.WriteLine(block.Text);
break;
}
}
```
message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
Model: "anthropic.claude-opus-5-5",
MaxTokens: 1024,
Messages: []anthropic.MessageParam{
anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
},
})
if err != nil {
panic(err)
}
for _, block := range message.Content {
if textBlock, ok := block.AsAny().(anthropic.TextBlock); ok {
fmt.Println(textBlock.Text)
break
}
}
```
void main() {
AnthropicClient client = AnthropicOkHttpClient.builder()
.backend(BedrockMantleBackend.fromEnv())
.build();
Message message = client.messages().create(
MessageCreateParams.builder()
.model("anthropic.claude-opus-5-5")
.maxTokens(1024)
.addUserMessage("Hello, Claude")
.build()
);
message.content().stream()
.filter(ContentBlock::isText)
.findFirst()
.ifPresent(block -> IO.println(block.asText().text()));
}
```
$client = new MantleClient(awsRegion: 'us-east-1');
$message = $client->messages->create(
model: 'anthropic.claude-opus-5-5',
maxTokens: 1024,
messages: [
['role' => 'user', 'content' => 'Hello, Claude'],
],
);
echo array_find($message->content, fn ($block) => $block->type === 'text')->text;
```
client = Anthropic::BedrockMantleClient.new(aws_region: "us-east-1")
message = client.messages.create(
model: "anthropic.claude-opus-5-5",
max_tokens: 1024,
messages: [{role: "user", content: "Hello, Claude"}]
)
puts message.content.find { it.type == :text }.text
```
팁: 표준
Anthropic클라이언트를 사용할 수도 있어요.base_url을https://bedrock-mantle.{region}.api.aws/anthropic으로 설정하고 bearer 토큰을api_key로 전달하세요. 이 경로는 bearer 토큰 인증만 지원해요. SigV4 서명은 전용 클라이언트가 필요해요.
지원 모델 (Supported models)
Amazon Bedrock의 Claude에서 모델 ID는 anthropic. 제공자 접두사를 지녀요. 모델 능력과 동작은 모델 개요 페이지에서 문서화돼요.
| 모델 | 모델 ID | 접근 |
|---|---|---|
| Claude Fable 5.1 | anthropic.claude-fable-5-1 |
개방 |
| Claude Mythos 5.1 (제한적 가용성) | anthropic.claude-mythos-5-1 |
초대 전용 |
| Claude Fable 5 | anthropic.claude-fable-5 |
개방 |
| Claude Mythos 5 (제한적 가용성) | anthropic.claude-mythos-5 |
초대 전용 |
| Claude Mythos Preview (제한적 가용성) | anthropic.claude-mythos-preview |
초대 전용 |
| Claude Opus 5.5 | anthropic.claude-opus-5-5 |
접근 참고 |
| Claude Opus 5 | anthropic.claude-opus-5 |
접근 참고 |
| Claude Opus 4.8 | anthropic.claude-opus-4-8 |
개방 |
| Claude Opus 4.7 | anthropic.claude-opus-4-7 |
개방 |
| Claude Sonnet 5 | anthropic.claude-sonnet-5 |
개방 |
| Claude Haiku 4.5 | anthropic.claude-haiku-4-5 |
개방 |
Amazon Bedrock의 Claude Fable 5.1에는 Claude Code 2.1.255 이상, Claude Opus 5.5에는 2.1.280 이상을 사용하세요. 업그레이드는 claude update를 실행하세요.
팁: 더 새로운 Claude 모델로 업그레이드하시나요? Claude Code에서
/claude-api migrate를 실행해 코드베이스 전반에 모델 ID 교체와 호환성이 깨지는 매개변수 변경을 적용하세요. 이 스킬은 코드가 대상으로 하는 클라우드 플랫폼을 감지해 그 플랫폼에 맞게 모델 ID 형식과 기능 변경을 조정해요. 더 새로운 Claude 모델로 마이그레이션을 참고하세요.
기능 지원 (Feature support)
Amazon Bedrock 가용성이 있는 전체 기능 목록은 기능 개요를 참고하세요.
지원되는 기능 하이라이트
- Messages API (
/anthropic/v1/messages) - 프롬프트 캐싱
- Thinking
- 도구 사용, Bash 도구, 컴퓨터 사용 도구, 메모리 도구, 텍스트 편집기 도구 포함
- 인용
지원되지 않는 기능
- 구조화된 출력
- 입력 소스(이미지·문서용 URL 소스, Files API)
- 서버 측 도구(code execution, web search, web fetch, advisor)
- 에이전트 인프라(Agent Skills, MCP 커넥터, 프로그래매틱 도구 호출)
- API 엔드포인트(Message Batches, Models, Admin, Compliance, Usage and Cost)
- Claude Managed Agents
- 서버 측 폴백(
fallbacks매개변수. 대신 클라이언트 측 폴백 패턴 사용) - 컴퓨터 사용 및 browser use 도구셋(
computer_toolset_20260801과browser_toolset_20260801은 현재 Amazon Bedrock에서 사용할 수 없음. 베타 컴퓨터 사용 도구 버전은 계속 사용 가능)
지역 (Regions)
Amazon Bedrock의 Claude는 다음 AWS 지역에서 사용할 수 있어요. Amazon Bedrock은 두 가지 엔드포인트 유형을 제공해요:
- Global: 최대 가용성을 위해 모든 사용 가능한 지역에 걸친 동적 라우팅. 가격 프리미엄 없음.
- Regional: 엔드포인트가 지정한 단일 AWS 지역으로 해석되어 데이터 레지던시 요구 사항 충족. 지역 엔드포인트는 글로벌 엔드포인트보다 10% 가격 프리미엄을 지녀요. 지리 내 여러 지역에 걸쳐 라우팅하려면 추론 프로필(US, EU, JP, AU)을 사용하세요. 표에서 In-region only로 표시된 지역은 추론 프로필 없이 직접 단일 지역 라우팅을 지원해요.
글로벌 엔드포인트는 Claude Fable 5.1, Claude Fable 5, Claude Opus 5.5, Claude Opus 5, Claude Opus 4.8, Claude Opus 4.7, Claude Sonnet 5, Claude Haiku 4.5에 사용할 수 있어요. Claude Fable 5.1의 지역 엔드포인트는 현재 us-east-1에서만 사용할 수 있어요. Claude Mythos Preview는 지역 전용이며 us-east-1에서 사용할 수 있어요.
| AWS 지역 | 위치 | 엔드포인트 유형 |
|---|---|---|
af-south-1 |
Africa (Cape Town) | Global |
ap-northeast-1 |
Asia Pacific (Tokyo) | Global, JP, In-region only |
ap-northeast-2 |
Asia Pacific (Seoul) | Global |
ap-northeast-3 |
Asia Pacific (Osaka) | Global, JP |
ap-south-1 |
Asia Pacific (Mumbai) | Global |
ap-south-2 |
Asia Pacific (Hyderabad) | Global |
ap-southeast-1 |
Asia Pacific (Singapore) | Global |
ap-southeast-2 |
Asia Pacific (Sydney) | Global, AU |
ap-southeast-3 |
Asia Pacific (Jakarta) | Global |
ap-southeast-4 |
Asia Pacific (Melbourne) | Global, AU, In-region only |
ca-central-1 |
Canada (Central) | Global, US |
ca-west-1 |
Canada West (Calgary) | Global |
eu-central-1 |
Europe (Frankfurt) | Global, EU |
eu-central-2 |
Europe (Zurich) | Global, EU |
eu-north-1 |
Europe (Stockholm) | Global, EU, In-region only |
eu-south-1 |
Europe (Milan) | Global, EU |
eu-south-2 |
Europe (Spain) | Global, EU |
eu-west-1 |
Europe (Ireland) | Global, EU, In-region only |
eu-west-2 |
Europe (London) | Global, EU |
eu-west-3 |
Europe (Paris) | Global, EU |
il-central-1 |
Israel (Tel Aviv) | Global |
me-central-1 |
Middle East (UAE) | Global |
sa-east-1 |
South America (São Paulo) | Global |
us-east-1 |
US East (N. Virginia) | Global, US, In-region only |
us-east-2 |
US East (Ohio) | Global, US, In-region only |
us-west-1 |
US West (N. California) | Global, US |
us-west-2 |
US West (Oregon) | Global, US, In-region only |
할당량 (Quotas)
기본 할당량은 분당 입력 토큰 2백만(TPM)이에요. 추가 Anthropic 승인 없이 최대 5백만 입력 TPM과 50만 출력 TPM을 요청할 수 있어요. AWS가 Bedrock 측에서 분당 요청(RPM) 한도를 적용해요. RPM 조정은 AWS 지원에 문의하세요.
데이터 보존 (Data retention)
이 제공의 데이터 처리는 Amazon Bedrock이 규율해요. 자세한 내용은 Amazon Bedrock의 데이터 보호를 참고하세요.
모니터링과 로깅 (Monitoring and logging)
Amazon Bedrock의 Claude는 CloudWatch와 CloudTrail 둘 다에 로그를 방출해요. Anthropic은 사용 패턴을 이해하고 잠재적 문제를 조사하기 위해 활동 로그를 최소 30일 단위로 보관할 것을 권장해요.
지원 (Support)
지원은 [email protected] 으로 연락하세요. AWS 계정 ID와 실패한 API 응답의 request-id를 포함하세요.
참고: Claude Mythos Preview는 Amazon Bedrock에서 초대받은 고객에게 제공되는 연구 미리보기 모델이에요. 자세한 내용은 Project Glasswing을 참고하세요.