

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 요청별 메타데이터 태그 지정
<a name="cost-mgmt-request-metadata"></a>

요청 메타데이터를 사용하면 [`bedrock-runtime`](endpoints.md) 엔드포인트의 개별 Amazon Bedrock 추론 호출에 키-값 태그를 연결할 수 있습니다. 태그는 [모델 호출 로그](model-invocation-logging.md)의 요청과 함께 기록되므로 팀, 애플리케이션, 환경, 실험 또는 호출에 따라 달라지는 기타 차원에 사용량을 귀속할 수 있습니다. 미리 생성하거나 구성할 리소스는 없습니다. 각 호출은 서로 다른 태그 세트를 전달할 수 있습니다.

요청 메타데이터는 다음 [`bedrock-runtime`](endpoints.md) APIs
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)
+ [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)
+ [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)
+ [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html)

**참고**  
요청 메타데이터는 [`bedrock-mantle`](endpoints.md) 엔드포인트에서 지원되지 않습니다. 비용 할당 태그로 AWS Cost Explorer 및 AWS 비용 및 사용 보고서로 직접 흐르는 어트리뷰션은 [애플리케이션 추론 프로파일](cost-mgmt-application-inference-profiles.md), [Projects](cost-mgmt-projects.md)또는 섹션을 참조하세요[워크스페이스](cost-mgmt-workspaces.md).

## 요청 메타데이터 작동 방식
<a name="cost-mgmt-request-metadata-how-it-works"></a>

호출하는 API에 따라 요청에 메타데이터를 다르게 연결합니다.
+ **InvokeModel 및 InvokeModelWithResponseStream** - 요청에 `X-Amzn-Bedrock-Request-Metadata` HTTP 헤더를 설정합니다. 값은 키와 값이 선택한 문자열인 JSON 객체입니다.
+ **Converse 및 ConverseStream** - 요청 본문에서 `requestMetadata` 필드를 설정합니다. 자세한 내용은 [requestMetadata](conversation-inference.md#converse-request-metadata) 단원을 참조하십시오.

요청 메타데이터는 호출 AWS 리전 이 이루어진에서 로깅이 활성화된 경우에만 모델 호출 로그에 기록됩니다. 설정 지침은 섹션을 참조하세요[CloudWatch Logs 및 Amazon S3를 사용하여 모델 간접 호출 모니터링](model-invocation-logging.md).

다음 예제에서는 팀 이름, 환경 및 테스트 사례 식별자로 호출에 태그를 지정하는 InvokeModel 요청을 보여줍니다.

```
POST /model/anthropic.claude-3-haiku-20240307-v1:0/invoke HTTP/1.1
Content-Type: application/json
X-Amzn-Bedrock-Request-Metadata: {"team": "orchestrator", "environment": "preview-test", "test_case": "invoke_model_sync"}

{
  "anthropic_version": "bedrock-2023-05-31",
  "max_tokens": 50,
  "messages": [{"role": "user", "content": "Say hello in one word."}]
}
```

InvokeModelWithResponseStream에서 동일한 헤더가 지원됩니다.

```
POST /model/anthropic.claude-3-haiku-20240307-v1:0/invoke-with-response-stream HTTP/1.1
Content-Type: application/json
X-Amzn-Bedrock-Request-Metadata: {"team": "orchestrator", "environment": "preview-test", "test_case": "invoke_model_stream"}

{
  "anthropic_version": "bedrock-2023-05-31",
  "max_tokens": 50,
  "messages": [{"role": "user", "content": "Say hello in one word."}]
}
```

**중요**  
 AWS 서명 버전 4(SigV4)를 사용하여 요청에 서명하면 `SignedHeaders` 목록에 `X-Amzn-Bedrock-Request-Metadata`를 포함합니다. 서명된 목록에서 헤더를 생략하는 요청은 요청 메타데이터를 파라미터로 노출하는 `InvalidSignatureException`. AWS SDKs로 거부되어 이를 자동으로 처리합니다.

## 한도
<a name="cost-mgmt-request-metadata-limits"></a>

요청 메타데이터에는 `X-Amzn-Bedrock-Request-Metadata` 헤더(InvokeModel, InvokeModelWithResponseStream)와 `requestMetadata` 본문 필드(Converse, ConverseStream) 모두에 적용되는 다음과 같은 제한이 있습니다.
+ 요청당 최대 16개의 메타데이터 항목.
+ 키: 최대 256자.
+ 값: 최대 256자.
+ 허용되는 문자: 제한된 영숫자 및 구두점 문자 집합입니다.

이러한 제한을 초과하는 요청은 검증 오류와 함께 거부됩니다.

## 요청 메타데이터가 나타나는 위치
<a name="cost-mgmt-request-metadata-in-logs"></a>

요청 메타데이터는 최상위 `requestMetadata` 필드 아래의 Amazon Bedrock 모델 호출 로그에 나타납니다. 다음 약식 로그 항목은 InvokeModel 호출의 필드를 보여줍니다.

```
{
    "schemaType": "ModelInvocationLog",
    "schemaVersion": "1.0",
    "timestamp": "2024-01-15T12:00:00Z",
    "accountId": "123456789012",
    "region": "us-east-1",
    "requestId": "abcd1234-5678-efgh-ijkl-mnopqrstuvwx",
    "operation": "InvokeModel",
    "modelId": "anthropic.claude-3-haiku-20240307-v1:0",
    "requestMetadata": {
        "team": "orchestrator",
        "environment": "preview-test",
        "test_case": "invoke_model_sync"
    },
    "input":  { "...": "..." },
    "output": { "...": "..." }
}
```

Amazon CloudWatch Logs Insights, Amazon Athena와 같은 Amazon S3 쿼리 도구 또는 호출 로그를 읽는 기타 시스템의 메타데이터 필드를 기준으로 로그를 필터링하고 집계할 수 있습니다.

## 고려 사항
<a name="cost-mgmt-request-metadata-considerations"></a>
+ 요청 메타데이터 값은 호출의에서 모델 호출 로깅이 활성화된 경우에만 기록됩니다 AWS 리전. 로깅이 구성되지 않은 경우 요청은 계속 성공하지만 메타데이터는 유지되지 않습니다.
+ 요청 메타데이터는 AWS 비용 할당 태그로 전송되지 않으며 AWS Cost Explorer 또는 CUR에 표시되지 않습니다. 메타데이터 차원별로 비용을 분석하려면 호출 로그를의 비용 및 사용 보고서와 조인하거나 `requestId`로그 레코드에서 직접 토큰 수를 집계하고 [Amazon Bedrock 요금](https://aws.amazon.com/bedrock/pricing/)의 토큰당 요금을 곱합니다. Cost Explorer 및 CUR로 기본적으로 흐르는 어트리뷰션의 경우 , 또는 [애플리케이션 추론 프로파일](cost-mgmt-application-inference-profiles.md)[Projects](cost-mgmt-projects.md)를 사용합니다[워크스페이스](cost-mgmt-workspaces.md).
+ 집계하기 쉬운 분석을 `experiment` 위해 `team`, `feature`, 또는 `environment`와 같은 안정적이고 카디널리티가 낮은 키를 선택합니다. 개별 호출을 추적해야 하는 경우에만 세션 또는 추적 식별자와 같은 더 높은 카디널리티 값을 사용합니다.
+ 요청 메타데이터에 개인 식별 정보(PII), 자격 증명 또는 기타 민감한 데이터를 배치하지 마세요. 값은 모델 호출 로그와 해당 로그를 읽는 모든 시스템에 저장됩니다.
+ 요청 메타데이터는 다른 Amazon Bedrock 사용량 추적 방법과 함께 작동합니다. 동일한 워크로드[IAM 보안 주체 속성](cost-mgmt-iam-principal-tracking.md)에서 ID별 어트리뷰션 및 리소스 수준 비용 할당 태그에 [애플리케이션 추론 프로파일](cost-mgmt-application-inference-profiles.md)를 사용할 수 있습니다.