피드로 돌아가기
AWS Lambda in C# with Datadog Integration
Dev.toDev.to
Backend

AWS Lambda in C# with Datadog Integration

AWS Lambda 함수를 C#으로 작성할 때 Datadog Lambda Extension과 .NET Tracer를 통합하여 메트릭·트레이스·로그를 통합 수집

Srinivasulu Paranduru2026년 3월 24일6beginner

Context

C#으로 작성된 AWS Lambda 함수의 성능 모니터링과 로그 수집을 위해 Datadog과의 통합이 필요했다.

Technical Solution

  • Datadog Lambda Extension을 Lambda Layer로 추가: .NET 6 또는 .NET 8 런타임에 대한 ARN(arn:aws:lambda::AWS_Account_ID:layer:Datadog-Extension:latest) 지정
  • Datadog .NET Tracer NuGet 패키지(Datadog.Trace) 설치 및 코드에 manual instrumentation 적용: Tracer.Instance.StartActive()를 사용하여 span 생성 및 태그 설정
  • Lambda 함수 구성에 환경변수 설정: DD_API_KEY, DD_SITE, DD_LOGS_ENABLED, DD_TRACE_ENABLED, DD_ENV, DD_SERVICE, DD_VERSION 7개 변수
  • AWS 계정의 Datadog 통합 활성화: Lambda 및 CloudWatch Logs 권한 설정
  • CloudWatch Logs로부터 자동 수집 또는 Datadog Forwarder Lambda 사용으로 로그·메트릭 전달

Key Takeaway

C# AWS Lambda 함수를 Datadog과 통합할 때 Lambda Extension(확장 기능)과 .NET Tracer 패키지의 조합으로 별도 포워더 없이 APM 데이터를 직접 수집할 수 있으며, 환경변수를 통한 선언적 설정으로 운영 복잡도를 최소화할 수 있다.


C# 기반 서버리스 환경에서 분산 추적을 구현하려면 Datadog Lambda Extension을 Layer로 추가하고 Datadog.Trace NuGet 패키지의 Tracer.Instance.StartActive()를 Lambda 핸들러의 주요 실행 경로에 감싸면, APM 콘솔에서 자동으로 trace와 span을 볼 수 있다.

원문 읽기