Claude Code๋ฅผ Anthropic ์ง์ ์ฐ๊ฒฐ์ด ์๋ third-party Cloud Provider(Amazon Bedrock, Google Vertex AI, Microsoft Foundry)๋ฅผ ํตํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ. ๊ธฐ์ ํ๊ฒฝ์์ ๋ณด์, ๋น์ฉ ๊ด๋ฆฌ, ๊ธฐ์กด ์ธํ๋ผ์์ ํตํฉ์ ์ํด Cloud Provider๋ฅผ ๊ฒฝ์ ํ์ฌ Claude Code๋ฅผ ๋ฐฐํฌํ ์ ์๋ค.
ํด๋น ๊ฐ๋ ์ด ํ์ํ ์ด์
- ๊ธฐ์กด ํด๋ผ์ฐ๋ ์ธํ๋ผ ํ์ฉ: ์ด๋ฏธ AWS/GCP/Azure๋ฅผ ์ฌ์ฉํ๋ ์กฐ์ง์ด ๊ธฐ์กด ๊ฒฐ์ , IAM, ๋ชจ๋ํฐ๋ง ์ฒด๊ณ ์์์ Claude Code๋ฅผ ์ด์ํ ์ ์๋ค
- ๋ณด์ ๋ฐ ์ปดํ๋ผ์ด์ธ์ค: ๊ธฐ์ ํ๋ก์, VPC, ๊ฐ์ฌ ๋ก๊ทธ ๋ฑ ์กฐ์ง์ ๋ณด์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ ์ ์๋ค
- ๋น์ฉ ๊ด๋ฆฌ ์ผ์ํ: Cloud Provider์ ๊ธฐ์กด ๋น์ฉ ๊ด๋ฆฌ ๋๊ตฌ(AWS Cost Explorer, GCP Billing ๋ฑ)๋ก Claude ์ฌ์ฉ๋์ ์ถ์ ํ ์ ์๋ค. Cloud Provider๋ฅผ ๊ฒฝ์ ํ๋ฉด Anthropic์ ๋ณ๋ ๊ฒฐ์ ํ๋ ๊ฒ์ด ์๋๋ผ ๊ธฐ์กด ํด๋ผ์ฐ๋ ์ฒญ๊ตฌ์์ ํฉ์ฐ๋๋ค
- ๋ฆฌ์ ์ ํ: ๋ฐ์ดํฐ ์ฃผ๊ถ(data sovereignty) ์๊ตฌ์ฌํญ์ ๋ง๋ ๋ฆฌ์ ์์ ๋ชจ๋ธ์ ์คํํ ์ ์๋ค
๋น์ฉ ์ฒญ๊ตฌ ๊ตฌ์กฐ
Anthropic์ Cloud Provider(AWS/GCP/Azure)์๊ฒ ๋ชจ๋ธ์ ์ ๊ณตํ๊ณ , Cloud Provider๊ฐ ์ต์ข ์ฌ์ฉ์์๊ฒ ์ฌํ๋งคํ๋ ๊ตฌ์กฐ์ด๋ค.
| ๋ฐฐํฌ ๋ฐฉ์ | ๋์ ๋ด๋ ๊ณณ | ์ฒญ๊ตฌ์ |
|---|---|---|
| Anthropic ์ง์ | Anthropic | Anthropic ์ฒญ๊ตฌ์ |
| Amazon Bedrock | AWS | AWS ์ฒญ๊ตฌ์ (EC2, S3 ๋ฑ๊ณผ ํฉ์ฐ) |
| Google Vertex AI | GCP | GCP ์ฒญ๊ตฌ์ |
| Microsoft Foundry | Azure | Azure ์ฒญ๊ตฌ์ |
๊ธฐ์ ์ด ์ด๋ฏธ AWS์ ์ ์์ฒ๋ง์์ ์ฐ๊ณ ์๋ค๋ฉด, Claude ๋น์ฉ๋ ๊ฐ์ AWS ์ฒญ๊ตฌ์์ ํฌํจ๋์ด ๋ณ๋ SaaS ๊ฒฐ์ ํ๋ก์ธ์ค ์์ด ๊ธฐ์กด ์ฌ๋ฌด/๊ตฌ๋งค ์ฒด๊ณ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
AS-IS
sequenceDiagram autonumber participant Dev as Developer participant CC as Claude Code participant API as Anthropic API Dev->>CC: ์ฝ๋ ์์ฑ ์์ฒญ CC->>API: ์ง์ API ํธ์ถ (api.anthropic.com) API-->>CC: ์๋ต CC-->>Dev: ๊ฒฐ๊ณผ ํ์ Note over Dev,API: ๋จ์ํ์ง๋ง ๊ธฐ์ ๋ณด์/๋น์ฉ ๊ด๋ฆฌ ์ฒด๊ณ ๋ฐ
TO-BE
sequenceDiagram autonumber participant Dev as Developer participant CC as Claude Code participant Proxy as Corporate Proxy / LLM Gateway participant Cloud as Cloud Provider (Bedrock/Vertex/Foundry) participant Model as Claude Model Dev->>CC: ์ฝ๋ ์์ฑ ์์ฒญ CC->>Proxy: HTTPS_PROXY ๋๋ BASE_URL ๊ฒฝ์ Proxy->>Cloud: IAM ์ธ์ฆ + ์์ฒญ ์ ๋ฌ Cloud->>Model: ๋ชจ๋ธ ํธ์ถ Model-->>Cloud: ์๋ต Cloud-->>Proxy: ์๋ต ์ ๋ฌ Proxy-->>CC: ์๋ต CC-->>Dev: ๊ฒฐ๊ณผ ํ์ Note over Dev,Model: ๊ธฐ์ ๋ณด์/๋น์ฉ/๊ฐ์ฌ ์ฒด๊ณ ๋ด์์ ์ด์
5๊ฐ์ง ๋ฐฐํฌ ์ต์ ๋น๊ต
| Feature | Claude for Teams/Enterprise | Anthropic Console | Amazon Bedrock | Google Vertex AI | Microsoft Foundry |
|---|---|---|---|---|---|
| Best for | ๋๋ถ๋ถ์ ์กฐ์ง (๊ถ์ฅ) | ๊ฐ์ธ ๊ฐ๋ฐ์ | AWS ๋ค์ดํฐ๋ธ | GCP ๋ค์ดํฐ๋ธ | Azure ๋ค์ดํฐ๋ธ |
| ๊ณผ๊ธ | $150/seat (Premium) | PAYG | AWS PAYG | GCP PAYG | Azure PAYG |
| ์ธ์ฆ | SSO or email | API key | API key / AWS credentials | GCP credentials | API key / Entra ID |
| ๋น์ฉ ์ถ์ | Usage dashboard | Usage dashboard | AWS Cost Explorer | GCP Billing | Azure Cost Management |
| ์น Claude ํฌํจ | Yes | No | No | No | No |
| Prompt Caching | ๊ธฐ๋ณธ ํ์ฑํ | ๊ธฐ๋ณธ ํ์ฑํ | ๊ธฐ๋ณธ ํ์ฑํ | ๊ธฐ๋ณธ ํ์ฑํ | ๊ธฐ๋ณธ ํ์ฑํ |
| ์ํฐํ๋ผ์ด์ฆ ๊ธฐ๋ฅ | SSO, ํ ๊ด๋ฆฌ | ์์ | IAM, CloudTrail | IAM, Audit Logs | RBAC, Azure Monitor |
์ ํ ๊ธฐ์ค: ํน๋ณํ ์ธํ๋ผ ์๊ตฌ์ฌํญ์ด ์๋ค๋ฉด Claude for Teams/Enterprise๊ฐ ๊ถ์ฅ. ๊ธฐ์กด ํด๋ผ์ฐ๋ ์ธํ๋ผ๊ฐ ์๋ค๋ฉด ํด๋น Cloud Provider ์ ํ.
Amazon Bedrock ์ค์ ๋ฐฉ๋ฒ (์์ธ)
Step 1: ์ฌ์ ์๊ตฌ์ฌํญ
- AWS ๊ณ์ + Bedrock access ํ์ฑํ
- ์ํ๋ Claude ๋ชจ๋ธ(e.g., Claude Sonnet 4.6) Bedrock์์ ํ์ฑํ
- ์ ์ ํ IAM ๊ถํ
- (์ ํ) AWS CLI ์ค์น
Step 2: Use Case ์ ์ถ (์ต์ด 1ํ)
- Amazon Bedrock ์ฝ์ ์ ์
- Chat/Text playground ์ ํ
- Anthropic ๋ชจ๋ธ์ ์ ํํ๋ฉด use case form ์์ฑ ํ๋กฌํํธ๊ฐ ๋์ด
- ์์ฑ ์๋ฃ ํ ๋ชจ๋ธ ์ฌ์ฉ ๊ฐ๋ฅ
Step 3: AWS ์๊ฒฉ ์ฆ๋ช ์ค์
5๊ฐ์ง ๋ฐฉ๋ฒ ์ค ์ ํ:
# Option A: AWS CLI
aws configure
# Option B: ํ๊ฒฝ๋ณ์ (Access Key)
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
# Option C: SSO ํ๋กํ
aws sso login --profile=<your-profile-name>
export AWS_PROFILE=your-profile-name
# Option D: AWS Management Console
aws login
# Option E: Bedrock API Key (๊ฐ์ฅ ๊ฐ๋จ)
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-keyStep 4: Claude Code์์ Bedrock ํ์ฑํ
# ํ์: Bedrock ํ์ฑํ
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1 # ํ์! .aws config์์ ์ฝ์ง ์์
# ์ ํ: Haiku ๋ชจ๋ธ ๋ฆฌ์ ๋ณ๋ ์ง์
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2Step 5: ๋ชจ๋ธ ๋ฒ์ ๊ณ ์ (๊ฐ๋ ฅ ๊ถ์ฅ)
# ๋ชจ๋ธ alias(sonnet, opus ๋ฑ)๊ฐ ์ต์ ๋ฒ์ ์ผ๋ก ์๋ ๋ณ๊ฒฝ๋์ด
# ๊ณ์ ์ ํ์ฑํ๋์ง ์์ ๋ชจ๋ธ์ ํธ์ถํ ์ ์์ผ๋ฏ๋ก ๋ฐ๋์ ๊ณ ์
export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-6-v1'
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'๊ณ ์ ํ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ:
| ๋ชจ๋ธ ํ์ | ๊ธฐ๋ณธ๊ฐ |
|---|---|
| Primary | global.anthropic.claude-sonnet-4-6 |
| Small/fast | us.anthropic.claude-haiku-4-5-20251001-v1:0 |
Step 6: IAM ์ ์ฑ ์ค์
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowModelAndInferenceProfileAccess",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:ListInferenceProfiles"
],
"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"
}
}
}
]
}ํ๋ก์ ๋ฐ LLM Gateway ์ค์
๊ธฐ์ ํ๊ฒฝ์์ ์ถ๊ฐ๋ก ์ค์ ํ ์ ์๋ 2๊ฐ์ง ๋คํธ์ํฌ ์ต์ :
Corporate Proxy
์กฐ์ง์ ๋ชจ๋ ์์๋ฐ์ด๋ ํธ๋ํฝ์ด ํ๋ก์ ์๋ฒ๋ฅผ ๊ฒฝ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ:
# Bedrock + Corporate Proxy
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
export HTTPS_PROXY='https://proxy.example.com:8080'LLM Gateway
์ธ์ฆ, ๋ผ์ฐํ , ์ฌ์ฉ๋ ์ถ์ ์ ์ค์์์ ๊ด๋ฆฌํ๋ LLM Gateway ์ฌ์ฉ ์:
# Bedrock + LLM Gateway
export CLAUDE_CODE_USE_BEDROCK=1
export ANTHROPIC_BEDROCK_BASE_URL='https://your-llm-gateway.com/bedrock'
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1 # LLM Gateway๊ฐ AWS ์ธ์ฆ ์ฒ๋ฆฌ ์AWS ์๊ฒฉ ์ฆ๋ช ์๋ ๊ฐฑ์
SSO๋ ๊ธฐ์ ID ์ ๊ณต์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, Claude Code ์ค์ ํ์ผ์ ์๋ ๊ฐฑ์ ์ ๊ตฌ์ฑํ ์ ์๋ค:
{
"awsAuthRefresh": "aws sso login --profile myprofile",
"env": {
"AWS_PROFILE": "myprofile"
}
}awsAuthRefresh:.aws๋๋ ํ ๋ฆฌ๋ฅผ ์์ ํ๋ ๋ช ๋ น (SSO ๋ธ๋ผ์ฐ์ ์ธ์ฆ ๋ฑ)awsCredentialExport:.aws์์ ๋ถ๊ฐ ์ JSON์ผ๋ก ์ง์ ์๊ฒฉ ์ฆ๋ช ๋ฐํ
AWS Guardrails ์ฐ๋
Bedrock Guardrails๋ก ์ฝํ ์ธ ํํฐ๋ง ์ ์ฉ:
{
"env": {
"ANTHROPIC_CUSTOM_HEADERS": "X-Amzn-Bedrock-GuardrailIdentifier: your-guardrail-id\nX-Amzn-Bedrock-GuardrailVersion: 1"
}
}์กฐ์ง ๋ฐฐํฌ ๋ฒ ์คํธ ํ๋ํฐ์ค
- CLAUDE.md ๋ฌธ์ ํฌ์: ์กฐ์ง/๋ ํฌ์งํ ๋ฆฌ ๋ ๋ฒจ์์ CLAUDE.md ๋ฐฐํฌ๋ก ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ผ๊ด๋ ๊ฒฝํ
- ์ํด๋ฆญ ์ค์น ๊ตฌ์ฑ: ์ปค์คํ ๊ฐ๋ฐ ํ๊ฒฝ์์ ๊ฐํธํ ์ค์น ๋ฐฉ๋ฒ ์ ๊ณต
- ์ ์ง์ ๋์ : ์ฝ๋๋ฒ ์ด์ค Q&A โ ์์ ๋ฒ๊ทธ ์์ โ ํฐ ๊ธฐ๋ฅ ์์ผ๋ก ๋์
- ๋ชจ๋ธ ๋ฒ์ ๊ณ ์ : Bedrock/Vertex/Foundry ์ฌ์ฉ ์ ๋ฐ๋์ ๋ชจ๋ธ ๋ฒ์ ๊ณ ์
- MCP ํ์ฉ: ํฐ์ผ ๊ด๋ฆฌ, ์๋ฌ ๋ก๊ทธ ๋ฑ๊ณผ์ ์ฐ๋์ ์ํด
.mcp.json๊ณต์
ํธ๋ฌ๋ธ์ํ
| ๋ฌธ์ | ํด๊ฒฐ ๋ฐฉ๋ฒ |
|---|---|
| ๋ฆฌ์ ๊ด๋ จ ์๋ฌ | aws bedrock list-inference-profiles --region your-region์ผ๋ก ๋ชจ๋ธ ๊ฐ์ฉ์ฑ ํ์ธ |
| on-demand throughput ๋ฏธ์ง์ ์๋ฌ | inference profile ID๋ก ๋ชจ๋ธ ์ง์ |
| ์๊ฒฉ ์ฆ๋ช ๋ง๋ฃ | awsAuthRefresh ์ค์ ์ผ๋ก ์๋ ๊ฐฑ์ ๊ตฌ์ฑ |
/login, /logout ๋์ ์ ํจ | Bedrock ์ฌ์ฉ ์ ๋นํ์ฑํ๋จ (AWS credentials๋ก ์ธ์ฆ) |