AWS 람다 모니터링
Instana UI에서 AWS Lambda 와 관련된 메트릭을 확인하려면, Instana AWS 에이전트를 설치하고 구성해야 합니다. 이 에이전트는 특화된 AWS 모드로 실행되는 Instana 호스트 에이전트입니다.
자세한 내용은 AWS agent를 참조하십시오.
Instana UI에서 Lambda 트레이스를 확인하려면, AWS Lambda 함수에 Instana Lambda 트레이서를 추가해야 합니다.
AWS Lambda 를 모니터링하려면 AWS 환경에 Instana AWS 에이전트를 설치하고, Instana Lambda 트레이서를 AWS Lambda 함수와 연동해야 합니다.
InstanaAWS 에이전트는 AWS 계정 및 리전당 한 번씩 설치되며, 해당 계정 및 리전 내의 모든 AWS Lambda 기능과 기타 AWS 서비스를 모니터링합니다. 자세한 내용은 ‘ Amazon Web Services ( AWS ) 에이전트를 사용한 Amazon Web Services ( AWS ) 모니터링’을 참조하십시오. 이 센서는 AWS Lambda 함수에 대한 인프라 메트릭을 수집합니다. 또한 해당 함수에서 트레이스를 수집하려면 AWS Lambda 함수에 Instana Lambda 트레이서를 추가해야 합니다. 람다 함수의 런타임 환경에 따라, 트레이서는 AWS Lambda 함수에 레이어로 설치되거나 수동으로 적용됩니다.
지원되는 런타임
AWS 대리인
Ambda 모니터링을 위한 AWS 에이전트는 런타임에 관계없이 모든 Lambda 기능에 대한 버전 세부사항 및 메트릭을 수집합니다.
AWS Lambda 네이티브 트레이싱
AWS 람다 모니터링 구성
Instana 를 사용하여 AWS Lambda 의 기능을 모니터링하려면 다음 단계를 수행하십시오
Lambda 모니터링을 위한 AWS 에이전트 구성
AWS 에이전트를 구성하려면 다음 단계를 완료하십시오.
자세한 내용은 ‘Lambda 모니터링을 위한 AWS 에이전트 구성’을 참조하십시오.
AWS Lambda 함수에 Instana Lambda 트레이서 설치하기
선택 사항: Instana Lambda 트레이서에 대한 추가 설정 구성
다음 표에 설명된 대로 기본 람다 추적에서 일반적으로 지원되는 선택적 환경 변수를 구성할 수 있습니다.
true 변수를 INSTANA_DISABLE_CA_CHECK 로 설정하지 마십시오. 이 변수를 활성화하면, 해당 연결에 대해 Lambda가 중간자 공격( MITM )에 취약해집니다.| 환경 변수 | 설명 |
|---|---|
INSTANA_TIMEOUT |
Instana 백엔드에 데이터를 전송하는 HTTP 요청에 대한 타임아웃을 설정합니다. |
INSTANA_ENDPOINT_PROXY |
이 변수를 또는 http://my-proxy.tld 로 설정하면 HTTP 또는 http://user:password@my-proxy.tldHTTPS 프록시를 통해 Instana 백엔드로 데이터 보고를 라우팅할 수 있습니다( Node.js 에서는 지원되지만, Python 에서는 지원되지 않음). |
INSTANA_EXTRA_HTTP_HEADERS |
이 변수를 세미콜론으로 구분된 ` HTTP ` 헤더 이름 목록(트리거 유형이 ` API ` 게이트웨이(Lambda 프록시 통합 포함) 또는 애플리케이션 로드 밸런서인 경우)으로 설정하여 ` HTTP ` 헤더를 캡처하십시오. |
INSTANA_SERVICE_NAME |
사용자 정의 서비스 이름을 정의하십시오. |
INSTANA_LOG_LEVEL |
Instana 패키지의 로그 수준을 설정합니다. 가능한 값은 debug, info, warn및 error (기본값: info) 입니다. |
INSTANA_DEBUG |
이 변수를 임의의 값으로 설정하여 로그 레벨을 debug로 설정하십시오. |
INSTANA_DISABLE_CA_CHECK |
이 변수를 로 설정하면, Lambda 런타임이 Instana 백엔드에 true 연결할 때 런타임에 포함된 인증 기관(CA) 목록을 기준으로 서버 인증서를 검증하는 기능을 비활성화할 수 있습니다. ( @instana/aws-lambda@1.93.0/계층 버전 25 이상에서 사용 가능) |
람다 함수의 구성, 메트릭, 버전 및 트리거 확인
Instana 을 통해 Lambda 함수에 대한 모든 정보를 확인할 수 있습니다.
Lambda 함수의 HTTP 속성, 트리거, 메트릭 및 버전 세부 정보를 확인하려면 다음 단계를 따르세요:
- Instana UI의 사이드바에서 ‘인프라’를 선택합니다.
- 모니터되는 특정 람다 함수를 클릭하십시오.
수집된 모든 메트릭 및 람다 버전이 포함된 호스트 대시보드를 볼 수 있습니다. 자세한 내용은 Lambda 구성, 메트릭, 버전 및 트리거를 참조하세요.
콜드 스타트 또는 타임아웃에 대한 알림 활성화
Lambda 함수의 과도한 콜드 스타트 또는 타임아웃에 대해 스마트 알림을 설정할 수 있습니다.
| 런타임 | 콜드 스타트 | 제한시간 | 주석 |
|---|---|---|---|
| Go | ✅ | ✅ | |
| Node.js | ✅ | ✅ | 시간 초과 감지는 기본적으로 비활성화되어 있습니다. 시간 초과 감지를 활성화하려면 추가 환경 변수를 참조하세요. |
| .NET 또는 .NET Core | ✅ | ❌ | |
| Java | ❌ | ❌ | |
| Python | ❌ | ❌ | |
| Ruby | ❌ | ❌ |
스마트 알림을 구성하려면, 알림을 설정하려는 Lambda 함수가 포함된 애플리케이션 관점 문서로 이동한 다음 스마트 알림을 추가하세요:
- Instana UI의 탐색 패널에서 ‘애플리케이션’을 클릭합니다.
- 애플리케이션을 선택하십시오.
- 스마트 경보 추가를 클릭하십시오.
- 고급 모드로 전환을 클릭하십시오.
- 범위 섹션의 서비스/엔드포인트 선택 필드에서 다음 필터 중 하나를 추가하십시오.
Cloud Function As A Service > Cold Start is trueCloud Function As A Service > Suspected Timeout is true
- 트리거 섹션의 선택된 블루프린트 필드에서 처리량을 선택하십시오.
- 임계값 섹션에서 유스 케이스에 맞는 임계값 을 선택하십시오. 특정 수의 콜드 스타트 또는 제한시간 초과 시 규칙이 위반되도록 모든 발생 또는 더 높은 값을 포함하려면 1을 사용하십시오.
- 시간 임계값 설정을 사용하여 경보 작동을 미세 조정하십시오.

Lambda 확장 기능 사용
NodeJS 레이어 버전 71부터는 Lambda 확장이 포함되어 있습니다.
이 확장 기능은 모니터링 대상 람다 함수의 데이터 전송 프로세스를 Instana 백엔드로 분리함으로써, 다른 람다 함수 프로세스와 구분하여 성능을 향상시킬 수 있습니다. 이러한 성능 개선 사항을 활용하려면, Instana 레이어를 해당 확장 기능이 포함된 버전으로 업그레이드하십시오.
내부적으로 이 확장 기능은 언어 라이브러리와 연동하여 모든 요청을 버퍼링하고 Instana 백엔드로 프록시합니다. 정상적인 조작 하에서, 확장은 람다 함수의 수명을 연장하지 않는다. 수명은 다음 인스턴스 중에만 연장됩니다.
- 백엔드에 대한 버퍼에 보유된 모든 데이터가 지워졌는지 확인하기 위한 종료 요청입니다.
- Ambda 함수가 실패하고 범위 전송을 중지하는 상황입니다. 다음 호출을 기다리기 전에 루트 범위가 전송되는지 여부를 확인하기 위해 3초동안 대기하십시오.
확장 기능 사용을 비활성화하려면 함수 환경 내에서 TRUE 변수를 INSTANA_DISABLE_LAMBDA_EXTENSION 로 설정하십시오.
Lambda 모니터링을 위한 성능 및 실행 시간 관련 고려 사항
유물의 크기
Instana 의 Lambda 모니터링을 추가하면 배포된 Lambda 함수의 크기가 커집니다. 추가 크기는 언어별 계층 또는 라이브러리에 따라 다릅니다. Instana 의 특정 Lambda 레이어 버전의 크기를 확인하려면 다음 셸 명령어를 사용하세요:
aws lambda get-layer-version --layer-name <layer_arn> --version-number <target_version> | jq .Content.Location | xargs -L 1 curl --output layer.zip
unzip -l layer.zip
성능 영향
Instana 를 사용하여 Lambda 함수를 모니터링할 때, 성능에 미치는 영향은 주로 Lambda 함수가 Instana 백엔드와 통신하는 데 소요되는 시간에 의해 결정됩니다. 각 실행이 끝날 때마다, Instana 에서 제공하는 라이브러리는 실행 결과를 보고하기 위해 Instana, AWS Lambda 확장 기능 또는 사용자의 Instana 테넌트 유닛 중 하나에 대해 차단 호출을 수행합니다.
람다 확장을 사용하는 함수의 경우 이 프로세스는 백그라운드에서 발생하며 모니터된 코드가 준비되는 즉시 모니터된 함수가 응답을 리턴할 수 있습니다.
람다 확장을 사용하지 않는 함수의 경우 이 프로세스는 데이터가 테넌트 단위로 전송되는 경우에만 실행 결과를 보고할 수 있습니다.