SpyBara
Go Premium

amazon-bedrock.md 2026-06-09 06:34 UTC to 2026-06-10 23:57 UTC

89 added, 104 removed.

2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

Amazon Bedrock์˜ Claude Code

Amazon Bedrock์„ ํ†ตํ•œ Claude Code ๊ตฌ์„ฑ, ์„ค์ •, IAM ๊ตฌ์„ฑ ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

ํ•„์ˆ˜ ์กฐ๊ฑด

Claude Code๋ฅผ Bedrock์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค:

  • Bedrock ์•ก์„ธ์Šค๊ฐ€ ํ™œ์„ฑํ™”๋œ AWS ๊ณ„์ •
  • Bedrock์—์„œ ์›ํ•˜๋Š” Claude ๋ชจ๋ธ(์˜ˆ: Claude Sonnet 4.6)์— ๋Œ€ํ•œ ์•ก์„ธ์Šค
  • AWS CLI ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ(์„ ํƒ ์‚ฌํ•ญ - ์ž๊ฒฉ ์ฆ๋ช…์„ ์–ป์„ ๋‹ค๋ฅธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ•„์š”)
  • ์ ์ ˆํ•œ IAM ๊ถŒํ•œ

Bedrock ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ ค๋ฉด ์•„๋ž˜์˜ Bedrock์œผ๋กœ ๋กœ๊ทธ์ธ์„ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค. ํŒ€ ์ „์ฒด์— Claude Code๋ฅผ ๋ฐฐํฌํ•˜๋ ค๋ฉด ์ˆ˜๋™ ์„ค์ • ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋กค์•„์›ƒ ์ „์— ๋ชจ๋ธ ๋ฒ„์ „์„ ๊ณ ์ •ํ•˜์‹ญ์‹œ์˜ค.

Bedrock์œผ๋กœ ๋กœ๊ทธ์ธ

AWS ์ž๊ฒฉ ์ฆ๋ช…์ด ์žˆ๊ณ  Bedrock์„ ํ†ตํ•ด Claude Code ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋กœ๊ทธ์ธ ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ์ด๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. AWS ์ธก ํ•„์ˆ˜ ์กฐ๊ฑด์€ ๊ณ„์ •๋‹น ํ•œ ๋ฒˆ ์™„๋ฃŒํ•˜๋ฉฐ, ๋งˆ๋ฒ•์‚ฌ๊ฐ€ Claude Code ์ธก์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

1

AWS ๊ณ„์ •์—์„œ Anthropic ๋ชจ๋ธ ํ™œ์„ฑํ™”

Amazon Bedrock ์ฝ˜์†”์—์„œ ๋ชจ๋ธ ์นดํƒˆ๋กœ๊ทธ๋ฅผ ์—ด๊ณ  Anthropic ๋ชจ๋ธ์„ ์„ ํƒํ•œ ํ›„ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์–‘์‹์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค. ์ œ์ถœ ํ›„ ์ฆ‰์‹œ ์•ก์„ธ์Šค๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค. AWS Organizations์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์„ธ๋ถ€ ์ •๋ณด ์ œ์ถœ์„ ์ฐธ์กฐํ•˜๊ณ  ๊ถŒํ•œ์˜ ๊ฒฝ์šฐ IAM ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

2

Claude Code๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  Bedrock ์„ ํƒ

claude๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ๋กœ๊ทธ์ธ ํ”„๋กฌํ”„ํŠธ์—์„œ 3rd-party platform์„ ์„ ํƒํ•œ ํ›„ Amazon Bedrock์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค.

3

๋งˆ๋ฒ•์‚ฌ ํ”„๋กฌํ”„ํŠธ ๋”ฐ๋ฅด๊ธฐ

AWS์— ์ธ์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค: ~/.aws ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๊ฐ์ง€๋œ AWS ํ”„๋กœํ•„, Bedrock API ํ‚ค, ์•ก์„ธ์Šค ํ‚ค ๋ฐ ์‹œํฌ๋ฆฟ, ๋˜๋Š” ํ™˜๊ฒฝ์— ์ด๋ฏธ ์žˆ๋Š” ์ž๊ฒฉ ์ฆ๋ช…. ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ์ง€์—ญ์„ ์„ ํƒํ•˜๊ณ  ๊ณ„์ •์ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” Claude ๋ชจ๋ธ์„ ํ™•์ธํ•œ ํ›„ ๊ณ ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉ์ž ์„ค์ • ํŒŒ์ผ์˜ env ๋ธ”๋ก์— ์ €์žฅํ•˜๋ฏ€๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ๋‚ด๋ณด๋‚ผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ์ธํ•œ ํ›„ ์–ธ์ œ๋“ ์ง€ /setup-bedrock์„ ์‹คํ–‰ํ•˜์—ฌ ๋งˆ๋ฒ•์‚ฌ๋ฅผ ๋‹ค์‹œ ์—ด๊ณ  ์ž๊ฒฉ ์ฆ๋ช…, ์ง€์—ญ ๋˜๋Š” ๋ชจ๋ธ ๊ณ ์ •์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜๋™์œผ๋กœ ์„ค์ •

์˜ˆ๋ฅผ ๋“ค์–ด CI ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋กค์•„์›ƒ์—์„œ ๋งˆ๋ฒ•์‚ฌ ๋Œ€์‹  ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด Bedrock์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ์•„๋ž˜ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

1. ์‚ฌ์šฉ ์‚ฌ๋ก€ ์„ธ๋ถ€ ์ •๋ณด ์ œ์ถœ

Anthropic ๋ชจ๋ธ์˜ ์ฒซ ์‚ฌ์šฉ์ž๋Š” ๋ชจ๋ธ์„ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— ์‚ฌ์šฉ ์‚ฌ๋ก€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ œ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” AWS ๊ณ„์ •๋‹น ํ•œ ๋ฒˆ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

  1. ์•„๋ž˜์— ์„ค๋ช…๋œ ์˜ฌ๋ฐ”๋ฅธ IAM ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค
  2. Amazon Bedrock ์ฝ˜์†”๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค
  3. ๋ชจ๋ธ ์นดํƒˆ๋กœ๊ทธ์—์„œ Anthropic ๋ชจ๋ธ์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค
  4. ์‚ฌ์šฉ ์‚ฌ๋ก€ ์–‘์‹์„ ์™„๋ฃŒํ•˜์‹ญ์‹œ์˜ค. ์ œ์ถœ ํ›„ ์ฆ‰์‹œ ์•ก์„ธ์Šค๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.

AWS Organizations๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ด€๋ฆฌ ๊ณ„์ •์—์„œ PutUseCaseForModelAccess API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–‘์‹์„ ํ•œ ๋ฒˆ ์ œ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ˜ธ์ถœ์—๋Š” bedrock:PutUseCaseForModelAccess IAM ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์Šน์ธ์€ ์ž๋™์œผ๋กœ ํ•˜์œ„ ๊ณ„์ •์œผ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค.

2. AWS ์ž๊ฒฉ ์ฆ๋ช… ๊ตฌ์„ฑ

Claude Code๋Š” ๊ธฐ๋ณธ AWS SDK ์ž๊ฒฉ ์ฆ๋ช… ์ฒด์ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๊ฒฉ ์ฆ๋ช…์„ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค:

์˜ต์…˜ A: AWS CLI ๊ตฌ์„ฑ

aws configure

์˜ต์…˜ B: ํ™˜๊ฒฝ ๋ณ€์ˆ˜(์•ก์„ธ์Šค ํ‚ค)

export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-access-key
export AWS_SESSION_TOKEN=your-session-token

์˜ต์…˜ C: ํ™˜๊ฒฝ ๋ณ€์ˆ˜(SSO ํ”„๋กœํ•„)

aws sso login --profile=<your-profile-name>

export AWS_PROFILE=your-profile-name

์˜ต์…˜ D: AWS Management Console ์ž๊ฒฉ ์ฆ๋ช…

aws login

aws login์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ.

์˜ต์…˜ E: Bedrock API ํ‚ค

export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

Bedrock API ํ‚ค๋Š” ์ „์ฒด AWS ์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š” ์—†๋Š” ๋” ๊ฐ„๋‹จํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Bedrock API ํ‚ค์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ.

๊ณ ๊ธ‰ ์ž๊ฒฉ ์ฆ๋ช… ๊ตฌ์„ฑ

Claude Code๋Š” AWS SSO ๋ฐ ํšŒ์‚ฌ ID ๊ณต๊ธ‰์ž์— ๋Œ€ํ•œ ์ž๋™ ์ž๊ฒฉ ์ฆ๋ช… ์ƒˆ๋กœ ๊ณ ์นจ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Claude Code ์„ค์ • ํŒŒ์ผ์— ์ด๋Ÿฌํ•œ ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค(์„ค์ •์—์„œ ํŒŒ์ผ ์œ„์น˜ ์ฐธ์กฐ).

์ด ๋‘ ์„ค์ •์€ ์„œ๋กœ ๋‹ค๋ฅธ ํŠธ๋ฆฌ๊ฑฐ ์กฐ๊ฑด์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

  • awsAuthRefresh: Claude Code๊ฐ€ AWS ์ž๊ฒฉ ์ฆ๋ช…์ด ๋งŒ๋ฃŒ๋˜์—ˆ์Œ์„ ๊ฐ์ง€ํ•  ๋•Œ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋กœ์ปฌ์—์„œ ๋˜๋Š” Bedrock์ด ์ž๊ฒฉ ์ฆ๋ช… ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ ๊ฐ์ง€๋˜๋ฉฐ, ์ƒˆ๋กœ ๊ณ ์ณ์ง„ ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ์š”์ฒญ์„ ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
  • awsCredentialExport: ์„ธ์…˜ ์‹œ์ž‘ ์‹œ ๋ฐ ๊ฐ ์ž๊ฒฉ ์ฆ๋ช… ๋‹ค์‹œ ๋กœ๋“œ ์‹œ ์‹คํ–‰๋˜๋ฉฐ, AWS ๊ธฐ๋ณธ ์ž๊ฒฉ ์ฆ๋ช… ๊ณต๊ธ‰์ž ์ฒด์ธ์˜ ์ž๊ฒฉ ์ฆ๋ช…์ด ์—ฌ์ „ํžˆ ์œ ํšจํ•œ ๊ฒฝ์šฐ์—๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Bedrock ๊ณ„์ •์ด ๊ธฐ๋ณธ ๊ณต๊ธ‰์ž ์ฒด์ธ์ด ํ™•์ธํ•  ์ž๊ฒฉ ์ฆ๋ช…๊ณผ ๋‹ค๋ฅธ ๊ต์ฐจ ๊ณ„์ • ์ž๊ฒฉ ์ฆ๋ช…์„ ํ•„์š”๋กœ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
์˜ˆ์ œ ๊ตฌ์„ฑ
{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}
๊ตฌ์„ฑ ์„ค์ • ์„ค๋ช…

awsAuthRefresh: .aws ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ช…๋ น(์˜ˆ: ์ž๊ฒฉ ์ฆ๋ช…, SSO ์บ์‹œ ๋˜๋Š” ๊ตฌ์„ฑ ํŒŒ์ผ ์—…๋ฐ์ดํŠธ)์— ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๋ช…๋ น์˜ ์ถœ๋ ฅ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œ๋˜์ง€๋งŒ ๋Œ€ํ™”ํ˜• ์ž…๋ ฅ์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” CLI๊ฐ€ URL ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ธ์ฆ์„ ์™„๋ฃŒํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ SSO ํ๋ฆ„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

awsCredentialExport: .aws๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๊ณ  ์ž๊ฒฉ ์ฆ๋ช…์„ ์ง์ ‘ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ์ด ๋ช…๋ น์€ ์ž๊ฒฉ ์ฆ๋ช…์ด ๋งŒ๋ฃŒ๋˜์—ˆ์„ ๋•Œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ƒˆ๋กœ ๊ณ ์ณ์•ผ ํ•  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ์€ ์ž๋™์œผ๋กœ ์บก์ฒ˜๋˜๋ฉฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ช…๋ น์€ ๋‹ค์Œ ํ˜•์‹์œผ๋กœ JSON์„ ์ถœ๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

{
  "Credentials": {
    "AccessKeyId": "value",
    "SecretAccessKey": "value",
    "SessionToken": "value"
  }
}

3. Claude Code ๊ตฌ์„ฑ

Bedrock์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค:

# Bedrock ํ†ตํ•ฉ ํ™œ์„ฑํ™”
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1  # ๋˜๋Š” ์„ ํ˜ธํ•˜๋Š” ์ง€์—ญ

# ์„ ํƒ ์‚ฌํ•ญ: ์†Œํ˜•/๋น ๋ฅธ ๋ชจ๋ธ(Bedrock ๋ฐ Mantle)์˜ AWS ์ง€์—ญ ์žฌ์ •์˜
# Bedrock์—์„œ๋Š” ANTHROPIC_DEFAULT_HAIKU_MODEL
# ๋˜๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ANTHROPIC_SMALL_FAST_MODEL์ด ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2

# ์„ ํƒ ์‚ฌํ•ญ: ์‚ฌ์šฉ์ž ์ •์˜ ์—”๋“œํฌ์ธํŠธ ๋˜๋Š” ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์œ„ํ•œ Bedrock ์—”๋“œํฌ์ธํŠธ URL ์žฌ์ •์˜
# export ANTHROPIC_BEDROCK_BASE_URL=https://bedrock-runtime.us-east-1.amazonaws.com

Claude Code์— ๋Œ€ํ•ด Bedrock์„ ํ™œ์„ฑํ™”ํ•  ๋•Œ ๋‹ค์Œ์„ ์—ผ๋‘์— ๋‘์‹ญ์‹œ์˜ค:

  • AWS_REGION์€ ํ•„์ˆ˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. Claude Code๋Š” ์ด ์„ค์ •์— ๋Œ€ํ•ด .aws ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Bedrock์„ ์‚ฌ์šฉํ•  ๋•Œ /logout ๋ช…๋ น์€ AWS ์ž๊ฒฉ ์ฆ๋ช…์„ ํ†ตํ•ด ์ธ์ฆ์ด ์ฒ˜๋ฆฌ๋˜๋ฏ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • WebSearch ๋„๊ตฌ๋Š” Bedrock์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. WebSearch ๋„๊ตฌ ๋™์ž‘์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
  • ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์œ ์ถœ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋Š” AWS_PROFILE๊ณผ ๊ฐ™์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์„ค์ • ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ค์ •์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

4. ๋ชจ๋ธ ๋ฒ„์ „ ๊ณ ์ •

์ด๋Ÿฌํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํŠน์ • Bedrock ๋ชจ๋ธ ID๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.

ANTHROPIC_DEFAULT_OPUS_MODEL์ด ์—†์œผ๋ฉด Bedrock์˜ opus ๋ณ„์นญ์ด Opus 4.6์œผ๋กœ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Opus 4.8 ID๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค:

export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'
export ANTHROPIC_DEFAULT_SONNET_MODEL='us.anthropic.claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜๋Š” ๊ต์ฐจ ์ง€์—ญ ์ถ”๋ก  ํ”„๋กœํ•„ ID(us. ์ ‘๋‘์‚ฌ ํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ง€์—ญ ์ ‘๋‘์‚ฌ ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”๋ก  ํ”„๋กœํ•„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ ์ ˆํžˆ ์กฐ์ •ํ•˜์‹ญ์‹œ์˜ค. ํ˜„์žฌ ๋ฐ ๋ ˆ๊ฑฐ์‹œ ๋ชจ๋ธ ID๋Š” ๋ชจ๋ธ ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ „์ฒด ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ชฉ๋ก์€ ๋ชจ๋ธ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๊ณ ์ • ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Claude Code๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

๋ชจ๋ธ ์œ ํ˜• ๊ธฐ๋ณธ๊ฐ’
๊ธฐ๋ณธ ๋ชจ๋ธ us.anthropic.claude-sonnet-4-5-20250929-v1:0
์†Œํ˜•/๋น ๋ฅธ ๋ชจ๋ธ ๊ธฐ๋ณธ ๋ชจ๋ธ๊ณผ ๋™์ผ

์„ธ์…˜ ์ œ๋ชฉ ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์€ ์†Œํ˜•/๋น ๋ฅธ ๋ชจ๋ธ(์ผ๋ฐ˜์ ์œผ๋กœ Haiku ํด๋ž˜์Šค ๋ชจ๋ธ)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Bedrock์—์„œ Claude Code๋Š” ๋ชจ๋“  ๊ณ„์ • ๋˜๋Š” ์ง€์—ญ์—์„œ Haiku๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ฅผ ๊ธฐ๋ณธ ๋ชจ๋ธ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์— Haiku๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ANTHROPIC_DEFAULT_HAIKU_MODEL์„ ๊ณ„์ •์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ ID๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋ธ์„ ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค:

# ์ถ”๋ก  ํ”„๋กœํ•„ ID ์‚ฌ์šฉ
export ANTHROPIC_MODEL='us.anthropic.claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

# ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”๋ก  ํ”„๋กœํ•„ ARN ์‚ฌ์šฉ
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'

# ์„ ํƒ ์‚ฌํ•ญ: ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํ”„๋กฌํ”„ํŠธ ์บ์‹ฑ ๋น„ํ™œ์„ฑํ™”
export DISABLE_PROMPT_CACHING=1

# ์„ ํƒ ์‚ฌํ•ญ: 5๋ถ„ ๊ธฐ๋ณธ๊ฐ’ ๋Œ€์‹  1์‹œ๊ฐ„ ํ”„๋กฌํ”„ํŠธ ์บ์‹œ TTL ์š”์ฒญ
export ENABLE_PROMPT_CACHING_1H=1

1์‹œ๊ฐ„ ์บ์‹œ TTL์€ 5๋ถ„ ๊ธฐ๋ณธ๊ฐ’๋ณด๋‹ค ๋†’์€ ์š”๊ธˆ์œผ๋กœ ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค. ์บ์‹œ ์ˆ˜๋ช…์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๊ฐ ๋ชจ๋ธ ๋ฒ„์ „์„ ์ถ”๋ก  ํ”„๋กœํ•„์— ๋งคํ•‘

ANTHROPIC_DEFAULT_*_MODEL ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ๋ชจ๋ธ ์ œํ’ˆ๊ตฐ๋‹น ํ•˜๋‚˜์˜ ์ถ”๋ก  ํ”„๋กœํ•„์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์กฐ์ง์ด /model ์„ ํƒ๊ธฐ์—์„œ ๋™์ผํ•œ ์ œํ’ˆ๊ตฐ์˜ ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ๋…ธ์ถœํ•˜๊ณ  ๊ฐ๊ฐ ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”๋ก  ํ”„๋กœํ•„ ARN์œผ๋กœ ๋ผ์šฐํŒ…ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์„ค์ • ํŒŒ์ผ์—์„œ modelOverrides ์„ค์ •์„ ๋Œ€์‹  ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์ด ์˜ˆ์ œ๋Š” ๋„ค ๊ฐœ์˜ Opus ๋ฒ„์ „์„ ๊ณ ์œ ํ•œ ARN์— ๋งคํ•‘ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋Š” ์กฐ์ง์˜ ์ถ”๋ก  ํ”„๋กœํ•„์„ ์šฐํšŒํ•˜์ง€ ์•Š๊ณ  ๋ฒ„์ „ ๊ฐ„์— ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

{
  "modelOverrides": {
    "claude-opus-4-7": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-47-prod",
    "claude-opus-4-6": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-46-prod",
    "claude-opus-4-5-20251101": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-45-prod",
    "claude-opus-4-1-20250805": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-41-prod"
  }
}

์‚ฌ์šฉ์ž๊ฐ€ /model์—์„œ ์ด๋Ÿฌํ•œ ๋ฒ„์ „ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋ฉด Claude Code๋Š” ๋งคํ•‘๋œ ARN์œผ๋กœ Bedrock์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์žฌ์ •์˜๊ฐ€ ์—†๋Š” ๋ฒ„์ „์€ ๊ธฐ๋ณธ ์ œ๊ณต Bedrock ๋ชจ๋ธ ID ๋˜๋Š” ์‹œ์ž‘ ์‹œ ๋ฐœ๊ฒฌ๋œ ์ผ์น˜ํ•˜๋Š” ์ถ”๋ก  ํ”„๋กœํ•„๋กœ ํด๋ฐฑ๋ฉ๋‹ˆ๋‹ค. ์žฌ์ •์˜๊ฐ€ availableModels ๋ฐ ๊ธฐํƒ€ ๋ชจ๋ธ ์„ค์ •๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฒ„์ „๋ณ„ ๋ชจ๋ธ ID ์žฌ์ •์˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์‹œ์ž‘ ๋ชจ๋ธ ํ™•์ธ

Claude Code๊ฐ€ Bedrock์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์‹œ์ž‘๋˜๋ฉด ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋ชจ๋ธ์ด ๊ณ„์ •์—์„œ ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ํ™•์ธ์—๋Š” Claude Code v2.1.94 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ Claude Code ๊ธฐ๋ณธ๊ฐ’๋ณด๋‹ค ์˜ค๋ž˜๋œ ๋ชจ๋ธ ๋ฒ„์ „์„ ๊ณ ์ •ํ–ˆ๊ณ  ๊ณ„์ •์ด ์ตœ์‹  ๋ฒ„์ „์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ Claude Code๋Š” ๊ณ ์ •์„ ์—…๋ฐ์ดํŠธํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋ฝํ•˜๋ฉด ์ƒˆ ๋ชจ๋ธ ID๋ฅผ ์‚ฌ์šฉ์ž ์„ค์ • ํŒŒ์ผ์— ์“ฐ๊ณ  Claude Code๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ๋ถ€ํ•˜๋ฉด ๋‹ค์Œ ๊ธฐ๋ณธ ๋ฒ„์ „ ๋ณ€๊ฒฝ๊นŒ์ง€ ๊ธฐ์–ต๋ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”๋ก  ํ”„๋กœํ•„ ARN์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ณ ์ •์€ ๊ด€๋ฆฌ์ž๊ฐ€ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

๋ชจ๋ธ์„ ๊ณ ์ •ํ•˜์ง€ ์•Š์•˜๊ณ  ํ˜„์žฌ ๊ธฐ๋ณธ๊ฐ’์„ ๊ณ„์ •์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Claude Code๋Š” ํ˜„์žฌ ์„ธ์…˜์—์„œ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ํด๋ฐฑํ•˜๊ณ  ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํด๋ฐฑ์€ ์œ ์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Bedrock ๊ณ„์ •์—์„œ ์ตœ์‹  ๋ชจ๋ธ์„ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋ฒ„์ „์„ ๊ณ ์ •ํ•˜์—ฌ ์„ ํƒ์„ ์˜๊ตฌ์ ์œผ๋กœ ๋งŒ๋“œ์‹ญ์‹œ์˜ค.

IAM ๊ตฌ์„ฑ

Claude Code์— ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ์žˆ๋Š” IAM ์ •์ฑ…์„ ๋งŒ๋“œ์‹ญ์‹œ์˜ค:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowModelAndInferenceProfileAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles",
        "bedrock:GetInferenceProfile"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*",
        "arn:aws:bedrock:*:*:foundation-model/*"
      ]
    },
    {
      "Sid": "AllowMarketplaceSubscription",
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:ViewSubscriptions",
        "aws-marketplace:Subscribe"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:CalledViaLast": "bedrock.amazonaws.com"
        }
      }
    }
  ]
}

๋” ์ œํ•œ์ ์ธ ๊ถŒํ•œ์˜ ๊ฒฝ์šฐ ๋ฆฌ์†Œ์Šค๋ฅผ ํŠน์ • ์ถ”๋ก  ํ”„๋กœํ•„ ARN์œผ๋กœ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

bedrock:GetInferenceProfile์„ ์‚ฌ์šฉํ•˜๋ฉด Claude Code๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”๋ก  ํ”„๋กœํ•„ ARN์„ ํ•ด๋‹น ๋ฐฑ์—… ๊ธฐ์ดˆ ๋ชจ๋ธ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํ•ด๋‹น ๋ชจ๋ธ์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ์š”์ฒญ ํ˜•ํƒœ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ† ํฐ์— ์ด ๊ถŒํ•œ์ด ์—†์œผ๋ฉด Claude Code๋Š” ๋Œ€์ฒด ํ˜•ํƒœ๋กœ ํ•œ ๋ฒˆ ์žฌ์‹œ๋„ํ•˜์—ฌ ์ž๋™์œผ๋กœ ๋ณต๊ตฌ๋˜๋ฏ€๋กœ ์š”์ฒญ์€ ์—ฌ์ „ํžˆ ์„ฑ๊ณตํ•˜์ง€๋งŒ ๊ฐ ์ƒˆ๋กœ์šด ๋ชจ๋ธ์€ ์ถ”๊ฐ€ ์™•๋ณต์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ฉด ์žฌ์‹œ๋„๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ† ํฐ์˜ ์ •์ฑ…์ด ์ผ๋ฐ˜์ ์œผ๋กœ ์ „์ฒด IAM ์—ญํ• ๋ณด๋‹ค ์ข์€ AWS_BEARER_TOKEN_BEDROCK ๋ฐฐํฌ์— ๊ฐ€์žฅ ์ž์ฃผ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Bedrock IAM ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

1M ํ† ํฐ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ

Claude Opus 4.6 ์ด์ƒ ๋ฐ Sonnet 4.6์€ Amazon Bedrock์—์„œ 1M ํ† ํฐ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” 1M ๋ชจ๋ธ ๋ณ€ํ˜•์„ ์„ ํƒํ•  ๋•Œ ํ™•์žฅ๋œ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ์ž๋™์œผ๋กœ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ • ๋งˆ๋ฒ•์‚ฌ๋Š” ๋ชจ๋ธ์„ ๊ณ ์ •ํ•  ๋•Œ 1M ์ปจํ…์ŠคํŠธ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™์œผ๋กœ ๊ณ ์ •๋œ ๋ชจ๋ธ์— ๋Œ€ํ•ด ๋Œ€์‹  ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋ชจ๋ธ ID์— [1m]์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํƒ€์‚ฌ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋ชจ๋ธ ๊ณ ์ •์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์„œ๋น„์Šค ๊ณ„์ธต

Amazon Bedrock ์„œ๋น„์Šค ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜๋ฉด ๋น„์šฉ๊ณผ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ ˆ์ถฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ANTHROPIC_BEDROCK_SERVICE_TIER๋ฅผ default, flex ๋˜๋Š” priority๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค:

export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

Claude Code๋Š” ์ด๋ฅผ ๊ฐ ์š”์ฒญ์˜ X-Amzn-Bedrock-Service-Tier ํ—ค๋”๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๊ณ„์ธต ๊ฐ€์šฉ์„ฑ์€ ๋ชจ๋ธ ๋ฐ ์ง€์—ญ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ์•ฝ๋œ ์šฉ๋Ÿ‰์€ ์ด ์„ค์ • ๋Œ€์‹  ํ”„๋กœ๋น„์ €๋‹๋œ ์ฒ˜๋ฆฌ๋Ÿ‰ ARN์„ ๋ชจ๋ธ ID๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

AWS Guardrails

Amazon Bedrock Guardrails๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Claude Code์— ๋Œ€ํ•œ ์ฝ˜ํ…์ธ  ํ•„ํ„ฐ๋ง์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Amazon Bedrock ์ฝ˜์†”์—์„œ Guardrail์„ ๋งŒ๋“ค๊ณ  ๋ฒ„์ „์„ ๊ฒŒ์‹œํ•œ ๋‹ค์Œ Guardrail ํ—ค๋”๋ฅผ ์„ค์ • ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค. ๊ต์ฐจ ์ง€์—ญ ์ถ”๋ก  ํ”„๋กœํ•„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ Guardrail์—์„œ ๊ต์ฐจ ์ง€์—ญ ์ถ”๋ก ์„ ํ™œ์„ฑํ™”ํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ์ œ ๊ตฌ์„ฑ:

{
  "env": {
    "ANTHROPIC_CUSTOM_HEADERS": "X-Amzn-Bedrock-GuardrailIdentifier: your-guardrail-id\nX-Amzn-Bedrock-GuardrailVersion: 1"
  }
}

Mantle ์—”๋“œํฌ์ธํŠธ ์‚ฌ์šฉ

Mantle์€ Bedrock Invoke API ๋Œ€์‹  ๊ธฐ๋ณธ Anthropic API ํ˜•ํƒœ๋ฅผ ํ†ตํ•ด Claude ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋Š” Amazon Bedrock ์—”๋“œํฌ์ธํŠธ์ž…๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์˜ ์•ž๋ถ€๋ถ„์—์„œ ์„ค๋ช…ํ•œ ๋™์ผํ•œ AWS ์ž๊ฒฉ ์ฆ๋ช…, IAM ๊ถŒํ•œ ๋ฐ awsAuthRefresh ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Mantle ํ™œ์„ฑํ™”

AWS ์ž๊ฒฉ ์ฆ๋ช…์ด ์ด๋ฏธ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉด CLAUDE_CODE_USE_MANTLE์„ ์„ค์ •ํ•˜์—ฌ ์š”์ฒญ์„ Mantle ์—”๋“œํฌ์ธํŠธ๋กœ ๋ผ์šฐํŒ…ํ•˜์‹ญ์‹œ์˜ค:

export CLAUDE_CODE_USE_MANTLE=1
export AWS_REGION=us-east-1

Claude Code๋Š” AWS_REGION์—์„œ ์—”๋“œํฌ์ธํŠธ URL์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ์—”๋“œํฌ์ธํŠธ ๋˜๋Š” ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์œ„ํ•ด ์žฌ์ •์˜ํ•˜๋ ค๋ฉด ANTHROPIC_BEDROCK_MANTLE_BASE_URL์„ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.

Claude Code ๋‚ด์—์„œ /status๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. Mantle์ด ํ™œ์„ฑํ™”๋˜๋ฉด ์ œ๊ณต์ž ์ค„์— Amazon Bedrock (Mantle)์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Mantle ๋ชจ๋ธ ์„ ํƒ

Mantle์€ anthropic. ์ ‘๋‘์‚ฌ๊ฐ€ ์žˆ๊ณ  ๋ฒ„์ „ ์ ‘๋ฏธ์‚ฌ๊ฐ€ ์—†๋Š” ๋ชจ๋ธ ID๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: anthropic.claude-haiku-4-5). ๊ณ„์ •์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์€ ์กฐ์ง์— ๋ถ€์—ฌ๋œ ๊ฒƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฉฐ, ์ถ”๊ฐ€ ๋ชจ๋ธ ID๋Š” AWS์˜ ์˜จ๋ณด๋”ฉ ์ž๋ฃŒ์— ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ํ—ˆ์šฉ ๋ชฉ๋ก์— ์žˆ๋Š” ๋ชจ๋ธ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์š”์ฒญํ•˜๋ ค๋ฉด AWS ๊ณ„์ • ํŒ€์— ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค.

--model ํ”Œ๋ž˜๊ทธ ๋˜๋Š” Claude Code ๋‚ด์˜ /model๋กœ ๋ชจ๋ธ์„ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค:

claude --model anthropic.claude-haiku-4-5

Invoke API์™€ ํ•จ๊ป˜ Mantle ์‹คํ–‰

Mantle์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์ด ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ๋ชจ๋ธ์„ ํฌํ•จํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CLAUDE_CODE_USE_BEDROCK ๋ฐ CLAUDE_CODE_USE_MANTLE์„ ๋ชจ๋‘ ์„ค์ •ํ•˜๋ฉด Claude Code๊ฐ€ ๋™์ผํ•œ ์„ธ์…˜์—์„œ ๋‘ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋ชจ๋‘ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Mantle ํ˜•์‹๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋ธ ID๋Š” Mantle์œผ๋กœ ๋ผ์šฐํŒ…๋˜๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“  ๋ชจ๋ธ ID๋Š” Bedrock Invoke API๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

export CLAUDE_CODE_USE_BEDROCK=1
export CLAUDE_CODE_USE_MANTLE=1

Mantle ๋ชจ๋ธ์„ /model ์„ ํƒ๊ธฐ์— ํ‘œ์‹œํ•˜๋ ค๋ฉด ์„ค์ • ํŒŒ์ผ์˜ availableModels์— ID๋ฅผ ๋‚˜์—ดํ•˜์‹ญ์‹œ์˜ค. ์ด ์„ค์ •์€ ์„ ํƒ๊ธฐ๋ฅผ ๋‚˜์—ด๋œ ํ•ญ๋ชฉ์œผ๋กœ ์ œํ•œํ•˜๋ฏ€๋กœ ์œ ์ง€ํ•˜๋ ค๋Š” ๋ชจ๋“  ๋ณ„์นญ์„ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค:

{
  "availableModels": ["opus", "sonnet", "haiku", "anthropic.claude-haiku-4-5"]
}

anthropic. ์ ‘๋‘์‚ฌ๊ฐ€ ์žˆ๋Š” ํ•ญ๋ชฉ์€ ์‚ฌ์šฉ์ž ์ •์˜ ์„ ํƒ๊ธฐ ์˜ต์…˜์œผ๋กœ ์ถ”๊ฐ€๋˜๊ณ  Mantle์œผ๋กœ ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค. anthropic.claude-haiku-4-5๋ฅผ ๊ณ„์ •์— ๋ถ€์—ฌ๋œ ๋ชจ๋ธ ID๋กœ ๋ฐ”๊พธ์‹ญ์‹œ์˜ค. availableModels๊ฐ€ ๋‹ค๋ฅธ ๋ชจ๋ธ ์„ค์ •๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ชจ๋ธ ์„ ํƒ ์ œํ•œ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋‘ ๊ณต๊ธ‰์ž๊ฐ€ ๋ชจ๋‘ ํ™œ์„ฑํ™”๋˜๋ฉด /status๋Š” Amazon Bedrock + Amazon Bedrock (Mantle)์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด Mantle ๋ผ์šฐํŒ…

์กฐ์ง์ด ๋ชจ๋ธ ํŠธ๋ž˜ํ”ฝ์„ AWS ์ž๊ฒฉ ์ฆ๋ช…์„ ์„œ๋ฒ„ ์ธก์— ์ฃผ์ž…ํ•˜๋Š” ์ค‘์•™ ์ง‘์ค‘์‹ LLM ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜๋Š” ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ ์ธก ์ธ์ฆ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ Claude Code๊ฐ€ SigV4 ์„œ๋ช… ๋˜๋Š” x-api-key ํ—ค๋” ์—†์ด ์š”์ฒญ์„ ๋ณด๋‚ด๋„๋ก ํ•˜์‹ญ์‹œ์˜ค:

export CLAUDE_CODE_USE_MANTLE=1
export CLAUDE_CODE_SKIP_MANTLE_AUTH=1
export ANTHROPIC_BEDROCK_MANTLE_BASE_URL=https://your-gateway.example.com

Mantle ํ™˜๊ฒฝ ๋ณ€์ˆ˜

์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜๋Š” Mantle ์—”๋“œํฌ์ธํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ชฉ๋ก์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋ณ€์ˆ˜ ๋ชฉ์ 
CLAUDE_CODE_USE_MANTLE Mantle ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. 1 ๋˜๋Š” true๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.
ANTHROPIC_BEDROCK_MANTLE_BASE_URL ๊ธฐ๋ณธ Mantle ์—”๋“œํฌ์ธํŠธ URL ์žฌ์ •์˜
CLAUDE_CODE_SKIP_MANTLE_AUTH ํ”„๋ก์‹œ ์„ค์ •์„ ์œ„ํ•ด ํด๋ผ์ด์–ธํŠธ ์ธก ์ธ์ฆ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION Haiku ํด๋ž˜์Šค ๋ชจ๋ธ์˜ AWS ์ง€์—ญ ์žฌ์ •์˜(Bedrock๊ณผ ๊ณต์œ )

๋ฌธ์ œ ํ•ด๊ฒฐ

SSO ๋ฐ ํšŒ์‚ฌ ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•œ ์ธ์ฆ ๋ฃจํ”„

AWS SSO๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ธŒ๋ผ์šฐ์ € ํƒญ์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋ฉด ์„ค์ • ํŒŒ์ผ์—์„œ awsAuthRefresh ์„ค์ •์„ ์ œ๊ฑฐํ•˜์‹ญ์‹œ์˜ค. ์ด๋Š” ํšŒ์‚ฌ VPN ๋˜๋Š” TLS ๊ฒ€์‚ฌ ํ”„๋ก์‹œ๊ฐ€ SSO ๋ธŒ๋ผ์šฐ์ € ํ๋ฆ„์„ ์ค‘๋‹จํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude Code๋Š” ์ค‘๋‹จ๋œ ์—ฐ๊ฒฐ์„ ์ธ์ฆ ์‹คํŒจ๋กœ ์ทจ๊ธ‰ํ•˜๊ณ  awsAuthRefresh๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์—ฌ ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์ด ์ž๋™ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ SSO ํ๋ฆ„์„ ๋ฐฉํ•ดํ•˜๋Š” ๊ฒฝ์šฐ awsAuthRefresh์— ์˜์กดํ•˜๋Š” ๋Œ€์‹  Claude Code๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— aws sso login์„ ์ˆ˜๋™์œผ๋กœ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์ง€์—ญ ๋ฌธ์ œ

์ง€์—ญ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ:

  • ๋ชจ๋ธ ๊ฐ€์šฉ์„ฑ ํ™•์ธ: aws bedrock list-inference-profiles --region your-region
  • ์ง€์›๋˜๋Š” ์ง€์—ญ์œผ๋กœ ์ „ํ™˜: export AWS_REGION=us-east-1
  • ๊ต์ฐจ ์ง€์—ญ ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•ด ์ถ”๋ก  ํ”„๋กœํ•„ ์‚ฌ์šฉ ๊ณ ๋ ค

"on-demand throughput isn't supported" ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ:

Claude Code๋Š” Bedrock Invoke API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ Converse API๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Mantle ์—”๋“œํฌ์ธํŠธ ์˜ค๋ฅ˜

CLAUDE_CODE_USE_MANTLE์„ ์„ค์ •ํ•œ ํ›„ /status์— Amazon Bedrock (Mantle)์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ๋ณ€์ˆ˜๊ฐ€ ํ”„๋กœ์„ธ์Šค์— ๋„๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Claude Code๋ฅผ ์‹œ์ž‘ํ•œ ์…ธ์—์„œ ๋‚ด๋ณด๋‚ด์กŒ๋Š”์ง€ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์„ค์ • ํŒŒ์ผ์˜ env ๋ธ”๋ก์— ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.

์œ ํšจํ•œ ์ž๊ฒฉ ์ฆ๋ช…์ด ์žˆ๋Š” Mantle ์—”๋“œํฌ์ธํŠธ์˜ 403์€ AWS ๊ณ„์ •์ด ์š”์ฒญํ•œ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์ง€ ์•Š์•˜์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์•ก์„ธ์Šค๋ฅผ ์š”์ฒญํ•˜๋ ค๋ฉด AWS ๊ณ„์ • ํŒ€์— ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋ธ ID๋ฅผ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•˜๋Š” 400์€ ํ•ด๋‹น ๋ชจ๋ธ์ด Mantle์—์„œ ์ œ๊ณต๋˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Mantle์€ ํ‘œ์ค€ Bedrock ์นดํƒˆ๋กœ๊ทธ์™€ ๋ณ„๊ฐœ์˜ ์ž์ฒด ๋ชจ๋ธ ๋ผ์ธ์—…์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ us.anthropic.claude-sonnet-4-6๊ณผ ๊ฐ™์€ ์ถ”๋ก  ํ”„๋กœํ•„ ID๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Mantle ํ˜•์‹ ID๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋‘ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋ชจ๋‘ ํ™œ์„ฑํ™”ํ•˜์—ฌ Claude Code๊ฐ€ ๊ฐ ์š”์ฒญ์„ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—”๋“œํฌ์ธํŠธ๋กœ ๋ผ์šฐํŒ…ํ•˜๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.

์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค