

# Serverless Framework를 사용하여 기존 Lambda 함수에서 Lambda Insights 활성화
<a name="Lambda-Insights-Getting-Started-serverless"></a>

다음 단계에 따라 서버리스 프레임워크를 사용하여 기존 Lambda 함수에서 Lambda Insights를 사용 설정할 수 있습니다. 서버리스 프레임워크에 대한 자세한 내용은 [serverless.com](https://www.serverless.com/)을 참조하세요.

이 작업은 서버리스용 Lambda Insights 플러그 인을 통해 수행됩니다. 자세한 내용은 [serverless-plugin-lambda-insights](https://www.npmjs.com/package/serverless-plugin-lambda-insights)를 참조하세요.

최신 버전의 서버리스 명령줄 인터페이스를 아직 설치하지 않은 경우 먼저, 설치하거나 업그레이드해야 합니다. 자세한 내용은 [서버리스 프레임워크 오픈 소스 및 AWS 시작하기](https://www.serverless.com/framework/docs/getting-started/)를 참조하세요.

**서버리스 프레임워크를 사용하여 Lambda 함수에서 Lambda Insights를 사용 설정하려면**

1. Serverless 디렉터리에서 다음 명령을 실행하여 Lambda Insights용 서버리스 플러그 인을 설치합니다.

   ```
   npm install --save-dev serverless-plugin-lambda-insights
   ```

1. `serverless.yml` 파일에서 다음과 같이 `plugins` 섹션에 플러그 인을 추가합니다.

   ```
   provider:
     name: aws
   plugins:
     - serverless-plugin-lambda-insights
   ```

1. Lambda Insights를 사용 설정합니다.
   + serverless.yml 파일에 다음 속성을 추가하여 함수마다 개별적으로 Lambda Insights를 사용 설정할 수 있습니다.

     ```
     functions:
       myLambdaFunction:
         handler: src/app/index.handler
         lambdaInsights: true #enables Lambda Insights for this function
     ```
   + `serverless.yml` 파일 내에서 다음과 같은 custom 섹션을 추가하여 모든 함수에 대해 Lambda Insights를 사용 설정할 수 있습니다.

     ```
     custom:
       lambdaInsights:
         defaultLambdaInsights: true #enables Lambda Insights for all functions
     ```

1. 다음 명령을 입력하여 서버리스 서비스를 다시 배포합니다.

   ```
   serverless deploy
   ```

   이렇게 하면 모든 함수가 다시 배포되고 지정한 해당 함수에 대해 Lambda Insights가 사용 설정됩니다. 즉, Lambda Insights 계층을 추가하고 `arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy` IAM 정책을 사용하는 필수 권한을 연결하여 Lambda Insights를 사용 설정합니다.