All posts
Deploy Backend lên AWS SAM với TypeScript
awstypescriptdeployaws sam

Deploy Backend lên AWS SAM với TypeScript

Quang Tran D.1 min read
On this page2 sections

Deploy Backend lên AWS SAM với TypeScript

AWS SAM là gì?

AWS SAM là framework của Amazon Web Services giúp deploy serverless backend nhanh chóng bằng Infrastructure as Code.

Phù hợp cho:

  • Backend API

  • Lambda

  • Microservices

  • AI Services

  1. Cài đặt môi trường

Cài:

  • nodejs 22+

  • aws cli

  • sam cli

Kiểm tra:

node -v
aws --version
sam --version

Config AWS:

  1. Tạo project

mkdir sam-backend
cd sam-backend

npm init -y
npm install typescript esbuild @types/aws-lambda -D
  1. Tạo Lambda Function

src/hello.ts

import { APIGatewayProxyResult } from 'aws-lambda'

export const handler = async (): Promise<APIGatewayProxyResult> => {
  return {
    statusCode: 200,
    body: JSON.stringify({
      message: 'Hello AWS SAM',
    }),
  }
}
  1. Tạo template.yaml

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  HelloFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: .
      Handler: src/hello.handler
      Runtime: nodejs20.x

      Events:
        HelloApi:
          Type: Api
          Properties:
            Path: /hello
            Method: GET

    Metadata:
      BuildMethod: esbuild
  1. Build and run test project

# build
sam build
# run local 
sam local start-api
# test api 
curl http://127.0.0.1:3000/hello
  1. Deploy lên AWS

# deploy
sam deploy --guided

# xem logs
sam logs -n HelloFunction --stack-name sam-backend --tail
  1. Xóa stack

sam delete

Kết luận

AWS SAM giúp deploy backend TypeScript nhanh với:

  • Lambda

  • API Gateway

  • Local development

  • CI/CD support

Rất phù hợp cho:

  • Backend API

  • AI backend

  • Event-driven architecture

  • Internal tools