코드형 인프라(IaC) - AWS Serverless Application Model

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

코드형 인프라(IaC)

코드형 인프라(IaC)를 사용하면 서버리스 애플리케이션을 포함한 AWS 리소스의 배포 및 관리를 자동화할 수 있습니다. IaC를 사용하면 코드를 사용하여 인프라를 정의할 수 있으므로 배포를 버전 관리, 공유 및 복제하기가 더 쉽습니다. 이 접근 방식은 다음과 같은 이점을 제공합니다.

  • 개발 주기 단축

  • 구성 관리 간소화

  • 배포의 안정성 및 일관성 향상

AWS 서버리스 애플리케이션을 위한 IaC 도구

AWS 는 클라우드 리소스를 빌드, 배포 및 관리하는 데 도움이 되는 여러 IaC 도구를 제공합니다. 이 섹션에서는가이 에코시스템에 얼마나 AWS SAM 적합하고 다른 AWS IaC 도구에서 어떻게 작동하는지 설명합니다.

AWS CloudFormation

를 사용하면 YAML 또는 JSON 템플릿을 사용하여 전체 AWS 인프라를 모델링하고 프로비저닝CloudFormation할 수 있습니다.는 리소스 생성, 업데이트 및 삭제를 자동으로 CloudFormation 처리합니다. AWS SAM 애플리케이션을 배포할 때는 변환된 템플릿을 CloudFormation 처리하여 리소스를 생성하고 관리합니다.

AWS Serverless Application Model (AWS SAM)

AWS SAM 를 사용하면 서버리스 리소스를 정의하기 위한 간소화된 구문으로 서버리스 애플리케이션을 구축할 수 있습니다. AWS SAM 템플릿을 사용하여 간결한 YAML 구문을 사용하여 Lambda 함수, APIs, 데이터베이스 및 이벤트 소스를 프로비저닝할 수 있습니다.는 배포 중에 이러한 템플릿을 CloudFormation 템플릿으로 AWS SAM 변환합니다.

참고

는 서버리스 애플리케이션을 AWS SAM 전문으로 하지만 AWS SAM 템플릿의 모든 CloudFormation 리소스 유형을 사용할 수 있습니다. 이를 통해 필요할 때 비서버리스 리소스를 유연하게 포함할 수 있습니다.

AWS 클라우드 개발 키트(AWS CDK)

AWS CDK을(를) 사용하면 TypeScript, Python, Java, C#/.Net, 또는 Go와 같은 친숙한 프로그래밍 언어를 사용하여 서버리스 인프라를 정의할 수 있습니다. 루프 및 조건과 같은 프로그래밍 구문을 사용하여 인프라를 정의하고 배포용 CloudFormation 템플릿을 AWS CDK 생성할 수 있습니다. 를 AWS SAM CLI 사용하여 로 생성된 애플리케이션을 로컬에서 테스트하고 디버깅할 수 있습니다 AWS CDK. 자세한 내용은 로컬에서 CDK 애플리케이션 테스트를 참조하세요.

서버리스 애플리케이션을 위한 IaC 도구 비교

서버리스 애플리케이션을 위한 IaC 도구를 선택할 때는 팀의 선호도, 프로젝트 요구 사항 및 기존 워크플로를 고려하세요. 다음 표에서는 서버리스 개발을 위한 AWS IaC 도구의 주요 특성을 비교합니다.

도구

프라이머리 사용

최적의 용도

에서 작동 AWS SAM

선택 시기

CloudFormation

복잡한 AWS 인프라 관리

AWS 리소스를 세부적으로 제어해야 하는 애플리케이션

AWS SAM 배포 중 템플릿이 CloudFormation 템플릿으로 변환됨

비서버리스 리소스에 대한 세밀한 제어의 경우

AWS SAM

서버리스 애플리케이션 개발

Lambda를 사용하여 서버리스 애플리케이션을 구축하는 팀

네이티브 기능

Lambda 함수, API Gateway API 및 기타 서버리스 리소스로 구성된 서버리스 아키텍처에 주로 초점을 맞출 때

AWS CDK

프로그래밍 언어를 사용한 인프라 정의

입력한 언어와 코드 우선 접근 방식을 선호하는 팀

AWS SAM 템플릿 생성 및 테스트에 사용 AWS SAM CLI

프로그래밍 방식의 인프라 정의 또는 복잡한 리소스 구성 로직이 필요할 때

참고

이 가이드에서는 AWS네이티브 IaC 도구를 중점적으로 다루지만 Terraform은 서버리스 애플리케이션을 정의하는 데 사용할 수 있는 또 다른 인기 있는 IaC 솔루션입니다. AWS SAM CLI은(는) Terraform에 정의된 Lambda 함수의 로컬 테스트를 지원합니다. 자세한 내용은 AWS SAM CLI Terraform 지원 단원을 참조하십시오.

자세히 알아보기