[typescript] 타입스크립트를 사용하여 AWS SDK로 인프라 프로비저닝 및 구성 관리하기

AWS SDK를 사용하면 TypeScript로 쉽게 AWS 인프라를 프로비저닝하고 관리할 수 있습니다. 이번 블로그 포스트에서는 AWS SDK 및 타입스크립트를 사용하여 EC2, S3, 및 DynamoDB와 같은 AWS 리소스를 생성하고 구성하는 방법에 대해 소개하겠습니다.

목차

AWS SDK 설치

먼저, AWS SDK를 설치합니다. npm을 사용하여 aws-sdk를 설치합니다.

npm install aws-sdk

EC2 인스턴스 생성

이제 타입스크립트를 사용하여 AWS SDK를 초기화하고 EC2 인스턴스를 생성하는 예제 코드를 살펴보겠습니다.

import * as AWS from 'aws-sdk';

// AWS SDK 구성
AWS.config.update({ region: 'ap-northeast-2' });

// EC2 인스턴스 생성
const ec2 = new AWS.EC2();
const params = {
  ImageId: 'ami-0ff8a91507f77f867',
  InstanceType: 't2.micro',
  KeyName: 'my-key-pair',
  MinCount: 1,
  MaxCount: 1,
};

ec2.runInstances(params, (err, data) => {
  if (err) {
    console.error("Error", err);
  } else if (data) {
    console.log("Success", data.Instances);
  }
});

S3 버킷 생성

다음으로, 타입스크립트를 사용하여 AWS SDK를 통해 S3 버킷을 생성하는 방법을 살펴보겠습니다.

// S3 버킷 생성
const s3 = new AWS.S3();
const bucketParams = { Bucket: 'my-bucket' };

s3.createBucket(bucketParams, (err, data) => {
  if (err) {
    console.error("Error", err);
  } else {
    console.log("Success", data.Location);
  }
});

DynamoDB 테이블 생성

마지막으로, 타입스크립트를 사용하여 AWS SDK를 이용해 DynamoDB 테이블을 생성하는 예제 코드를 살펴보겠습니다.

// DynamoDB 테이블 생성
const dynamodb = new AWS.DynamoDB();
const tableParams = {
  TableName: 'my-table',
  KeySchema: [
    { AttributeName: 'id', KeyType: 'HASH' }
  ],
  AttributeDefinitions: [
    { AttributeName: 'id', AttributeType: 'S' }
  ],
  ProvisionedThroughput: {
    ReadCapacityUnits: 5,
    WriteCapacityUnits: 5
  }
};

dynamodb.createTable(tableParams, (err, data) => {
  if (err) {
    console.error("Error", err);
  } else {
    console.log("Table Created", data);
  }
});

이제 타입스크립트를 사용하여 AWS SDK를 통해 AWS 인프라를 프로비저닝하고 구성할 수 있는 방법에 대해 알아보았습니다. AWS SDK의 다양한 기능과 타입스크립트의 장점을 활용하여 보다 안정적이고 유지보수하기 쉬운 인프라 관리 코드를 작성할 수 있습니다.