[typescript] AWS SDK를 사용하여 타입스크립트로 클라우드 비용 및 예산 관리하기

서론

클라우드 환경에서 운영하는 경우, 비용 및 예산을 효과적으로 관리하는 것은 매우 중요합니다. AWS가 제공하는 AWS SDK와 타입스크립트를 사용하여 클라우드 비용 및 예산을 관리하는 방법에 대해 알아보겠습니다.

AWS SDK 및 타입스크립트 설정

먼저, 프로젝트에 AWS SDK를 설치하고 타입스크립트 설정을 해야 합니다.

npm install aws-sdk
npm install --save-dev typescript

그리고 tsconfig.json 파일을 만들어 다음과 같이 설정합니다.

{
  "compilerOptions": {
    "target": "ES2018",
    "module": "CommonJS",
    "strict": true
  }
}

클라우드 비용 및 예산 정보 가져오기

AWS SDK를 사용하여 클라우드 비용과 예산 정보를 가져오는 방법은 다음과 같습니다.

import AWS from 'aws-sdk';

AWS.config.update({
  region: 'us-east-1', // 본인이 사용하는 리전으로 변경
  // AWS 계정의 액세스 키 및 시크릿 키 설정
  accessKeyId: 'YOUR_ACCESS_KEY',
  secretAccessKey: 'YOUR_SECRET_KEY'
});

const ce = new AWS.CostExplorer();

const params = {
  TimePeriod: {
    Start: '2022-01-01',
    End: '2022-01-31'
  },
  Granularity: 'MONTHLY',
  Metrics: ['BlendedCost']
};

ce.getCostAndUsage(params, (err, data) => {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});

위의 예제에서는 getCostAndUsage 메서드를 사용하여 특정 기간 동안의 비용 및 사용량을 가져오고 있습니다.

클라우드 예산 모니터링

클라우드 예산을 모니터링하고 초과 알림을 설정하는 방법은 다음과 같습니다.

const budgets = new AWS.Budgets();

const params = {
  AccountId: '123456789012', // 본인의 AWS 계정 ID로 변경
  Budget: {
    BudgetName: 'MyBudget',
    BudgetLimit: {
      Amount: '100',
      Unit: 'USD'
    },
    TimeUnit: 'MONTHLY',
    BudgetType: 'COST',
    CostTypes: {
      IncludeTax: true,
      IncludeSubscription: true,
      IncludeUpfront: true,
      UseBlended: true
    },
    TimePeriod: {
      Start: '2022-01-01',
      End: '2022-12-31'
    }
  }
};

budgets.createBudget(params, (err, data) => {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});

위의 예제에서는 createBudget 메서드를 사용하여 새로운 예산을 생성하고 있습니다.

결론

AWS SDK를 사용하여 타입스크립트로 클라우드 비용 및 예산을 관리하는 방법에 대해 알아보았습니다. 이를 통해 클라우드 환경에서 비용을 효과적으로 관리하고 예산을 모니터링할 수 있습니다.

참고 자료