기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
코드형 인프라(IaC)
코드형 인프라(IaC)를 사용하면 서버리스 애플리케이션을 포함한 AWS 리소스의 배포 및 관리를 자동화할 수 있습니다. IaC를 사용하면 코드를 사용하여 인프라를 정의할 수 있으므로 배포의 버전 관리, 공유 및 복제가 더 쉬워집니다. 이 접근 방식은 다음을 수행하는 데 도움이 됩니다.
-
개발 주기 속도 향상
-
구성 관리 간소화
-
배포의 안정성 및 일관성 향상
AWS 서버리스 애플리케이션을 위한 IaC 도구
AWS 는 클라우드 리소스를 빌드, 배포 및 관리하는 데 도움이 되는 여러 IaC 도구를 제공합니다. 이 섹션에서는가이 에코시스템에 얼마나 AWS SAM 적합하고 다른 AWS IaC 도구에서 어떻게 작동하는지 설명합니다.
- AWS CloudFormation
-
를 사용하면 YAML 또는 JSON 템플릿을 사용하여 전체 AWS 인프라를 모델링하고 프로비저닝AWS CloudFormation
할 수 있습니다.는 리소스 생성, 업데이트 및 삭제를 자동으로 AWS CloudFormation 처리합니다. AWS SAM 애플리케이션을 배포할 때는 변환된 템플릿을 AWS CloudFormation 처리하여 리소스를 생성하고 관리합니다. - AWS Serverless Application Model (AWS SAM)
-
AWS SAM 를 사용하면 서버리스 리소스를 정의하기 위한 간소화된 구문으로 서버리스 애플리케이션을 구축할 수 있습니다. AWS SAM 템플릿을 사용하여 간결한 YAML 구문을 사용하여 Lambda 함수, APIs, 데이터베이스 및 이벤트 소스를 프로비저닝할 수 있습니다.는 배포 중에 이러한 템플릿을 AWS CloudFormation 템플릿으로 AWS SAM 변환합니다.
참고
는 서버리스 애플리케이션을 AWS SAM 전문으로 하지만 AWS SAM 템플릿의 모든 AWS CloudFormation 리소스 유형을 사용할 수 있습니다. 이렇게 하면 필요할 때 비서버리스 리소스를 유연하게 포함할 수 있습니다.
- AWS 클라우드 개발 키트(AWS CDK)
-
를 사용하면 TypeScriptAWS CDK
, Python, Java, C#/와 같은 친숙한 프로그래밍 언어를 사용하여 서버리스 인프라를 정의할 수 있습니다.Net 또는 Go. 루프 및 조건과 같은 프로그래밍 구문을 사용하여 인프라를 정의하고 배포용 AWS CloudFormation 템플릿을 AWS CDK 생성할 수 있습니다. 를 사용하여 로 생성된 애플리케이션을 로컬에서 테스트하고 디버깅 AWS SAMCLI할 수 있습니다 AWS CDK. 자세한 내용은 로컬에서 CDK 애플리케이션 테스트를 참조하세요.
서버리스 애플리케이션을 위한 IaC 도구 비교
서버리스 애플리케이션을 위한 IaC 도구를 선택할 때는 팀의 기본 설정, 프로젝트 요구 사항 및 기존 워크플로를 고려하세요. 다음 표에서는 서버리스 개발을 위한 AWS IaC 도구의 주요 특성을 비교합니다.
도구 |
기본 사용 |
에 가장 적합 |
에서 작동 AWS SAM |
선택 시기 |
---|---|---|---|---|
AWS CloudFormation |
복잡한 AWS 인프라 관리 |
AWS 리소스를 세부적으로 제어해야 하는 애플리케이션 |
AWS SAM 배포 중 템플릿이 AWS CloudFormation 템플릿으로 변환됨 |
비서버리스 리소스에 대한 세분화된 제어 |
AWS SAM |
서버리스 애플리케이션 개발 |
Lambda를 사용하여 서버리스 애플리케이션을 구축하는 팀 |
기본 기능 |
주로 Lambda 함수, API Gateway APIs 경우 |
AWS CDK |
프로그래밍 언어를 사용한 인프라 정의 |
입력한 언어와 코드 우선 접근 방식을 선호하는 팀 |
AWS SAM 템플릿 생성 및 테스트 AWS SAMCLI에 사용 |
프로그래밍 방식의 인프라 정의 또는 복잡한 리소스 구성 로직이 필요한 경우 |
참고
이 가이드에서는 AWS네이티브 IaC 도구를 중점적으로 다루지만 Terraform은 서버리스 애플리케이션을 정의하는 데 사용할 수 있는 또 다른 인기 있는 IaC 솔루션입니다. 는 Terraform에 정의된 Lambda 함수의 로컬 테스트를 AWS SAMCLI 지원합니다. 자세한 내용은 AWS SAM CLI Terraform 지원 단원을 참조하십시오.
자세히 알아보기
-
의 DevOps 사례에 대한 자세한 내용은의 DevOps 소개를 AWS참조하세요. DevOps AWS
-
다양한 IaC 도구와 함께 Lambda를 사용하는 방법에 대한 자세한 내용은 코드형 인프라(IaC)와 함께 Lambda 사용을 참조하세요.