

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

# Application Load Balancer에 대한 요청 추적
<a name="load-balancer-request-tracing"></a>

클라이언트에서 요청을 받으면 로드 밸런서는 대상에 요청을 전달하기 전에 **X-Amzn-Trace-Id** 헤더를 추가 또는 업데이트합니다. 로드 밸런서와 대상 간의 서비스 또는 애플리케이션도 이 헤더를 추가 또는 업데이트할 수 있습니다.

요청 추적을 사용하여 클라이언트에서 대상 또는 기타 서비스로 가는 HTTP 요청을 추적할 수 있습니다. 액세스 로그를 활성화하면 **X-Amzn-Trace-Id** 헤더의 콘텐츠가 기록됩니다. 자세한 내용은 [Application Load Balancer에 대한 액세스 로그](load-balancer-access-logs.md) 단원을 참조하십시오.

## 구문
<a name="request-tracing-syntax"></a>

**X-Amzn-Trace-Id** 헤더에는 다음 형식을 가진 필드가 포함되어 있습니다.

```
{{Field}}={{version}}-{{time}}-{{id}}
```

*필드*  
필드의 이름입니다. 지원되는 값은 `Root` 및 `Self`입니다.  
애플리케이션은 자체 용도로 임의 필드를 추가할 수 있습니다. 로드 밸런서는 이들 필드를 보관은 하지만 사용하지는 않습니다.

*version*  
버전 번호입니다. 이 값은 1입니다.

*시간*  
epoch 시간(초)입니다. 이 값은 8자리 16진수입니다.

*id*  
트레이스 식별자입니다. 이 값은 24자리 16진수입니다.

**예제**  
**X-Amzn-Trace-Id** 헤더가 들어오는 요청에 존재하지 않는 경우에는 로드 밸런서가 `Root` 필드를 가진 헤더를 생성하고 요청을 전달합니다. 다음 예를 참조하십시오.

```
X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678
```

**X-Amzn-Trace-Id** 헤더가 존재하고 `Root` 필드를 가지고 있는 경우에는 로드 밸런서가 `Self` 필드를 삽입하고 요청을 전달합니다. 다음 예를 참조하십시오.

```
X-Amzn-Trace-Id: Self=1-67891233-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678
```

애플리케이션이 `Root` 필드와 사용자 지정 필드를 가진 헤더를 추가하는 경우에는 로드 밸런서가 두 필드를 모두 보관하고 `Self` 필드를 삽입한 다음 요청을 전달합니다.

```
X-Amzn-Trace-Id: Self=1-67891233-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678;CalledFrom=app
```

**X-Amzn-Trace-Id** 헤더가 존재하고 `Self` 필드를 가지고 있는 경우에는 로드 밸런서가 `Self` 필드의 값을 업데이트합니다.

## 제한 사항
<a name="request-tracing-limits"></a>
+ 로드 밸런서는 응답을 수신할 때가 아니라 요청을 수신할 때 헤더를 업데이트합니다.
+ HTTP 헤더가 7 KB보다 크면 로드 밸런서는 `Root` 필드를 가진 **X-Amzn-Trace-Id** 헤더를 재작성합니다.
+ WebSockets에서는 업그레이드 요청이 성공할 때까지만 추적이 가능합니다.