AWS Lambda 및 AWS X-Ray
AWS Lambda 함수를 추적하는 데 AWS X-Ray를 사용할 수 있습니다. Lambda는 X-Ray 대몬(daemon)을 실행하고 함수 호출 및 실행에 대한 세부 정보가 포함된 세그먼트를 기록합니다. 추가 구성을 위해 사용자 함수와 함께 X-Ray SDK를 번들링하여 발신 호출을 기록하고 주석 및 메타데이터를 추가할 수 있습니다.
다른 구성된 서비스에서 Lambda 함수를 호출하는 경우 는 이미 샘플링된 요청을 추가 구성 없이 추적합니다. 업스트림 서비스는 구성된 웹 애플리케이션 또는 다른 Lambda 함수일 수 있습니다. 서비스에서 구성된 AWS SDK 클라이언트를 사용하거나 구성된 HTTP 클라이언트를 사용하여 API 게이트웨이를 호출함으로써 직접 함수를 간접 호출할 수 있습니다.
AWS X-Ray는 AWS Lambda와 Amazon SQS를 사용하여 이벤트 기반 애플리케이션 추적을 지원합니다. CloudWatch 콘솔을 사용하면 각 요청이 Amazon SQS로 대기열에 추가되고 다운스트림 Lambda 함수에 의해 처리될 때 연결된 보기를 볼 수 있습니다. 업스트림 메시지 생산자의 트레이스가 다운스트림 Lambda 함수의 트레이스에 자동으로 연결되므로 전체 애플리케이션을 종합적으로 파악할 수 있습니다. 자세한 내용은 이벤트 중심 애플리케이션 추적을 참조하세요.
참고
다운스트림 Lambda 함수에 대해 트레이스가 활성화된 경우, 다운스트림 함수가 트레이스를 생성하려면 다운스트림 함수를 직접 호출하는 루트 Lambda 함수에 대해서도 트레이스가 활성화되어 있어야 합니다.
Lambda 함수가 예정대로 실행되거나 구성되지 않은 서비스에서 호출되는 경우 활성 추적을 통해 호출을 샘플링하고 기록하도록 Lambda를 구성할 수 있습니다.
AWS Lambda 함수에서 X-Ray 통합을 구성하려면
-
AWS Lambda 콘솔
을 엽니다. -
왼쪽 메뉴에서 함수를 선택합니다.
-
함수를 선택합니다.
-
구성 탭에서 추가 모니터링 도구 카드까지 아래로 스크롤합니다. 왼쪽 탐색 창에서 모니터링 및 작업 도구를 선택하여 이 카드를 찾을 수도 있습니다.
-
[편집(Edit)]을 선택합니다.
-
AWSX-Ray에서 활성 추적을 활성화합니다.
해당 X-Ray SDK를 사용하는 런타임에서 Lambda는 X-Ray 대몬(daemon)도 실행합니다.
Lambda의 X-Ray SDK
-
Go용 X-Ray SDK — Go 1.7 및 최신 런타임
-
Java용 X-Ray SDK — 자바 8 런타임
-
Node.js X-Ray SDK — Node.js 4.3 및 최신 런타임
-
Python용 X-Ray SDK — Python 2.7, Python 3.6 및 최신 런타임
-
.NET용 X-Ray SDK — .NET Core 2.0 및 최신 런타임
Lambda에서 X-Ray SDK를 사용하려면 새 버전을 생성할 때마다 함수 코드와 함께 번들링합니다. 다른 서비스에서 실행되는 애플리케이션을 구성할 때와 동일한 메서드를 사용하여 Lambda 함수를 구성할 수 있습니다. 주된 차이점은 수신 요청을 구성하고 샘플링 결정을 내리며 세그먼트를 생성하는 데 SDK를 사용하지 않는다는 것입니다.
Lambda 함수 구성과 웹 애플리케이션 구성 간의 기타 차이점은 Lambda가 생성하여 X-Ray로 전송하는 세그먼트를 함수 코드를 통해 수정할 수 없다는 것입니다. 하위 세그먼트를 생성하고 하위 세그먼트에 대해 주석 및 메타데이터를 기록할 수 있지만 주석 및 메타데이터를 상위 세그먼트에 추가할 수 없습니다.
자세한 내용은 AWS Lambda 개발자 안내서의 AWS X-Ray 사용을 참조하십시오.