

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS AppConfig 에이전트 Lambda 확장 추가
<a name="appconfig-integration-lambda-extensions-add"></a>

 AWS AppConfig 에이전트 Lambda 확장을 사용하려면 Lambda에 확장을 추가해야 합니다. 이 작업은 Lambda 함수에 AWS AppConfig 에이전트 Lambda 확장을 계층으로 추가하거나 Lambda 함수에서 확장을 컨테이너 이미지로 활성화하여 수행할 수 있습니다.

**참고**  
 AWS AppConfig 확장은 런타임에 구애받지 않으며 모든 런타임을 지원합니다.

**시작하기 전 준비 사항**  
 AWS AppConfig 에이전트 Lambda 확장을 활성화하기 전에 다음을 수행합니다.
+ Lambda 함수에서 구성을 조직하여 AWS AppConfig로 외부화할 수 있습니다.
+ 기능 플래그 또는 자유 형식 구성 데이터를 포함한 AWS AppConfig 아티팩트 및 구성 데이터를 생성합니다. 자세한 내용은 [에서 기능 플래그 및 자유 형식 구성 데이터 생성 AWS AppConfig](creating-feature-flags-and-configuration-data.md) 단원을 참조하십시오.
+ Lambda 함수 실행 역할`appconfig:GetLatestConfiguration`에서 사용하는 AWS Identity and Access Management (IAM) 정책에 `appconfig:StartConfigurationSession` 및를 추가합니다. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [AWS Lambda 실행 역할](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html)을 참조하십시오. AWS AppConfig 권한에 대한 자세한 내용은 *서비스 권한 부여 참조*에서 AWS AppConfig에 대한 [액션, 리소스 및 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsappconfig.html)를 참조하십시오.

## 계층 및 ARN을 사용하여 AWS AppConfig 에이전트 Lambda 확장 추가
<a name="appconfig-integration-lambda-extensions-enabling"></a>

 AWS AppConfig 에이전트 Lambda 확장을 사용하려면 Lambda 함수에 확장을 계층으로 추가합니다. 함수에 계층을 추가하는 방법에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*의 [확장 구성](https://docs.aws.amazon.com/lambda/latest/dg/using-extensions.html#using-extensions-config)을 참조하십시오. AWS Lambda 콘솔의 확장 이름은 **AWS-AppConfig-Extension**입니다. 또한 Lambda에 확장을 계층으로 추가하는 경우 Amazon 리소스 이름(ARN)을 지정해야 합니다. 플랫폼 및 Lambda를 생성한 AWS 리전 위치에 해당하는 다음 목록 중 하나에서 ARN을 선택합니다.
+ [x86-64 플랫폼](appconfig-integration-lambda-extensions-versions.md#appconfig-integration-lambda-extensions-enabling-x86-64)
+ [ARM64 플랫폼](appconfig-integration-lambda-extensions-versions.md#appconfig-integration-lambda-extensions-enabling-ARM64)

함수에 추가하기 전에 확장을 테스트하려는 경우 다음 코드 예제를 사용하여 확장이 작동하는지 확인할 수 있습니다.

```
import urllib.request
                

def lambda_handler(event, context):
    url = f'http://localhost:2772/applications/application_name/environments/environment_name/configurations/configuration_name'
    config = urllib.request.urlopen(url).read()
    return config
```

테스트하려면 Python용 Lambda 함수를 새로 생성하고 확장을 추가한 다음 Lambda 함수를 실행하십시오. Lambda 함수를 실행한 후 AWS AppConfig Lambda 함수는 http://localhost:2772 경로에 대해 지정한 구성을 반환합니다. Lambda 함수 생성에 관한 정보는 *AWS Lambda 개발자 안내서*의 [콘솔로 Lambda 함수 생성](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html)을 참조하십시오.

**중요**  
로그에서 AWS AppConfig 에이전트 Lambda 확장에 대한 AWS Lambda 로그 데이터를 볼 수 있습니다. 로그 항목 앞에는 `appconfig agent`라는 접두사가 붙습니다. 다음은 그 예입니다.  

```
[appconfig agent] 2024/05/07 04:19:01 ERROR retrieve failure for 'SourceEventConfig:SourceEventConfigEnvironment:SourceEventConfigProfile': StartConfigurationSession: api error AccessDenied: User: arn:aws:sts::0123456789:assumed-role/us-east-1-LambdaRole/extension1 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::0123456789:role/test1 (retry in 60s)
```