티스토리 뷰
반응형
AWS SAM(Serverless Application Model)은 AWS에서 제공하는 서버리스 애플리케이션 구축, 배포, 및 운영을 쉽게 만들어주는 오픈 소스 프레임워크입니다. 서버리스를 쉽게 구축할 수 있도록 AWS Lambda, API Gateway, DynamoDB 같은 서비스들을 편리하게 다룰 수 있게 도와줍니다.
✅ AWS SAM이란?
AWS SAM은 서버리스 애플리케이션을 손쉽게 만들고 관리할 수 있도록 도와주는 도구입니다. 특히 AWS Lambda 기반의 서버리스 애플리케이션을 YAML 파일로 정의할 수 있게 해줍니다.
💡 사용 이유 (왜 사용하나요?)
- 간편한 배포 관리:
서버리스 애플리케이션의 배포 과정을 자동으로 처리해줍니다. Lambda, API Gateway, DynamoDB 등을 코드 한 번으로 배포 가능. - 로컬 개발 및 테스트 지원:
로컬에서 Lambda 함수를 테스트할 수 있습니다. 즉, AWS 클라우드에 배포하기 전에 내 컴퓨터에서 기능 확인이 가능합니다. - 템플릿 기반 정의:
template.yaml 파일로 애플리케이션의 구성 요소를 정의합니다. 코드의 인프라 관리가 쉬워집니다. - AWS CloudFormation과 호환성:
AWS SAM은 AWS CloudFormation의 확장판이라서 기존 인프라 설정과 통합이 쉽습니다.
📂 구성 요소 (주요 개념)
- AWS Lambda:
서버를 설정할 필요 없이 코드를 실행하는 컴퓨팅 서비스. (예: 이미지 변환, 데이터 처리 등) - Amazon API Gateway:
HTTP 요청을 트리거로 Lambda를 실행하거나 REST API를 구축하는 서비스. - Amazon DynamoDB:
NoSQL 데이터베이스 서비스로, 서버리스 앱의 데이터를 저장할 때 사용. - SAM 템플릿 (template.yaml):
애플리케이션을 구성하는 Lambda 함수, API, 권한 등을 정의하는 파일.
📌 예제 (간단한 API 구축)
아래는 AWS SAM으로 API를 만들어서 Lambda 함수를 호출하는 간단한 예제입니다.
template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
Handler: app.lambda_handler
Runtime: python3.9
Events:
HelloWorldApi:
Type: Api
Properties:
Path: /hello
Method: get
app.py (Lambda 함수 코드)
import json
def lambda_handler(event, context):
return {
"statusCode": 200,
"body": json.dumps({
"message": "Hello, World!"
})
}
🔨 사용 방법 (간단히 따라하기)
- AWS SAM CLI 설치:
- pip install aws-sam-cli
- 로컬에서 테스트:
- sam build sam local invoke HelloWorldFunction
- 배포:
- sam deploy --guided
📚 사용 예시 (언제 활용하면 좋을까?)
- 사용자 요청에 따라 이미지를 실시간으로 변환하고 결과를 반환하는 서비스.
- 특정 데이터 요청 시 DynamoDB에서 데이터를 검색하여 반환하는 서버리스 API.
- 웹 애플리케이션의 백엔드 API 구축 (예: 로그인 처리, 데이터 처리 등).
📖 정리
AWS SAM은 서버리스를 빠르고 쉽게 구축하는 도구입니다. AWS Lambda, API Gateway 같은 서비스들을 하나의 템플릿 파일로 정의할 수 있고, 로컬에서 테스트도 할 수 있어 개발 효율성이 뛰어납니다.
본 글은 ChatGPT에서 제공한 내용을 바탕으로 정리한 글입니다.
반응형
'IT공부 > 프로그래밍' 카테고리의 다른 글
크론잡(Cron Job)이란? (2) | 2025.07.27 |
---|---|
react import VS import {} 차이점 (0) | 2025.02.09 |
React 복잡한 Route(라우트) 관리 방법 (0) | 2025.02.06 |
React Route (0) | 2025.02.06 |
React 기초 (1) | 2025.02.05 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 인프라
- Es
- 일본취업
- 일본어경어
- 인프라공부
- 일본어존경어
- 일본IT기업
- WSL
- WSL설치
- 일본어학습법
- 일본어면접
- 일본어학습
- 일본
- it
- 이력서
- OSI 7 layer
- 인프라엔지니어
- 면접
- 네트워크공부
- 리액트 문법
- 일본어공부
- 리액트
- 네트워크
- 일본어
- WSL2
- 해외취업
- 엔트리시트
- React
- 일본생활
- Network
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함