

# Lambda용 개발 도구
<a name="tools-to-develop-deploy-manage"></a>

전체 개발 수명 주기 동안 생산성과 사용 편의성을 높이는 다양한 도구에 액세스할 수 있습니다. 이 섹션에서는 많은 Lambda 고객이 애플리케이션을 설계, 개발 및 관리하는 데 도움이 되는 도구에 대한 정보를 제공합니다. IDE의 로컬 개발부터 복잡한 서버리스 애플리케이션 배포 및 관리에 이르기까지 이러한 도구는 워크플로를 간소화하고 코드 품질을 개선하며 강력한 Lambda 기반 솔루션 개발을 가속화하는 데 도움이 됩니다.
+ **로컬 개발** - 선호하는 개발 환경에서 Lambda 함수를 더 빠르게 작성하고 테스트합니다. VS 코드용 AWS 도구 키트를 사용하면 Lambda에 직접 배포 기능을 사용하여 로컬 함수 개발, 디버깅 및 테스트를 수행할 수 있습니다.
+ **코드형 인프라(IaC)** - 로컬 테스트에서 프로덕션에 이르기까지 서버리스 애플리케이션을 일관되게 배포하고 관리합니다. AWS SAM, AWS CDK, CloudFormation을 사용하면 코드를 통해 서버리스 인프라를 정의하고 관리하여 일관되고 버전 제어된 배포를 수행할 수 있습니다.
+ **GitHub 작업** - 코드 리포지토리에서 직접 Lambda 배포를 자동화합니다. GitHub Actions를 사용하면 코드 또는 구성 변경을 푸시할 때마다 Lambda 함수를 자동으로 배포하는 워크플로를 설정하여 CI/CD 파이프라인을 간소화할 수 있습니다.
+ **AWS Lambda용 Powertools** - 사용자 지정 코드가 적은 프로덕션 환경에서 바로 사용할 수 있는 서버리스 애플리케이션을 빌드합니다. AWS Lambda용 Powertools(AWS용 Powertools라고도 함)는 Python, TypeScript, Java 및 .NET에서 관찰성, 파라미터 검색 및 멱등성과 같은 서버리스 모범 사례 구현을 간소화하는 오픈 소스 개발자 도구 키트입니다.
+ **워크플로 및 이벤트** - Lambda 함수를 AWS 서비스, API, 외부 시스템과 함께 조정합니다. Lambda는 2가지 오케스트레이션 옵션을 제공합니다. 하나는 Lambda 내에서 표준 프로그래밍 언어를 사용한 애플리케이션 중심 오케스트레이션을 위한 [Lambda 지속성 함수](durable-functions.md)이고 다른 하나는 여러 서비스에 걸쳐 시각적 설계를 사용한 워크플로 중심 오케스트레이션을 위한 [AWS Step Functions](with-step-functions.md)입니다. Amazon EventBridge는 이벤트 중심 아키텍처에 대한 이벤트 관리 기능을 제공합니다. 오케스트레이션 접근 방식을 선택하는 데 도움이 필요하면 [지속성 함수 또는 Step Functions](durable-step-functions.md)를 참조하세요.

## 로컬 개발 도구
<a name="local-development-tools"></a>

로컬 개발 환경을 사용하면 오프라인으로 작업하고, Lambda 함수에 대해 빠르게 반복 작업을 수행하면서 고급 IDE 기능을 활용할 수 있습니다. 이러한 도구는 복잡한 함수를 디버깅하고 연결이 제한된 환경에서 개발하는 데 도움이 됩니다. 또한 팀 협업 및 버전 관리 시스템과의 통합을 지원합니다.

Lambda 함수를 로컬로 개발하는 방법에 대한 자세한 내용은 [VS Code를 사용하여 로컬에서 Lambda 함수 개발](foundation-iac-local-development.md) 섹션을 참조하세요. 이 페이지에서는 Lambda 함수 개발을 AWS 콘솔에서 디버깅 및 코드 완료와 같은 기능을 갖춘 풍부한 개발 환경을 제공하는 Visual Studio Code로 이동하는 방법을 설명합니다. 전환하려면 AWS Toolkit for Visual Studio Code 및 자격 증명을 설정해야 합니다. 그 후에는 AWS에 직접 배포하는 기능을 유지하면서 VS Code의 고급 기능을 사용할 수 있습니다.

Lambda용 로컬 개발이 제공하는 몇 가지 주요 기능은 다음과 같습니다.
+ Lambda 콘솔과 Visual Studio Code 통합 기능 사용
+ 로컬 Lambda 개발 환경 구성
+ 로컬에서 함수 디버깅 및 테스트
+ 로컬 함수 관리를 위한 모범 사례 적용

자세한 내용은 [VS Code를 사용하여 로컬에서 Lambda 함수 개발](foundation-iac-local-development.md) 섹션을 참조하세요.

## 코드형 인프라(IaC) 도구
<a name="iac-tools"></a>

코드형 인프라(IaC) 도구로 코드를 사용하여 서버리스 아키텍처를 정의하고 관리할 수 있습니다. 이 접근 방식은 환경 간 일관성을 유지하여 인프라 버전을 제어하고 DevOps 방식을 용이하게 하는 데 도움이 됩니다. IaC는 배포 자동화, 일관된 환경 보장, 다중 리전 배포 관리에 특히 유용합니다.

Lambda의 주요 IaC 도구와 개념에는 템플릿 생성, 배포 관리, 서버리스 인프라 모범 사례를 위한 프레임워크가 포함됩니다.
+ Lambda 개발을 위한 핵심 IaC 원칙
+ CloudFormation, AWS SAM, AWS CDK 기능
+ 도구 선택 기준 및 비교
+ Lambda IaC 구현 모범 사례

소규모 프로젝트를 독립적으로 작업하든 엔터프라이즈 규모의 서버리스 애플리케이션을 관리하는 대규모 팀의 일원으로 작업하든 이러한 개발 및 배포 도구는 Lambda 함수를 더 효과적으로 작성하고 배포하며 관리하는 데 도움이 됩니다.

자세한 내용은 [코드형 인프라(IaC)와 함께 Lambda 사용](foundation-iac.md) 섹션을 참조하세요.

## GitHub Actions 도구
<a name="github-actions-tools"></a>

GitHub Actions는 코드 리포지토리에서 직접 Lambda 함수에 대한 자동 배포 기능을 제공합니다. 리포지토리에서 워크플로 파일을 생성하면 코드 또는 구성 변경이 푸시될 때마다 Lambda 함수를 자동으로 배포하여 지속적 통합 및 지속적 배포(CI/CD) 파이프라인을 간소화할 수 있습니다. Lambda 함수 배포 작업은 배포 프로세스를 간소화하고, OpenID Connect(OIDC)를 통해 AWS 자격 증명을 처리하고, 코드 업데이트, 구성 변경, 모의 실행 검증을 비롯한 다양한 배포 시나리오를 지원하는 선언적 YAML 인터페이스를 제공합니다. 이 통합을 통해 팀은 기존 GitHub 워크플로를 활용하면서 일관되고 자동화된 배포 프로세스를 유지할 수 있습니다.

자세한 내용은 [GitHub Actions를 사용하여 Lambda 함수 배포](deploying-github-actions.md) 섹션을 참조하세요.

## AWS Lambda용 Powertools
<a name="development-powertools"></a>

AWS용 Powertools는 최소한의 사용자 지정 코드로 서버리스 모범 사례를 구현하는 데 도움이 되는 오픈 소스 개발자 도구 키트입니다. Python, TypeScript/Node.js, Java 및 .NET에 사용할 수 있으며 일반적인 Lambda 개발 작업을 간소화하는 유틸리티 함수, 데코레이터 및 미들웨어를 제공합니다. 도구 키트에는 파라미터 검색, 보안 암호 관리 및 멱등성 패턴용 유틸리티와 같은 구조화된 로깅, 추적 및 지표 수집과 같은 기본 제공 관찰성 기능이 포함되어 있습니다. 이러한 도구는 AWS Well-Architected 모범 사례에 부합하며 개발자가 프로덕션 환경에서 바로 사용할 수 있는 서버리스 애플리케이션을 보다 효율적으로 빌드하는 데 도움이 됩니다. AWS용 Powertools를 사용하면 보일러플레이트 코드를 줄이고 일반적인 패턴을 표준화하여 팀이 애플리케이션 전반에서 서버리스 모범 사례를 일관되게 구현하면서 비즈니스 로직에 집중할 수 있습니다.

자세한 내용은 [AWS Lambda용 Powertools](powertools-for-lambda.md) 섹션을 참조하세요.

## 워크플로 및 이벤트 관리 도구
<a name="workflow-event-management-tools"></a>

Lambda 애플리케이션은 복잡한 워크플로를 오케스트레이션하고 다양한 이벤트를 처리하는 데 사용할 수 있습니다. AWS가 서버리스 개발의 이러한 측면을 관리하는 데 도움이 되는 특수 도구를 제공합니다. 워크플로 오케스트레이션을 위한 AWS Step Functions와 이벤트 관리를 위한 Amazon EventBridge 그리고 이를 Lambda 함수와 통합하는 방법을 알아봅니다. 이러한 도구는 강력한 상태 관리 및 이벤트 기반 아키텍처를 제공하여 서버리스 애플리케이션의 확장성과 신뢰성을 대폭 높일 수 있습니다. 이러한 서비스를 활용하여 복잡한 비즈니스 프로세스를 처리하고, 광범위한 시스템 및 애플리케이션 이벤트에 대응할 수 있는 더 정교하고 복원력이 뛰어난 Lambda 기반 솔루션을 구축할 수 있습니다.

자세한 내용은 [Lambda 워크플로 및 이벤트 관리](workflow-event-management.md) 섹션을 참조하세요.