

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

다음 단계에 따라 AWS SAM AWS CLI를 사용하여 기존 Lambda 함수에서 Lambda Insights를 사용 설정할 수 있습니다.

최신 버전의 AWS SAM CLI를 아직 설치하지 않은 경우 먼저, 설치하거나 업그레이드해야 합니다. 자세한 내용은 [AWS SAM CLI 설치](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) 단원을 참조하세요.

**1단계: 계층 설치**

Lambda Insights 익스텐션을 모든 Lambda 함수에서 사용할 수 있도록 하려면 Lambda Insights 계층의 ARN을 사용하여 SAM 템플릿의 `Globals` 섹션에 `Layers` 속성을 추가합니다. 아래 예에서는 초기 Lambda Insights 릴리스의 계층을 사용합니다. 최신 릴리스 버전의 Lambda Insights 익스텐션 계층은 [사용 가능한 Lambda Insights 익스텐션 버전](Lambda-Insights-extension-versions.md) 단원을 참조하세요.

```
Globals:
  Function:
    Layers:
      - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

단일 함수에 대해서만 이 계층을 사용하려면 이 예와 같이 함수에 `Layers` 속성을 추가합니다.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

**2단계: 관리형 정책 추가**

각 함수에 대해 [**CloudWatchLambdaInsightsExecutionRolePolicy**] IAM 정책을 추가합니다.

AWS SAM은 글로벌 정책을 지원하지 않으므로 이 예와 같이 각 함수에서 개별적으로 정책을 사용 설정해야 합니다. 글로벌에 대한 자세한 내용은 [Globals 섹션](https://github.com/aws/serverless-application-model/blob/master/docs/globals.rst)을 참조하세요.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Policies:
        - CloudWatchLambdaInsightsExecutionRolePolicy
```

**로컬에서 호출**

AWS SAM CLI는 Lambda 익스텐션을 지원합니다. 그러나 로컬에서 실행되는 모든 호출은 런타임 환경을 재설정합니다. 런타임이 종료 이벤트 없이 다시 시작되기 때문에 로컬 호출에서 Lambda Insights 데이터를 사용할 수 없습니다. 자세한 내용은 [릴리스 1.6.0 - AWS Lambda 익스텐션의 로컬 테스트를 위한 지원 추가](https://github.com/aws/aws-sam-cli/releases/tag/v1.6.0)를 참조하세요.

**문제 해결**

Lambda Insights 설치 문제를 해결하려면 Lambda 함수에 다음 환경 변수를 추가하여 디버그 로깅을 사용 설정합니다.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          LAMBDA_INSIGHTS_LOG_LEVEL: info
```