

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

# Node.js용 X-Ray SDK로 SQL 쿼리 추적하기
<a name="xray-sdk-nodejs-sqlclients"></a>

**참고**  
X-Ray SDK/데몬 유지 관리 공지 - 2026년 2월 25일에 AWS X-Ray SDKs/데몬은 유지 관리 모드로 전환되며, 여기서 AWS 는 보안 문제만 해결하도록 X-Ray SDK 및 데몬 릴리스를 제한합니다. 지원 일정에 대한 자세한 내용은 [X-Ray SDK 및 데몬 지원 타임라인](xray-sdk-daemon-timeline.md) 섹션을 참조하세요. OpenTelemetry로 마이그레이션하는 것이 좋습니다. OpenTelemetry로 마이그레이션하는 방법에 대한 자세한 내용은 [X-Ray 계측에서 OpenTelemetry 계측으로 마이그레이션](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)을 참조하세요.

SQL 클라이언트를 대응하는 Node.js용 X-Ray SDK 클라이언트 메서드로 감싸 SQL 데이터베이스 쿼리를 계측합니다.
+  **PostgreSQL** – `AWSXRay.capturePostgres()` 

  ```
  var AWSXRay = require('aws-xray-sdk');
  var pg = AWSXRay.capturePostgres(require('pg'));
  var client = new pg.Client();
  ```
+  **MySQL** – `AWSXRay.captureMySQL()` 

  ```
  var AWSXRay = require('aws-xray-sdk');
  var mysql = AWSXRay.captureMySQL(require('mysql'));
  ...
  var connection = mysql.createConnection(config);
  ```

구성된 클라이언트를 이용해 SQL 쿼리를 생성한다면, Node.js용 X-Ray SDK는 연결과 쿼리에 대한 정보를 하위 세그먼트에 기록합니다.

## SQL 하위 세그먼트에 추가 데이터 포함
<a name="xray-sdk-nodejs-sqlclients-additional"></a>

허용 목록에 있는 SQL 필드에 매핑된다면 SQL 쿼리에 대해 생성된 하위 세그먼트에 정보를 더 추가할 수 있습니다. 예를 들어 하위 세그먼트에 삭제된 SQL 쿼리 문자열을 기록하려는 경우 하위 세그먼트의 SQL 객체에 직접 추가할 수 있습니다.

**Example 하위 세그먼트에 SQL 지정**  

```
    const queryString = 'SELECT * FROM MyTable';
connection.query(queryString, ...);

// Retrieve the most recently created subsegment
const subs = AWSXRay.getSegment().subsegments;

if (subs & & subs.length > 0) {
  var sqlSub = subs[subs.length - 1];
  sqlSub.sql.sanitized_query = queryString;
}
```

허용 목록에 있는 SQL 필드의 전체 목록은 *AWS X-Ray 개발자 안내서*의 [SQL 쿼리](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-sql)를 참조하십시오.