[typescript] AWS SDK를 사용하여 타입스크립트로 서버리스 애플리케이션 배포하기

서버리스 애플리케이션을 개발하고 배포하는 것은 AWS SDK와 타입스크립트를 이용해 간단하게 수행할 수 있습니다. 이 글에서는 간단한 서버리스 애플리케이션을 타입스크립트로 작성하고 AWS의 서버리스 서비스를 배포하는 방법에 대해 설명하겠습니다.

목차

  1. AWS SDK 설정
  2. 타입스크립트로 서버리스 애플리케이션 작성
  3. AWS에 서버리스 애플리케이션 배포

AWS SDK 설정

우선, AWS SDK를 사용하여 서버리스 애플리케이션을 배포하려면 AWS 계정에 액세스할 수 있는 AWS 인증 정보가 필요합니다. 이를 위해 로컬 환경에 AWS CLI를 설치하고 aws configure를 사용하여 AWS 계정 정보를 설정합니다.

$ aws configure
AWS Access Key ID [None]: <Your access key>
AWS Secret Access Key [None]: <Your secret access key>
Default region name [None]: <Your region>
Default output format [None]: json

이 단계를 완료하면 AWS SDK가 AWS 계정에 액세스할 수 있게 됩니다.

타입스크립트로 서버리스 애플리케이션 작성

타입스크립트로 AWS 서버리스 애플리케이션을 작성하려면, 먼저 필요한 패키지를 설치해야 합니다.

$ npm install aws-sdk
$ npm install -D @types/aws-sdk

그런 다음, 다음과 같이 타입스크립트로 간단한 서버리스 애플리케이션을 작성합니다.

// index.ts
import * as AWS from 'aws-sdk';

const s3 = new AWS.S3();
const params = {
  Bucket: 'my-bucket',
  Key: 'my-key',
  Body: 'Hello from AWS Lambda using TypeScript!',
  ContentType: 'text/plain'
};

s3.putObject(params, (err, data) => {
  if (err) console.error(err);
  else console.log(data);
});

위 코드는 S3 버킷에 텍스트 파일을 업로드하는 간단한 예제입니다.

AWS에 서버리스 애플리케이션 배포

서버리스 애플리케이션을 AWS에 배포하려면 위에서 작성한 타입스크립트 코드를 AWS Lambda 함수로 만들어야 합니다. 이를 위해 AWS 콘솔이나 AWS CLI를 사용하여 AWS Lambda에 함수를 생성하고 배포합니다.

$ aws lambda create-function --function-name my-function --zip-file fileb://my-deployment-package.zip --handler index.handler --runtime nodejs14.x --role arn:aws:iam::123456789012:role/execution_role

위 명령어는 index.ts 파일을 my-deployment-package.zip으로 묶은 뒤 my-function이라는 이름의 Lambda 함수를 생성하고 배포합니다.

이제 AWS Lambda 콘솔을 통해 API Gateway와 연결하여 서버리스 애플리케이션을 외부로 노출할 수 있습니다.

이상으로, AWS SDK를 사용하여 타입스크립트로 서버리스 애플리케이션을 개발하고 배포하는 방법에 대해 알아보았습니다.

참고문헌: