---
title: 데이터 레지던시
url: https://platform.claude.com/docs/ko/manage-claude/data-residency
description: 지리적 제어를 통해 모델 추론이 실행되는 위치와 데이터가 저장되는 위치를 관리합니다.
---

"Data residency"(데이터 레지던시) 제어를 사용하면 데이터가 처리되고 저장되는 위치를 관리할 수 있습니다. 두 가지 독립적인 설정이 이를 관리합니다:

* **Inference geo(추론 지역):** 요청별로 모델 추론이 실행되는 위치를 제어합니다. `inference_geo` API 매개변수를 통해 설정하거나 워크스페이스 기본값으로 설정합니다.
* **Workspace geo(워크스페이스 지역):** 데이터가 저장 상태로 보관되는 위치와 엔드포인트 처리(이미지 트랜스코딩 및 코드 실행 등)가 이루어지는 위치를 제어합니다. [Claude Console](https://platform.claude.com)에서 워크스페이스 수준으로 구성합니다.

<Note>
  [Claude Managed Agents](https://platform.claude.com/docs/ko/managed-agents/overview)는 에이전트 수준의 지리적 고정을 지원합니다. [에이전트의 모델 구성](https://platform.claude.com/docs/ko/managed-agents/agent-setup#pin-the-inference-geo)에서 `inference_geo`를 설정하면 해당 에이전트를 실행하는 세션의 모델 요청을 처리하는 지역이 고정되며, 세션 생성 시 [세션별 재정의](https://platform.claude.com/docs/ko/managed-agents/sessions#pin-the-inference-geo-for-a-session)가 가능합니다. 고정되지 않은 에이전트는 각 요청에서 워크스페이스의 기본 inference geo를 따릅니다. Managed Agents는 Console에서 구성된 Workspace geo도 준수하며, [자체 호스팅 샌드박스](https://platform.claude.com/docs/ko/managed-agents/self-hosted-sandboxes)를 사용하면 도구 실행과 샌드박스 파일 시스템이 사용자가 제어하는 인프라에 유지됩니다. 연결된 [메모리 스토어](https://platform.claude.com/docs/ko/managed-agents/self-hosted-sandboxes-memory)의 내용은 Anthropic이 계속 저장하며 세션을 위해 사용자의 샌드박스로 복사됩니다.
</Note>

## Inference geo

<Note>
  "zero data retention"(제로 데이터 보존), 즉 ZDR이 이 기능에 어떻게 적용되는지 알아보려면 [API 및 데이터 보존](https://platform.claude.com/docs/ko/manage-claude/api-and-data-retention)을 참조하세요.
</Note>

`inference_geo` 매개변수는 특정 API 요청에 대해 모델 추론이 실행되는 위치를 제어합니다. 모든 `POST /v1/messages` 호출에 추가할 수 있습니다.

| 값          | 설명                                                  |
| ---------- | --------------------------------------------------- |
| `"global"` | 기본값. 최적의 성능과 가용성을 위해 사용 가능한 모든 지역에서 추론이 실행될 수 있습니다. |
| `"us"`     | 미국 기반 인프라에서만 추론이 실행됩니다.                             |

### API 사용법

<CodeGroup>
  ```bash cURL
  curl https://api.anthropic.com/v1/messages \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "content-type: application/json" \
    -d '{
      "model": "claude-opus-5-5",
      "max_tokens": 1024,
      "inference_geo": "us",
      "messages": [{
        "role": "user",
        "content": "Summarize the key points of this document."
      }]
    }'
  ```

  ```bash CLI
  ant messages create \
    --model claude-opus-5-5 \
    --max-tokens 1024 \
    --inference-geo us \
    --message '{role: user, content: "Summarize the key points of this document."}' \
    --transform '{content.#(type=="text").text,usage.inference_geo}' --format yaml
  ```

  ```python Python
  client = anthropic.Anthropic()

  response = client.messages.create(
      model="claude-opus-5-5",
      max_tokens=1024,
      inference_geo="us",
      messages=[
          {"role": "user", "content": "Summarize the key points of this document."}
      ],
  )

  for block in response.content:
      if block.type == "text":
          print(block.text)
  # 추론이 실제로 실행된 위치를 확인합니다
  print(f"Inference geo: {response.usage.inference_geo}")
  ```

  ```typescript TypeScript
  const client = new Anthropic();

  const response = await client.messages.create({
    model: "claude-opus-5-5",
    max_tokens: 1024,
    inference_geo: "us",
    messages: [
      {
        role: "user",
        content: "Summarize the key points of this document."
      }
    ]
  });

  const textBlock = response.content.find(
    (block): block is Anthropic.TextBlock => block.type === "text"
  );
  console.log(textBlock?.text);
  // 추론이 실제로 실행된 위치를 확인합니다
  console.log(`Inference geo: ${response.usage.inference_geo}`);
  ```

  ```csharp C#
  var client = new AnthropicClient();

  var response = await client.Messages.Create(
      new MessageCreateParams
      {
          Model = Model.ClaudeOpus5_5,
          MaxTokens = 1024,
          InferenceGeo = "us",
          Messages =
          [
              new() { Role = Role.User, Content = "Summarize the key points of this document." },
          ],
      }
  );

  foreach (var block in response.Content)
  {
      if (block.TryPickText(out var textBlock))
      {
          Console.WriteLine(textBlock.Text);
      }
  }

  // 추론이 실제로 실행된 위치를 확인합니다
  Console.WriteLine($"Inference geo: {response.Usage.InferenceGeo}");
  ```

  ```go Go
  client := anthropic.NewClient()

  message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
  	Model:        anthropic.ModelClaudeOpus5_5,
  	MaxTokens:    1024,
  	InferenceGeo: anthropic.String("us"),
  	Messages: []anthropic.MessageParam{
  		anthropic.NewUserMessage(anthropic.NewTextBlock("Summarize the key points of this document.")),
  	},
  })
  if err != nil {
  	log.Fatal(err)
  }

  for _, block := range message.Content {
  	if textBlock, ok := block.AsAny().(anthropic.TextBlock); ok {
  		fmt.Println(textBlock.Text)
  	}
  }
  // 추론이 실제로 실행된 위치를 확인합니다
  fmt.Printf("Inference geo: %s\n", message.Usage.InferenceGeo)
  ```

  ```java Java
  AnthropicClient client = AnthropicOkHttpClient.fromEnv();

  Message response = client.messages().create(
          MessageCreateParams.builder()
                  .model(Model.CLAUDE_OPUS_5_5)
                  .maxTokens(1024L)
                  .inferenceGeo("us")
                  .addUserMessage("Summarize the key points of this document.")
                  .build());

  response.content().stream()
          .flatMap(block -> block.text().stream())
          .forEach(textBlock -> IO.println(textBlock.text()));
  // 추론이 실제로 실행된 위치를 확인합니다
  IO.println("Inference geo: " + response.usage().inferenceGeo().get());
  ```

  ```php PHP
  $client = new Client();

  $response = $client->messages->create(
      model: 'claude-opus-5-5',
      maxTokens: 1024,
      inferenceGeo: 'us',
      messages: [
          ['role' => 'user', 'content' => 'Summarize the key points of this document.'],
      ],
  );

  foreach ($response->content as $block) {
      if ($block->type === 'text') {
          echo $block->text, PHP_EOL;
      }
  }
  // 추론이 실제로 실행된 위치를 확인합니다
  echo "Inference geo: {$response->usage->inferenceGeo}\n";
  ```

  ```ruby Ruby
  client = Anthropic::Client.new

  response = client.messages.create(
    model: "claude-opus-5-5",
    max_tokens: 1024,
    inference_geo: "us",
    messages: [
      {role: "user", content: "Summarize the key points of this document."}
    ]
  )

  response.content.each do |block|
    puts block.text if block.type == :text
  end
  # 추론이 실제로 실행된 위치를 확인합니다
  puts "Inference geo: #{response.usage.inference_geo}"
  ```
</CodeGroup>

### 응답

응답의 `usage` 객체에는 추론이 실행된 위치를 나타내는 `inference_geo` 필드가 포함됩니다:

```json Output
{
  "usage": {
    "input_tokens": 25,
    "output_tokens": 150,
    "inference_geo": "us"
  }
}
```

### 모델 가용성

`inference_geo` 매개변수는 Claude 4.6 이상 모델에서 지원됩니다. Claude Opus 4.5, Claude Sonnet 4.5(지원 중단), Claude Haiku 4.5 또는 이전 모델에서 `inference_geo`를 포함한 요청은 400 오류를 반환합니다.

<Note>
  `inference_geo` 매개변수는 Claude API(퍼스트 파티) 및 [Claude Platform on AWS](https://platform.claude.com/docs/ko/build-with-claude/claude-platform-on-aws)에서 사용할 수 있습니다. Amazon Bedrock 및 Google Cloud에서는 추론 리전이 엔드포인트 URL 또는 추론 프로필에 의해 결정되므로 `inference_geo`가 적용되지 않습니다. [Claude in Microsoft Foundry](https://platform.claude.com/docs/ko/build-with-claude/claude-in-microsoft-foundry)에서도 마찬가지로 `inference_geo`가 적용되지 않습니다. 대신 Azure에서 호스팅되는 배포는 추론을 미국 내로 유지하는 US Data Zone Standard 배포 유형을 사용할 수 있습니다. `inference_geo` 매개변수는 [OpenAI SDK 호환성 엔드포인트](https://platform.claude.com/docs/ko/cli-sdks-libraries/libraries/openai-sdk)를 통해서도 사용할 수 없습니다.
</Note>

### 워크스페이스 수준 제한

워크스페이스 설정은 사용 가능한 inference geo를 제한하는 기능도 지원합니다:

* **`allowed_inference_geos`:** 워크스페이스가 사용할 수 있는 지역을 제한합니다. 요청이 이 목록에 없는 `inference_geo`를 지정하면 API가 오류를 반환합니다.
* **`default_inference_geo`:** 요청에서 `inference_geo`가 생략된 경우의 대체 지역을 설정합니다. 개별 요청은 `inference_geo`를 명시적으로 설정하여 이를 재정의할 수 있습니다.

이러한 설정은 Console 또는 [Admin API](https://platform.claude.com/docs/ko/manage-claude/admin-api)의 `data_residency` 필드를 통해 구성할 수 있습니다.

## Workspace geo

Workspace geo는 워크스페이스를 생성할 때 설정되며 이후에는 변경할 수 없습니다. 현재 `"us"`가 사용 가능한 유일한 workspace geo입니다.

Workspace geo를 설정하려면 [Console](https://platform.claude.com)에서 새 워크스페이스를 생성하세요:

1. Console에서 [Workspaces](https://platform.claude.com/settings/workspaces) 페이지(`platform.claude.com/settings/workspaces`)로 이동합니다.
2. **Create workspace**를 클릭하여 Console에서 [Create workspace](https://platform.claude.com/settings/workspaces/new) 페이지(`platform.claude.com/settings/workspaces/new`)를 엽니다.
3. 이름을 입력하고 **Workspace geo** 필드의 값을 확인한 다음 **Create workspace**를 클릭합니다.

<Note>
  **Claude Platform on AWS:** Workspace geo는 구성할 수 없습니다. 이 플랫폼의 Claude Managed Agents 세션은 현재 사용 가능한 유일한 workspace geo인 `"us"`를 실질적인 Workspace geo로 하여 실행됩니다. 해당 플랫폼에 특화된 데이터 레지던시 고려 사항은 [Claude Platform on AWS](https://platform.claude.com/docs/ko/build-with-claude/claude-platform-on-aws)를 참조하세요.
</Note>

## 가격

데이터 레지던시 가격은 모델 세대에 따라 다릅니다:

* **Claude 4.6 이상 모델:** 미국 전용 추론(`inference_geo: "us"`)은 모든 토큰 가격 범주(입력 토큰, 출력 토큰, 캐시 쓰기, 캐시 읽기)에서 표준 요금의 1.1배로 책정됩니다. Claude Haiku 5.5에서는 100,000 토큰을 초과하는 프롬프트에 대한 더 높은 가격에도 이 배수가 적용됩니다([긴 컨텍스트 가격](https://platform.claude.com/docs/ko/about-claude/pricing#long-context-pricing) 참조).
* **글로벌 라우팅** (`inference_geo: "global"`): 표준 가격이 적용됩니다.
* **이전 모델:** `inference_geo`를 지원하지 않으며([모델 가용성](https://platform.claude.com/docs/ko/manage-claude/data-residency#model-availability) 참조), 표준 가격이 적용됩니다. 이 매개변수를 포함한 요청은 400 오류를 반환합니다.

이 가격은 Claude API(퍼스트 파티) 및 Claude Platform on AWS에 적용됩니다. Claude in Microsoft Foundry에서는 US Data Zone Standard 배포 유형을 사용하는 Azure 호스팅 배포에 동일한 1.1배 배수가 적용됩니다. 파트너 운영 플랫폼(Bedrock 및 Google Cloud)은 자체 리전별 가격을 가지고 있습니다. 자세한 내용은 [데이터 레지던시 가격](https://platform.claude.com/docs/ko/about-claude/pricing#data-residency-pricing)을 참조하세요.

동일한 배수가 [Claude Managed Agents](https://platform.claude.com/docs/ko/managed-agents/overview)에도 적용됩니다. 에이전트의 [모델 구성](https://platform.claude.com/docs/ko/managed-agents/agent-setup)이 `inference_geo`를 `"us"`로 고정하면, 해당 에이전트를 실행하는 세션의 모델 요청은 표준 요금의 1.1배로 책정됩니다.

<Note>
  [Priority Tier](https://platform.claude.com/docs/ko/api/service-tiers) 약정이 있는 경우, 미국 전용 추론에 대한 1.1배 배수는 Priority Tier 용량에 대해 토큰이 계산되는 방식에도 영향을 미칩니다. `inference_geo: "us"`로 소비된 각 토큰은 약정된 TPM에서 1.1 토큰을 차감하며, 이는 다른 가격 배수(프롬프트 캐싱 등)가 소진율에 영향을 미치는 방식과 일치합니다.
</Note>

## Batch API 지원

`inference_geo` 매개변수는 [Batch API](https://platform.claude.com/docs/ko/build-with-claude/batch-processing)에서 지원됩니다. 배치 내 각 요청은 자체 `inference_geo` 값을 지정할 수 있습니다.

## 레거시 옵트아웃에서 마이그레이션

조직이 이전에 추론을 미국 내로 유지하기 위해 글로벌 라우팅을 옵트아웃한 경우, 워크스페이스는 자동으로 `allowed_inference_geos: ["us"]` 및 `default_inference_geo: "us"`로 구성되었습니다. 코드 변경은 필요하지 않습니다. 기존 데이터 레지던시 요구 사항은 새로운 지역 제어를 통해 계속 적용됩니다.

### 변경된 사항

레거시 옵트아웃은 모든 요청을 미국 기반 인프라로 제한하는 조직 수준 설정이었습니다. 새로운 데이터 레지던시 제어는 이를 두 가지 메커니즘으로 대체합니다:

* **요청별 제어:** `inference_geo` 매개변수를 사용하면 각 API 호출에서 `"us"` 또는 `"global"`을 지정할 수 있어 요청 수준의 유연성을 제공합니다.
* **워크스페이스 제어:** Console의 `default_inference_geo` 및 `allowed_inference_geos` 설정을 사용하면 워크스페이스의 모든 키에 걸쳐 지역 정책을 적용할 수 있습니다.

### 워크스페이스에 적용된 사항

워크스페이스는 자동으로 마이그레이션되었습니다:

| 레거시 설정              | 새로운 동등 설정                                                       |
| ------------------- | --------------------------------------------------------------- |
| 글로벌 라우팅 옵트아웃(미국 전용) | `allowed_inference_geos: ["us"]`, `default_inference_geo: "us"` |

워크스페이스의 키를 사용하는 모든 API 요청은 계속 미국 기반 인프라에서 실행됩니다. 현재 동작을 유지하기 위해 별도의 조치는 필요하지 않습니다.

### 글로벌 라우팅을 사용하려는 경우

데이터 레지던시 요구 사항이 변경되어 더 나은 성능과 가용성을 위해 글로벌 라우팅을 활용하려는 경우, 워크스페이스의 inference geo 설정을 업데이트하여 허용된 지역에 `"global"`을 포함하고 `default_inference_geo`를 `"global"`로 설정하세요. 자세한 내용은 [워크스페이스 수준 제한](https://platform.claude.com/docs/ko/manage-claude/data-residency#workspace-level-restrictions)을 참조하세요.

### 가격 영향

레거시 모델은 이 마이그레이션의 영향을 받지 않습니다. 최신 모델의 현재 가격은 [가격](https://platform.claude.com/docs/ko/manage-claude/data-residency#pricing)을 참조하세요.

## 현재 제한 사항

* **공유 속도 제한:** 속도 제한은 모든 지역에 걸쳐 공유됩니다.
* **Inference geo:** `"us"`와 `"global"`만 사용할 수 있습니다.
* **Workspace geo:** 현재 `"us"`만 사용할 수 있습니다. Workspace geo는 워크스페이스 생성 후 변경할 수 없습니다.

## 다음 단계

<CardGroup>
  <Card title="가격" icon="dollar-sign" href="https://platform.claude.com/docs/ko/about-claude/pricing#data-residency-pricing">
    데이터 레지던시 가격 세부 정보를 확인하세요.
  </Card>

  <Card title="워크스페이스" icon="building" href="https://platform.claude.com/docs/ko/manage-claude/workspaces">
    워크스페이스 구성에 대해 알아보세요.
  </Card>

  <Card title="Usage and Cost API" icon="chart" href="https://platform.claude.com/docs/ko/manage-claude/usage-cost-api">
    데이터 레지던시별 사용량과 비용을 추적하세요.
  </Card>
</CardGroup>
