기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Serverless Application Model (AWS SAM)란 무엇입니까?
AWS Serverless Application Model (AWS SAM)는 코드형 인프라(IaC)를 사용하여 서버리스 애플리케이션을 빌드하기 위한 오픈 소스 프레임워크입니다. 개발자는 AWS SAM의 간편 구문을 사용하여 배포 중에 인프라로 변환되는 AWS CloudFormation
-
AWS SAM CLI - 서버리스 애플리케이션을 개발, 로컬 테스트 및 배포하는 데 도움이 되는 명령줄 도구입니다.
-
AWS SAM 템플릿 - 서버리스 리소스를 정의 AWS CloudFormation 하기 위한 간소화된 구문을 제공하는의 확장입니다.
sam init 명령을 사용하면 일반적으로 AWS SAM 템플릿, 애플리케이션 코드 및 기타 구성 파일이 포함된 프로젝트라고 하는 AWS SAM 프로젝트 디렉터리가 생성됩니다.
사용 시기 AWS SAM
AWS SAM 는 완전한 기능을 갖춘 간소화된 서버리스 개발을 원하는 시나리오에 이상적인 IaC 솔루션입니다 AWS CloudFormation. 예를 들어 다음과 같은 경우에 SAM을 사용할 수 있습니다.
-
서버리스 애플리케이션: SAM을 사용하여 최소한의 코드로 AWS Lambda 함수, Amazon API Gateway APIs, Amazon DynamoDB 테이블 및 기타 서버리스 리소스를 빠르게 정의할 수 있습니다.
-
AWS CloudFormation 기능 향상: SAM을 기존 CloudFormation 템플릿과 결합하여 기존 인프라에 서버리스 구성 요소를 추가할 수 있습니다. SAM 리소스는 동일한 템플릿의 표준 CloudFormation 리소스와 함께 작동합니다.
-
로컬 개발 및 테스트: 배포하기 전에 SAMCLI을 사용하여 Lambda 함수를 로컬에서 테스트하고, API Gateway 엔드포인트를 시뮬레이션하고, 개발 시스템에서 서버리스 애플리케이션을 디버깅할 수 있습니다 AWS.
-
서버리스용 CI/CD: 스테이징 및 프로덕션 환경에 필요한 CloudFormation 인프라를 자동으로 생성하는 SAM 템플릿을 사용하여 배포 파이프라인을 구축할 수 있습니다.
-
콘솔 생성 리소스에서 마이그레이션: SAM 템플릿을 사용하여 관리 콘솔에서 AWS 생성된 Lambda 함수 및 API Gateway 리소스를 코드형 인프라로 변환할 수 있습니다.
AWS SAM 다른 IaC 도구와 비교
-
CloudFormation 대신 SAM을 사용하여 템플릿 호환성을 유지하면서 서버리스 리소스 정의를 간소화합니다.
-
프로그래밍 방식 대신 인프라를 설명하는 선언적 접근 방식을 선호하는 AWS CDK 경우 대신 SAM을 사용합니다.
-
SAM CLI의 로컬 테스트 기능을 사용하여 CDK 애플리케이션을 개선 AWS CDK 하여 SAM을와 결합합니다.
주요 기능
AWS SAM 는 다음을 수행하여 개발자 경험을 개선하는 다양한 이점을 제공합니다.
- 더 적은 코드를 사용하여 애플리케이션 인프라 코드 빠르게 정의하기
-
AWS SAM 템플릿을 작성하여 서버리스 애플리케이션 인프라 코드를 정의합니다. 템플릿을에 직접 배포 AWS CloudFormation 하여 리소스를 프로비저닝합니다.
- 전체 개발 수명 주기에 걸쳐 서버리스 애플리케이션을 관리합니다.
-
개발 수명 주기의 작성, 구축, 배포, 테스트 및 모니터링 단계에 걸쳐 서버리스 애플리케이션을 관리하려면 AWS SAMCLI를 사용합니다. 자세한 내용은 AWS SAM CLI 단원을 참조하십시오.
- AWS SAM 커넥터를 사용하여 리소스 간에 권한을 빠르게 프로비저닝
-
AWS SAM 템플릿의 AWS SAM 커넥터를 사용하여 AWS 리소스 간에 권한을 정의합니다.는 코드를 의도를 용이하게 하는 데 필요한 IAM 권한으로 AWS SAM 변환합니다. 자세한 내용은 AWS SAM 커넥터를 사용한 리소스 권한 관리 단원을 참조하십시오.
- 개발 과정에서 로컬 변경 사항을 클라우드에 지속적으로 동기화
-
sam sync 명령을 사용하여 AWS SAMCLI 로컬 변경 사항을 클라우드에 자동으로 동기화하여 개발 및 클라우드 테스트 워크플로의 속도를 높입니다. 자세한 내용은 를 사용하여 sam sync에 동기화 소개 AWS 클라우드 단원을 참조하십시오.
- Terraform 서버리스 애플리케이션 관리
-
AWS SAMCLI를 사용하여 Lambda 함수 및 계층의 로컬 디버깅 및 테스트를 수행할 수 있습니다. 자세한 내용은 AWS SAM CLI Terraform 지원 단원을 참조하십시오.
관련 정보
AWS SAM 작동 방식에 대한 자세한 내용은 단원을 참조하십시오AWS SAM 작동 방식.
사용을 시작하려면 단원을 AWS SAM참조하십시오시작하기 AWS SAM.
AWS SAM 를 사용하여 서버리스 애플리케이션을 생성하는 방법에 대한 개요는 섹션을 참조하세요사용 방법 AWS SAM.