네이티브 AOT 컴파일을 사용하여.NET Lambda 함수 구축 - AWS Serverless Application Model

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

네이티브 AOT 컴파일을 사용하여.NET Lambda 함수 구축

네이티브 어헤드 오브 타임 (AOT) 컴파일을 활용하여 콜드 스타트 시간을 AWS Serverless Application Model 개선하여 (AWS SAM) 를 사용하여.NET 8 AWS Lambda 함수를 빌드하고 패키징할 수 있습니다. AWS Lambda

.NET 8 네이티브 AOT 개요

전통적으로 .NET Lambda 함수의 콜드 스타트 시간은 사용자 경험, 시스템 지연 시간, 서버리스 애플리케이션 사용 비용에 영향을 미칩니다. .NET 네이티브 AOT 컴파일을 사용하면 Lambda 함수의 콜드 스타트 시간을 개선할 수 있습니다. .NET 8용 네이티브 AOT에 대해 자세히 알아보려면 Dotnet 리포지토리의 네이티브 AOT 사용을 참조하십시오. GitHub

.NET 8 람다 함수와 AWS SAM 함께 사용

다음을 수행하여 () 를 사용하여.NET 8 Lambda 함수를 구성하십시오. AWS Serverless Application Model AWS SAM

  • 귀하의 개발 기기에 사전 조건을 설치합니다.

  • 템플릿에서.NET 8 Lambda 함수를 정의합니다. AWS SAM

  • 를 사용하여 애플리케이션을 구축하십시오. AWS SAMCLI

사전 조건 설치

다음은 필수적 사전 조건입니다.

  • 더 AWS SAMCLI

  • .NET Core CLI

  • Amazon.Lambda.Tools .NET Core Global Tool

  • Docker

AWS SAM CLI 설치
  1. 이미 AWS SAMCLI가 설치되어 있는지 확인하려면 다음을 실행합니다.

    sam --version
  2. AWS SAMCLI설치하려면 을 참조하십시오AWS SAM CLI 설치.

  3. 의 설치된 버전을 AWS SAMCLI 업그레이드하려면 을 참조하십시오AWS SAMCLI업그레이드 .

.NET Core CLI 설치
  1. .NET Core CLI를 다운로드하고 설치하려면 Microsoft 웹 사이트에서 .NET 다운로드를 잠조하세요.

  2. .NET Core CLI에 대한 자세한 내용은 AWS Lambda 개발자 가이드.NET Core CLI를 잠조하세요.

Amazon.Lambda.Tools .NET Core Global Tool 설치
  1. 다음 명령을 실행합니다:

    dotnet tool install -g Amazon.Lambda.Tools
  2. 이 도구가 이미 설치되어 있으면 다음 명령을 사용하여 최신 버전인지 확인할 수 있습니다.

    dotnet tool update -g Amazon.Lambda.Tools
  3. Amazon.Lambda.Tools .NET 코어 글로벌 도구에 대한 자세한 내용은 의 .NET CLI용 확장 리포지토리를 참조하십시오.AWS GitHub

Docker 설치

템플릿에서.NET 8 Lambda 함수를 정의하십시오. AWS SAM

템플릿에서.NET8 Lambda 함수를 정의하려면 다음과 같이 하십시오. AWS SAM

  1. 선택한 시작 디렉터리에서 다음 명령을 실행합니다.

    sam init
  2. 시작 템플릿을 AWS Quick Start Templates 선택하여 선택합니다.

  3. Hello World Example 템플릿을 선택합니다.

  4. 를 입력하여 가장 많이 사용되는 런타임 및 패키지 유형을 사용하지 않도록 선택하십시오n.

  5. 런타임의 경우 선택하십시오dotnet8.

  6. 패키지 유형으로는 선택합니다Zip.

  7. 스타터 템플릿으로 선택하세요Hello World Example using native AOT.

Docker 설치
Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src/HelloWorldAot/ Handler: bootstrap Runtime: dotnet8 Architectures: - x86_64 Events: HelloWorldAot: Type: Api Properties: Path: /hello Method: get

AWS SAMCLI를 사용한 애플리케이션 구축

프로젝트의 루트 디렉터리에서 sam build을 실행하여 애플리케이션 구축을 시작합니다. .NET 8 프로젝트 파일에 PublishAot 속성이 정의된 경우 네이티브 AOT 컴파일을 사용하여 AWS SAMCLI 빌드됩니다. PublishAot속성에 대한 자세한 내용은 Microsoft의 .NET 설명서에서 네이티브 AOT 배포를 잠조하세요.

함수를 구축하려면 AWS SAMCLI가 Amazon.Lambda.Tools .NET Core Global Tool을 사용하는 .NET Core CLI를 간접 호출합니다.

참고

구축 시 .sln 파일이 프로젝트의 동일 또는 상위 디렉터리에 있는 경우 .sln 파일이 들어있는 디렉터리가 컨테이너에 마운트됩니다. .sln 파일을 찾을 수 없는 경우 프로젝트 폴더만 마운트됩니다. 따라서 다중 프로젝트 응용 프로그램을 구축하는 경우 .sln 파일이 속성에 있는지 확인하십시오.

자세히 알아보기

.NET 8 Lambda 함수 빌드에 대한 자세한 내용은 의 .NET 8 런타임 소개를 참조하십시오. AWS Lambda

sam build 명령에 대한 참조는 sam build를 확인하세요.