본문 바로가기
CLOUD/AWS

AWS SAM(Serverless Application Model)

by Rainbound-IT 2021. 8. 23.
반응형

특이하게 이 리소스만 캐릭터가 있다.

 

 

서버리스 애플리케이션을 구축하기 위한 오픈 소스 프레임워크

 

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

일반적으로 배포를 S3에 하는데

local에서 테스트 하고 싶다면 docker를 이용하여 컨테이너를 생성해테스트 해볼수 있습니다.

 

Docker는 macOS 시스템에서 컨테이너를 실행하는 응용 프로그램입니다.AWS SAM와 유사한 로컬 환경을 제공합니다. 도커 컨테이너를 사용함으로써 AWS lambda를 사용할 수 있습니다. 이 컨테이너를 사용하여 서버리스 응용 프로그램을 빌드, 테스트 및 디버깅할 수 있습니다.

 

 

특징

 

  • 단일 배포 구성: AWS SAM를 사용하면 관련 구성 요소 및 리소스를 쉽게 구성하고 단일 스택에서 작동할 수 있습니다. 다음을 수행할 수 있습니다.AWS SAM를 사용하여 리소스 간에 구성 (예: 메모리 및 시간 초과) 을 공유하고 모든 관련 리소스를 버전이 지정된 단일 엔터티로 함께 배포합니다.
  • AWS CloudFormation의 확장 : AWS CloudFormation의 안정적인 배포 기능을 얻을 수 있습니다.AWS SAM 템플릿에서 AWS CloudFormation을 사용하여 리소스를 정의할 수 있습니다. 또한 AWS CloudFormation에서 사용할 수 있는 전체 리소스 제품군, 내장 함수 및 기타 템플릿 기능을 사용할 수 있습니다.
  • 기본 제공 모범 사례 : AWS SAM을 사용하여 인프라를 구성으로 정의하고 배포할 수 있습니다. 이를 통해 코드 검토와 같은 모범 사례를 사용하고 시행할 수 있습니다. 또한 몇 줄의 구성으로 CodeDeploy를 통해 안전한 배포를 활성화하고 AWS X-Ray를 사용하여 추적을 활성화할 수 있습니다.
  • 로컬 디버깅 및 테스트: AWS SAM CLI를 사용하면 AWS SAM 템플릿으로 정의된 서버리스 애플리케이션을 로컬에서 빌드, 테스트 및 디버그할 수 있습니다. CLI는 로컬에서 Lambda와 유사한 실행 환경을 제공합니다. 실제 Lambda 실행 환경과 패리티를 제공하여 문제를 미리 파악하는 데 도움이 됩니다. 코드를 단계별로 실행하고 디버그하여 코드가 수행하는 작업을 이해하려면 AWS Toolkit for JetBrains, AWS Toolkit for PyCharm, AWS Toolkit for IntelliJ 및 AWS Toolkit for Visual Studio Code와 같은 AWS 도구 키트와 함께 AWS SAM을 사용할 수 있습니다. 이는 클라우드에서 발생할 수 있는 문제를 찾고 해결할 수 있도록 하여 피드백 루프를 강화합니다.
  • 개발 도구와의 긴밀한 통합. 서버리스 애플리케이션을 구축하기 위해 AWS 도구 제품군과 함께 AWS SAM을 사용할 수 있습니다. AWS Serverless Application Repository에서 새 애플리케이션을 검색할 수 있습니다. AWS SAM 기반 서버리스 애플리케이션을 작성, 테스트 및 디버깅하기 위해 AWS Cloud9 IDE를 사용할 수 있습니다. 서버리스 애플리케이션을 위한 배포 파이프라인을 구축하기 위해 CodeBuild, CodeDeploy 및 CodePipeline을 사용할 수 있습니다. 또한 AWS CodeStar를 사용하여 자동으로 구성된 프로젝트 구조, 코드 리포지토리 및 CI/CD 파이프라인을 시작할 수 있습니다. 서버리스 애플리케이션을 배포하기 위해 Jenkins 플러그인을 사용할 수 있습니다. Stackery.io 툴킷을 사용하여 프로덕션 준비 애플리케이션을 구축할 수 있습니다.

설치

 

MAC OS X에서 설치하였습니다.

brew tap aws/tap
brew install aws-sam-cli

위 처럼 하다가 Git-credential-osxkeychain 관련 인증 요구가 발생햇는데 거절하고 슈팅해보려고 했는데 다시 해보니 설치가 되어있는것같더군요.

 

확인은 아래와 같이 하면됩니다.

sam --version

 

실행화면

 

반응형

댓글