AWS Lambda에서의 .NET 워크로드

모듈 2

모듈 2: .NET 개발을 위한 도구

 학습 모듈

AWS는 .NET용 Lambda 함수를 개발하는 데 도움이 되는 여러 도구를 제공합니다. 모두 무료로 이용 가능하며 원하는 IDE나 선택한 명령줄에 직접 설치할 수 있습니다. 컴퓨터에 이미 AWS 계정을 설정한 경우에는 도구를 구성할 필요가 없습니다.

AWS Lambda용.NET 도구는 Visual Studio(Windows 전용), Visual Studio Code 및 Rider에 제공됩니다. 명령줄 도구는 Windows, Linux, Mac에 사용할 수 있습니다. 지원 수준은 IDE와 운영 체제에 따라 다릅니다. 이 모듈에서는 사용 가능한 도구에 대한 요약 및 관련 다운로드 링크가 제공됩니다.

 소요 시간

60분 

AWS Toolkit for Visual Studio

2022년 5월 현재 AWS Toolkit for Visual Studio는 Windows에서만 사용할 수 있습니다. 설치하면 도구 키트가 AWS 계정에 액세스하도록 구성하는 데 도움을 줄 것입니다.

친숙한 사용자 인터페이스를 통해 Visual Studio 내의 그래픽 인터페이스를 사용하여 Lambda 함수를 개발, 디버그, 배포, 업데이트 및 테스트할 수 있습니다. 이 도구 키트는 Visual Studio 2022, 2019 및 2017에서 다운로드할 수 있습니다.

설치

Visual Studio에서 확장 프로그램 메뉴로 이동하여 확장 관리를 선택합니다. 오른쪽의 검색창에 'AWS Toolkit'을 입력합니다. 검색 결과 창에서 ‘AWS Toolkit for Visual Studio’ 확장 프로그램을 선택하고 다운로드를 클릭합니다. 지시에 따라 확장 프로그램을 설치합니다. Visual Studio를 다시 시작해야 할 수도 있습니다.

원하는 경우, AWS Toolkit을 직접 다운로드할 수 있습니다. AWS Toolkit for Visual Studio 문서를 참조하세요.

개요 및 주요 기능

Lambda 서비스와 관련하여 이 도구 키트는 Lambda 함수의 프로젝트 템플릿과 Lambda 함수의 배포, 관리 및 테스트/호출을 지원하는 도구, 이렇게 두 가지 주요 기능 세트를 제공합니다. 이와 함께 이 도구 키트를 사용하면 다른 AWS 리소스를 관리하고 다른 유형의 AWS 인프라(예: AWS Fargate, AWS App Runner 및 AWS Elastic Beanstalk)에 애플리케이션을 배포할 수 있습니다(이 과정에서는 다루지 않음).

이 도구 키트는 다양한 Lambda 함수를 생성하는 데 도움이 되는 여러 가지 Lambda 프로젝트 템플릿을 추가합니다.

가장 단순한 템플릿은 문자열을 가져와 해당 문자열의 대문자 버전을 반환합니다. 이 제품은 단순성, 배포 용이성 및 테스트 용이성 면에서 처음 시작할 때 사용하기에 좋습니다. 단 몇 분 만에 AWS에서.NET Lambda 함수를 실행하고, 요청을 보내고, 응답을 받을 수 있습니다.

좀 더 복잡한 템플릿은 전체 .NET 6 웹 애플리케이션(웹 페이지 및 API 컨트롤러 포함)을 제공합니다. 이 기능을 배포하면 웹에서 액세스할 수 있도록 하는 데 필요한 인프라도 배포 및 구성됩니다.

원하는 경우, 컨테이너 프로젝트 템플릿을 사용할 수 있습니다. 참고: 이러한 작업을 수행하려면 컴퓨터에 Docker가 설치되어 있어야 합니다. Lambda 함수와 함께 컨테이너 이미지를 사용하도록 선택하는 이유는 모듈 4의 '적절한 런타임 선택' 섹션을 참조하세요.

Lambda 함수의 유닛 테스트는 다른 코드를 테스트하는 것만큼이나 중요합니다. 대부분 프로젝트 템플릿에는 xUnit을 사용하여 소스 코드 프로젝트의 코드를 테스트하는 테스트 프로젝트가 포함되어 있습니다. 이를 통해 유닛 테스트를 쉽게 시작할 수 있습니다.

위의 글에서 알 수 있듯이, Visual Studio에서 함수를 AWS Lambda 서비스에 게시할 수도 있습니다. 게시 기능은 패키지 구축, Lambda 서비스에 업로드, 권한 적용, API Gateway 엔드포인트 생성, 코드를 실행하고 호출하기 위한 기타 필수적인 단계를 처리합니다. 사용자는 코드를 작성하기만 하면 됩니다.

이 도구 키트에는 AWS 탐색기 기능도 있습니다. 이 기능을 사용하면 DynamoDB, S3, SNS, SQS 대기열, EC2, Lambda 함수 등까지 많은 AWS 리소스를 확인하고 관리할 수 있습니다.

AWS 탐색기를 열려면 보기 메뉴로 이동하여 AWS 탐색기를 선택합니다.

AWS 탐색기는 Lambda 함수와 관련하여 다음과 같은 기능을 제공합니다.

  • 리전을 선택합니다.
  • Lambda 함수를 확인하고 관리합니다.
  • AWS에서 Lambda 함수를 호출하여 필요한 파라미터를 전달하고 응답을 확인합니다. 이 도구는 다양한 다른 AWS 서비스에서 보내는 호출을 시뮬레이션하기 위한 샘플 입력을 제공합니다. 이는 다른 서비스(예: S3에 생성 중인 파일)의 이벤트에서 트리거되는 Lambda 함수를 구축할 때 매우 유용합니다.
  • Lambda 함수의 로컬 실행 버전을 디버그합니다.
  • Lambda 함수를 트리거할 수 있는 서비스를 구성합니다.
  • Lambda 함수로 생성된 로그를 확인합니다.

도구 키트에서 Lambda 함수를 호출하려면 AWS 탐색기를 열고 Lambda 섹션을 펼친 다음, 실행하려는 Lambda 함수를 마우스 오른쪽 버튼으로 클릭하고 함수 보기를 선택합니다.

여기에서 드롭다운 목록에서 요청 예시를 선택할 수 있습니다. 이 샘플을 사용하면 API Gateway, S3, SNS 등과 같은 다른 AWS 서비스의 호출을 시뮬레이션할 수 있습니다. 이를 통해 다른 서비스의 이벤트에서 호출되는 Lambda 함수를 직접 손쉽게 테스트할 수 있습니다.

또는, 직접 요청을 보낼 수도 있습니다.

위의 기능을 포함해 모든 Lambda 관련 명령줄 도구를 터미널을 통해 사용할 수 있습니다.

AWS를 처음 사용하는 경우, Visual Studio용 도구 키트로 시작하는 것이 가장 좋습니다. Visual Studio용 도구 키트는 사용 가능한 모든 도구 키트 중에서 가장 많은 기능을 갖추고 있으며, 디버깅 및 배포를 가장 쉽게 실행할 수 있습니다. 또한 무료로 제공되는 Visual Studio Community Edition과도 호환됩니다. AWS를 처음 사용하는 개발자에게 AWS 프리 티어와 함께 사용하기에 훌륭한 조합입니다.

AWS Toolkit for Visual Studio Code

AWS Toolkit for Visual Studio Code(VS Code)는 VS Code가 실행되는 모든 운영 체제 (Windows, Linux 및 Mac)에서 사용할 수 있습니다. 이 도구 키트는 세 가지 운영 체제에서 모두 일관된 경험을 제공합니다.

AWS Toolkit for Visual Studio만큼 기능이 완벽하지는 않지만 AWS Toolkit for Visual Studio Code를 사용하면 AWS에서 리소스를 탐색하고 상호 작용할 수 있습니다.

S3 버킷을 탐색하고(그리고 파일도 편집하고!), API Gateway 엔드포인트를 호출하고, Amazon Elastic Container Registry(ECR)에서 배포하고, AWS에서 Lambda 함수를 호출하고, 로컬에서 디버그할 수 있습니다(dotnet 도구 필요, 아래 참조). 전체 기능 목록은 AWS Toolkit for Visual Studio Code 설명서를 참조하세요.

또한, 사용 가능한 모든 AWS 명령줄 도구를 VS Code와 함께 사용할 수 있습니다. VS Code에서는 명령줄 도구를 사용해서 AWS와 상호 작용할 가능성이 가장 큽니다. 명령줄 도구를 사용하면 모든 AWS 서비스를 유연하게 관리할 수 있습니다.

설치

기본 사이드 바에서 확장 프로그램 아이콘을 클릭합니다. 열린 검색창에서 'aws toolkit'을 입력하면 목록 상단 또는 그 근처에 AWS 도구 키트가 표시됩니다. 설치를 클릭합니다. VS Code를 다시 시작해야 할 수 있습니다.

개요 및 주요 기능

AWS Toolkit for VS Code는 VS Cod 확장 마켓플레이스를 사용하거나 Visual Studio 마켓플레이스의 AWS Toolkit 페이지에서 직접 다운로드하여 추가할 수 있습니다.

컴퓨터에 이미 AWS 계정을 구성한 경우, 도구 키트는 해당 계정을 사용하여 AWS에 자동으로 연결됩니다.

VS Code 창의 기본 사이드 바에 AWS 아이콘이 표시됩니다. 여기에서 도구 키트로 액세스할 수 있는 모든 서비스를 볼 수 있습니다.

이 도구 키트에는 Visual Studio Toolkit과 같은 Lambda 프로젝트 템플릿이 포함되어 있지 않습니다. 대신 명령줄에서 'dotnet new...' 명령을 사용하여 새로운 Lambda 함수를 생성합니다. 다양한 템플릿 목록을 사용할 수 있습니다. 이러한 템플릿을 사용하면 AWS Lambda 함수를 매우 빠르게 시작할 수 있습니다. dotnet CLI 템플릿 설치 지침은 다음과 같습니다.

AWS 탐색기는 Lambda 함수와 관련하여 다음과 같은 기능을 제공합니다.

  • AWS에서 Lambda 함수를 호출하여 필요한 파라미터를 전달하고 응답을 확인합니다. 이 도구는 Lambda를 트리거하는 다양한 다른 AWS 서비스에서 보내는 호출을 시뮬레이션하기 위한 샘플 입력을 제공합니다.
  • AWS .NET Mock Lambda Test Tool을 사용하여 Lambda 함수를 로컬에서 디버그할 수 있습니다.
  • 구축된 .NET Lambda 함수의 압축(zip) 아카이브를 업로드합니다.
  • Lambda 함수에 생성된 로그를 볼 수 있습니다(CloudWatch Logs 사용).

도구 키트에서 Lambda 함수를 호출하려면 AWS 탐색기를 열고 Lambda 섹션을 펼친 다음, 실행하려는 Lambda 함수를 마우스 오른쪽 버튼으로 클릭하고 AWS에서 호출을 선택합니다.

그러면 함수를 호출할 요청 페이로드를 선택할 수 있는 새 창이 열립니다.

또는, 요청 페이로드를 직접 작성할 수도 있습니다. VS Code 출력 탭에는 응답 페이로드가 표시됩니다.

위의 기능과 더불어 모든 Lambda 관련 명령줄 도구를 터미널을 통해 VS Code와 함께 사용할 수 있습니다. 특히, dotnet lambda 명령은 VS Code에서 Lambda 함수를 사용할 때 특히 유용합니다. 설치에 대한 자세한 정보와 지침은 아래의 ‘.AWS Extensions for .NET CLI(dotnet lambda...)’ 섹션에 나와 있습니다.

AWS Toolkit for Rider

AWS Toolkit for Rider는 AWS 리소스를 구축, 확인 및 관리하는 데 도움이 되는 Rider용 플러그인입니다. AWS Toolkit for VS Code와 기능이 비슷하지만, Lambda 함수 개발을 빠르게 시작하는 데 도움이 되는 다양한 .NET용 프로젝트 템플릿이 포함되어 있습니다.

설치

AWS Toolkit for Rider를 설치하려면 파일 메뉴를 연 다음, 설정 및 플러그인을 엽니다. AWS Toolkit을 검색하고 설치합니다.

컴퓨터에 이미 AWS 계정을 구성한 경우, 도구 키트가 AWS 계정에 자동으로 연결됩니다.

도구 키트가 설치되고 나면 다양하고 새로운 AWS Lambda 함수 템플릿을 사용할 수 있습니다.

개요 및 주요 기능

AWS 탐색기를 열려면 보기 메뉴로 이동한 다음, 도구 창으로 이동하여 AWS 탐색기를 선택합니다.

AWS 탐색기에서 Lambda 함수와 관련하여 다음과 같은 기능을 사용할 수 있습니다.

  • AWS에서 Lambda 함수를 호출하여 필요한 파라미터를 전달하고 응답을 확인합니다. 이 도구는 Lambda를 트리거하는 다양한 다른 AWS 서비스에서 보내는 호출을 시뮬레이션하기 위한 샘플 입력을 제공합니다.
  • AWS .NET Mock Lambda Test Tool을 사용하여 Lambda 함수를 로컬에서 디버그할 수 있습니다.
  • 구축된 .NET Lambda 함수의 압축(zip) 아카이브를 업로드합니다.
  • Lambda 함수에 생성된 로그를 볼 수 있습니다(CloudWatch Logs 사용).

Lambda 함수를 호출하려면 먼저 AWS 탐색기를 엽니다. 이 작업을 수행하려면 보기 메뉴로 이동한 다음, 도구 창으로 이동하여 AWS 탐색기를 선택합니다.

AWS 탐색기에서 Lambda 섹션을 확장하고, 호출하려는 Lambda를 마우스 오른쪽 버튼으로 클릭합니다. '[원격] …' 실행을 클릭합니다.

그러면 요청을 호출할 템플릿을 선택하는 새 창이 열립니다.

또는, 직접 요청을 입력할 수도 있습니다.

실행을 클릭합니다. 그러면 출력이 표시됩니다.

위의 기능과 더불어 모든 Lambda 관련 명령줄 도구를 터미널을 통해 Rider와 함께 사용할 수 있습니다.

명령줄 도구

사용 가능한 모든 명령줄 도구는 Windows, Linux 및 Mac의 모든 쉘/터미널/명령 프롬프트에서 작동합니다.

하지만 세 가지 운영 체제 모두에서 일관된 경험을 보장하려면 PowerShell Core를 사용하는 것이 좋습니다. 터미널마다 JSON 인코딩이 다르기 때문에 모든 곳에서 작동하는 예시를 제공하기가 어려운 경우, PowerShell Core를 사용하면 문제가 해결됩니다. 따라서 이 교육 과정의 모든 예시는 PowerShell Core를 사용하여 테스트되었습니다.

AWS 명령줄 인터페이스(CLI)

AWS 명령줄 인터페이스(CLI)는 명령줄에서 모든 AWS 리소스를 관리할 수 있는 오픈 소스 도구입니다. 이러한 작업은 수동으로 실행하거나, 선택한 스크립팅 언어를 사용하여 자동화된 방식으로 실행할 수 있습니다. 이 도구는 Windows, Linux 및 Mac에서 사용할 수 있습니다.

대부분의 경우, AWS의 최신 기능을 모두 지원하는 AWS CLI 버전 2를 설치해야 합니다. AWS CLI 버전 1을 사용해야 하는 특별한 이유가 없다면 버전 2를 사용해 주시기 바랍니다.

AWS 서비스에 새 기능이 추가되면 이러한 기능을 관리할 수 있도록 AWS CLI 도구가 업데이트됩니다. AWS CLI 도구는 자주 업데이트되므로 최신 버전이 나왔는지 확인해야 합니다.

설치

AWS CLI는 Windows, Linux 및 Mac에서 사용할 수 있습니다. 설치 방법은 운영 체제에 따라 다릅니다. 자세한 지침은 AWS 페이지 - AWS CLI 최신 버전 설치 또는 업데이트에서 확인할 수 있습니다. AWS에서는 패키지 관리 소프트웨어를 사용하여 AWS CLI를 설치하지 않을 것을 권장합니다. 대신 위에 제공된 링크를 사용하세요.

최신 기능을 사용하려면 수시로 AWS CLI를 업데이트해야 한다는 점을 기억하세요.

사용 중인 AWS CLI의 버전을 확인하려면 다음 명령을 실행합니다.

aws --version

다음과 같은 응답이 표시됩니다.

aws-cli/2.5.4 Python/3.9.11 Windows/10 exe/AMD64 prompt/off

이를 통해 AWS CLI의 버전 2.5.4가 설치되어 있음을 알 수 있습니다.

AWS CLI 최신 버전을 확인하려면 https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst으로 이동하세요. 아래의 'CHANGELOG'는 가장 최근 릴리스의 버전을 나타냅니다. 이 글을 쓰는 시점에서 제 AWS CLI는 2.7.2이므로 업데이트가 필요한 상태입니다!

개요 및 주요 기능

AWS CLI를 사용하면 모든 AWS 리소스를 관리할 수 있습니다. AWS CLI에는 원하는 리소스를 찾는 데 도움이 되는 강력한 쿼리 및 필터링 기능이 포함되어 있습니다. 예상하셨다시피, AWS CLI를 사용하면 Lambda 함수를 나열하고, 보고, 관리하고, 호출할 수 있습니다.

예시가 포함된 전체 문서는 AWS CLI 명령 참조를 참조하세요.

AWS Lambda for .NET Core - 템플릿

AWS CLI를 사용하면 모든 AWS 리소스를 관리할 수 있습니다. AWS CLI에는 원하는 리소스를 찾는 데 도움이 되는 강력한 쿼리 및 필터링 기능이 포함되어 있습니다. 예상하셨다시피, AWS CLI를 사용하면 Lambda 함수를 나열하고, 보고, 관리하고, 호출할 수 있습니다.

예시가 포함된 전체 문서는 AWS CLI 명령 참조를 참조하세요.

AWS Lambda for .NET Core - 템플릿

Visual Studio와 Rider를 사용할 때 AWS Toolkit는 AWS Lambda 함수를 시작하는 데 도움이 되는 다양한 C#(및 F#) 프로젝트 템플릿을 제공합니다.

템플릿은 가장 간단한 수준부터 준비되어 있습니다. 이 템플릿에서 Lambda 함수는 문자열을 받아 대문자로 변환하고 문자열을 반환합니다. 템플릿 자체도 매우 간단하지만, 몇 분 만에 코드를 작성하고 AWS Lambda를 배포하는 것이 얼마나 쉬운지 직접 경험해 볼 수 있는 좋은 기회입니다.

더 복잡한 템플릿도 제공됩니다. 이러한 템플릿은 전체.NET 웹 애플리케이션 또는 API 애플리케이션을 설정하고 역할, 권한, 버킷, API Gateway 등 모든 필수적인 인프라를 구축합니다.

대부분 프로젝트 템플릿은 src 및 test 디렉터리와 함께 제공되므로 애플리케이션이 확장되면 따라서 확장할 수 있는 유닛 테스트 기능을 즉시 제공합니다. 테스트 프로젝트는 Lambda 함수의 작동 방식을 학습하는 데 도움이 되며 코드를 통해 쉽게 디버깅하는 방법을 제공합니다.

설치

템플릿을 설치하려면 다음 명령을 실행합니다.

dotnet new -i "Amazon.Lambda.Templates::*"

개요 및 주요 기능

설치가 완료되면 dotnet new 명령을 사용하여 새 Lambda 함수 프로젝트를 생성합니다.

사용 가능한 프로젝트 템플릿 목록을 보려면 다음 명령어를 실행합니다.

dotnet new lambda --list

다음과 같은 출력이 표시됩니다(사용 가능한 템플릿은 주기적으로 변경됨).

템플릿의 약식 이름이 어떤 것은 'serverless.'로 시작하고 어떤 것은 'lambda.'로 시작하는 걸 눈치 채셨을 겁니다.

'serverless.'로 시작하는 템플릿은 AWS 서버리스 애플리케이션 모델(SAM)을 사용하여 Lambda 함수를 배포하고 Lambda 함수에서 사용할 필수 인프라를 구축합니다. AWS SAM은 AWS에서 서버리스 애플리케이션을 구축할 수 있는 오픈 소스 프레임워크입니다. AWS SAM을 사용하면 Lambda 함수를 정의할 수 있을 뿐만 아니라 API Gateway, 데이터베이스, 이벤트 소스 등의 다른 리소스를 정의할 수 있습니다.

projectname/src/projectname 디렉터리로 이동하면 serverless.template이라는 파일이 보입니다. 이 파일은 필수 인프라를 정의하고 Lambda 함수에 연결하는 방법을 정의합니다. 위에 나와 있는 모든 'serverless.' 템플릿에서 API Gateway는 HTTP 요청을 Lambda 함수로 라우팅하는 데 사용됩니다.

'lambda.'로 시작하는 템플릿은 서버리스 애플리케이션 모델을 사용하지 않으며 다른 인프라를 설정하지 않습니다. 다른 인프라가 필요한 경우 직접 설정해야 합니다. 예를 들어, Lambda.Kinesis 프로젝트 템플릿은 수신되는 Kinesis 이벤트를 처리하는 방법을 보여 주지만 사용자를 위해 Kinesis 스트림을 생성하거나 Kinesis가 Lambda 함수를 트리거하는 데 필요한 관련 권한을 추가하지는 않습니다.

lambda.EmptyFunction 템플릿을 기반으로 새 프로젝트를 생성하려면 다음을 실행합니다.

dotnet new lambda.EmptyFunction

이 도구는 오픈 소스이며 다음 GitHub에서 확인할 수 있습니다.

https://github.com/aws/aws-lambda-dotnet#dotnet-cli-templates.

다른 명령줄 도구와 마찬가지로 관련 GitHub 페이지에서 새 버전이 출시되는 시기를 확인해야 합니다.

AWS Extensions for .NET CLI(dotnet lambda ...)

AWS CLI 도구를 사용하면 모든 AWS 리소스를 관리할 수 있지만, AWS Extensions for .NET CLI는 특히 Lambda 함수에 중점을 두고 있으며 .NET 도구(즉, dotnet lambda)로 호출됩니다.

설치

AWS Extensions for .NET CLI를 설치하려면 다음을 실행합니다.

dotnet tool install -g Amazon.Lambda.Tools

올바르게 설치되었는지 확인하려면 다음을 실행합니다.

dotnet lambda

그러면 사용할 수 있는 명령 요약과 버전 번호가 출력됩니다.

개요 및 주요 기능

이 도구는 모든 쉘에서 작동하며 Visual Studio Code 및 Rider 내의 터미널에서 사용할 때 특히 유용합니다. 이를 통해 일반적인 Lambda 함수 관련 작업을 수행할 수 있습니다.

예를 들어, 모든 Lambda 함수를 나열하려면 다음을 사용합니다.

dotnet lambda list-functions

또는 Lambda 함수를 호출하려면 다음을 실행합니다.

dotnet lambda invoke-function functionName 

Lambda 함수를 배포할 수도 있습니다. dotnet Lambda 템플릿(위의 내용 참조)으로 Lambda 함수를 생성한 후 다음을 사용하여 함수를 AWS에 배포할 수 있습니다.

dotnet lambda deploy-function

이렇게 하면 구축 및 안내형 배포 프로세스가 시작됩니다. 도구에서 Lambda 함수 이름, 함수에 할당할 역할(또는 새 역할 생성)이 무엇인지 물을 것입니다. 새 역할을 만든 경우, 새 역할에 대한 권한 정책을 선택하라는 메시지가 표시됩니다. 그런 다음 AWS에 함수가 배포되고 몇 초 내로 함수를 호출할 수 있게 됩니다!

사용 가능한 모든 명령줄 옵션을 보려면 다음을 사용하세요.

dotnet lambda deploy-function --help

각 명령에 많은 기능이 딸려 있을 수 있으므로 각 명령줄에서 여러 옵션을 지원한다는 점을 이해하는 것이 중요합니다. 예를 들어, update-function-config에서는 Lambda 함수 URL을 활성화하고 구성할 수 있습니다. 이 기능은 deploy-function 명령에서 사용할 수 없습니다. Lambda 서비스의 최신 릴리스 설명서와 기능을 최신 상태로 유지하는 것이 중요합니다. 최신 기능을 이해하고 활용하는 데 도움이 되기 때문입니다.

이 도구는 코드를 개발하고 AWS에 대해 배우기 시작할 때 Lambda 함수를 관리하는 데 매우 편리하고 효과적이지만, 애플리케이션이 어느 정도 성숙해지고 나면 강력한 CI/CD 프로세스를 사용하여 애플리케이션에 배포하는 것이 좋습니다. AWS는 모든 주요 CI/CD 도구를 지원합니다.

AWS Tools for PowerShell

AWS Tools for PowerShell은 PowerShell 모듈 세트를 통해 AWS SDK for .NET을 제공합니다. 이는 PowerShell 스크립팅에 익숙한 사용자에게 배포 및 유지 관리 스크립트를 작성할 수 있는 강력한 도구가 될 수 있습니다.

AWS Tools for PowerShell은 Windows, Mac, Linux에 설치할 수 있으며, 세 플랫폼 모두에서 동일한 기능 세트를 제공합니다.

이 도구는 단일 모듈로 제공되거나 필요에 따라 필요한 모듈을 다운로드할 수 있는 모듈화된 버전으로 제공됩니다.

프로덕션 환경에서는 모듈화된 버전을 사용하는 것이 좋습니다.

이러한 버전 선택 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

설치

Windows에 설치하려면 Windows에 AWS Tools for PowerShell 설치 안내서를 참조하세요.

Linux 또는 Mac에 설치하려면 Linux 또는 macOS에 AWS Tools for PowerShell 설치 안내서를 참조하세요.

개요 및 주요 기능

AWS Tools for PowerShell에서 실행할 수 있는 모듈과 명령의 수는 매우 많습니다. AWS Lambda의 경우, 이 도구를 사용하여 함수를 나열, 확인, 배포, 관리 및 호출할 수 있습니다.

사용 가능한 모든 명령을 보려면 다음을 실행하세요.

Get-Command -Module AWS.Tools.Lambda

모든 명령에 대한 전체 설명서는 AWS Tools for PowerShell Cmdlet 참조의 왼쪽 바에서 Lambda 섹션으로 이동해서 확인하세요.

모든 Lambda 함수를 나열하려면 다음을 실행합니다.

Get-LMFunctionList

Lambda 함수를 호출하려면 다음을 실행합니다.

$Response=Invoke-LMFunction -FunctionName StringToUpperCase -Payload '"hello world"'

[System.IO.StreamReader]::new($Response.Payload).ReadToEnd() 

Docker for .NET 7 네이티브 AOT 함수

2022년 11월 Microsoft는 .NET 7을 출시했습니다. 이 버전의.NET에는 Lambda 관리형 런타임이 없지만 네이티브 AOT(Ahead-Of-Time) 컴파일을 통해 사용자 지정 런타임으로 사용할 수 있습니다.

 이 방법의 중요한 장점은 .NET 7 함수의 콜드 스타트 속도가 훨씬 빨라진다는 것입니다. 관리형 런타임으로.NET 6을 실행하고 AOT 컴파일로 .NET 7을 실행하는 유사한 함수 비교 테스트에서는 .NET 7 함수의 시작 속도가 최대 86% 빨라졌습니다.

AWS의 서버리스 .NET 애플리케이션에 대해 자세히 알아보려면 Building serverless .NET applications on AWS Lambda using .NET 7 게시물을 참조하세요.

.NET 7 Lambda 함수와 함께 컴파일을 사용하려면 Docker를 설치하고 실행해야 합니다.
Docker 설치 개요에서 Docker를 다운로드할 수 있습니다

엄선된 도구 비교

지식 확인

이제 AWS Lambda를 사용하여 '모듈 2, .NET 개발을 위한 도구'를 완료했습니다. 다음 테스트를 통해 지금까지 배운 내용을 확인할 수 있습니다.

1. 가장 많은 기능을 IDE용 AWS 도구 키트는 무엇입니까?(하나 선택)

a. Visual Studio Code

b. Visual Studio

c. Rider

d. 모두 동일한 기능을 가지고 있음

2. AWS Extensions for .NET CLI를 지원하는 운영 체제는 무엇입니까?

a. Mac

b. Linux

c. Windows

d. 위의 모든 항목

a. Homebrew

b. Pip

c. Chocolatey

d. AWS에서 직접 다운로드

정답: 1-b, 2-d, 3-d

결론

이 모듈에서는.NET Lambda 함수 개발을 위한 가장 일반적으로 사용되고 중요한 도구에 대해 배웠습니다. 사용할 수 있는 도구, 설치 방법, 사용에 대한 몇 가지 기본 사항을 배웠고 이 링크에서 자세한 내용을 확인할 수 있습니다.

하지만 이런 교육에서 으레 그렇듯이, 가장 좋은 학습 방법은 실습입니다. 다음 모듈에서는 Lambda 서비스에서.NET을 사용하는 방법을 알아봅니다.

이 페이지의 내용이 도움이 되었나요?

AWS Lambda에서의 .NET