AWS Serverless Application Model(AWS SAM) 는 무엇입니까? - AWS Serverless Application Model

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

AWS Serverless Application Model(AWS SAM) 는 무엇입니까?

AWS Serverless Application Model(AWS SAM) 는 서버리스 애플리케이션을 빌드하는 데 사용할 수 있는 오픈 소스AWS 프레임워크입니다.

서버리스 애플리케이션은 작업을 수행하는 데 함께 작동하는 Lambda 함수, 이벤트 소스 및 기타 리소스의 조합입니다. 서버리스 애플리케이션은 단순한 Lambda 함수 그 이상이며 API, 데이터베이스 및 이벤트 소스 매핑과 같은 추가 리소스를 포함할 수 있습니다.

를AWS SAM 사용하여 서버리스 애플리케이션을 정의할 수 있습니다. AWS SAM다음과 같은 구성 요소로 이루어집니다.

  • AWS SAM템플릿 사양. 이 사양을 사용하여 서버리스 애플리케이션을 정의합니다. 서버리스 애플리케이션을 구성하는 함수, API, 권한, 구성 및 이벤트를 설명하는 간단하고 깔끔한 구문을 제공합니다. AWS SAM템플릿 파일을 사용하여 배포 가능하고 버전이 지정된 단일 엔티티인 서버리스 애플리케이션에서 작업할 수 있습니다. 전체AWS SAM 템플릿 사양은 을 참조하십시오AWS Serverless Application Model(AWS SAM) 사양.

     

  • AWS SAM명령줄 인터페이스 (AWS SAMCLI). 이 도구를 사용하여AWS SAM 템플릿으로 정의된 서버리스 애플리케이션을 구축할 수 있습니다. CLI는AWS SAM 템플릿 파일이 사양에 따라 작성되었는지 확인하고, Lambda 함수를 로컬에서 호출하고, Lambda 함수를 단계별로 디버깅하고, 서버리스 애플리케이션을 패키징하여AWS 클라우드에 배포하는 등의 작업을 수행할 수 있는 명령을 제공합니다. 전체AWS SAM CLI 명령 참조를 포함하여AWS SAM CLI 사용 방법에 대한 자세한 내용은 을 참조하십시오AWS SAMCLI 명령 참조.

이 가이드에서는 를AWS SAM 사용하여 간단한 서버리스 애플리케이션을 정의, 테스트 및 배포하는 방법을 보여줍니다. 또한 다운로드하여 로컬에서 테스트하고AWS 클라우드에 배포할 수 있는 예제 애플리케이션을 제공합니다. 이 예제 애플리케이션을 자체 서버리스 애플리케이션을 개발하기 위한 출발점으로 사용할 수 있습니다.

AWS SAM 사용의 이점

다른AWS 서비스와AWS SAM 통합되므로 를 사용하여 서버리스 애플리케이션을 만들면 다음과 같은 이점이 있습니다.AWS SAM

  • 단일 배포 구성. AWS SAM관련 구성 요소 및 리소스를 쉽게 구성하고 단일 스택에서 운영할 수 있습니다. 를AWS SAM 사용하여 리소스 간에 구성 (예: 메모리 및 시간 초과) 을 공유하고 모든 관련 리소스를 버전이 지정된 단일 개체로 함께 배포할 수 있습니다.

     

  • 의 확장AWS CloudFormation. AWS SAM는 의AWS CloudFormation 확장이므로 의 안정적인 배포 기능을 사용할 수AWS CloudFormation 있습니다. AWS CloudFormationAWS SAM템플릿에서 를 사용하여 리소스를 정의할 수 있습니다. 또한 에서 사용할 수 있는 전체 리소스, 내장 함수 및 기타 템플릿 기능을 사용할 수AWS CloudFormation 있습니다.

     

  • 기본 제공 모범 사례. 를AWS SAM 사용하여 인프라를 구성으로 정의하고 배포할 수 있습니다. 이를 통해 코드 검토와 같은 모범 사례를 사용하고 적용할 수 있습니다. 또한 몇 줄의 구성으로 안전한 배포를 활성화하고 를 CodeDeploy 사용하여 추적을 활성화할 수AWS X-Ray 있습니다.

     

  • 로컬 디버깅 및 테스트 AWS SAMCLI를 사용하면AWS SAM 템플릿으로 정의된 서버리스 애플리케이션을 로컬에서 구축, 테스트 및 디버그할 수 있습니다. CLI는 Lambda와 유사한 실행 환경을 로컬에서 제공합니다. 실제 Lambda 실행 환경과 동일한 기능을 제공하여 문제를 미리 파악하는 데 도움이 됩니다. 코드를 단계별로 살펴보고 디버그하여 코드가 수행하는 작업을 이해하려면, 툴킷 대상, IntelliJ용AWSAWS툴킷 및 Visual용 PyCharmAWS 툴킷과 같은 도구AWS 키트와AWS SAM 함께 사용할 수 있습니다. AWS Toolkit for JetBrains스튜디오 코드. 이렇게 하면 클라우드에서 발생할 수 있는 문제를 찾아 해결할 수 있어 피드백 루프가 강화됩니다.

     

  • 개발 도구와의 긴밀한 통합. 서버리스 애플리케이션을 구축하기 위한AWS 도구AWS SAM 모음과 함께 사용할 수 있습니다. 에서 새 애플리케이션을 검색할 수 있습니다 AWS Serverless Application Repository. AWS Cloud9IDE를 사용하면AWS SAM 기반 서버리스 애플리케이션을 작성, 테스트 및 디버깅할 수 있습니다. 서버리스 애플리케이션을 위한 배포 파이프라인을 구축하려면 CodeBuildCodeDeploy, 및 를 사용할 수 CodePipeline있습니다. 또한 AWS CodeStar 사용하여 자동으로 구성된 프로젝트 구조, 코드 리포지토리 및 CI/CD 파이프라인으로 시작할 수 있습니다. 서버리스 애플리케이션을 배포하려면 Jenkins 플러그인을 사용할 수 있습니다.

다음 단계

AWS SAM 시작하기