Amazon Web Services 한국 블로그
AWS 프리 티어 사용량 확인용 API 출시
오늘부터 새로운 AWS 프리 티어 API를 사용하여 AWS 프리 티어 사용량을 확인할 수 있습니다. 이 API는 AWS Command Line Interface(AWS CLI)에서 바로 사용하거나 AWS SDK를 사용하여 애플리케이션에 통합할 수 있습니다.
AWS 프리 티어 프로그램을 통해 각 서비스별로 지정된 한도까지 AWS 서비스를 무료로 살펴보고 사용해볼 수 있습니다. AWS 프리 티어에는 다음과 같은 세 가지 유형의 오퍼링이 포함됩니다.
- Always free 오퍼의 경우, AWS 고객 자격을 유지하는 한 지정된 한도까지 서비스를 무료로 사용할 수 있습니다.
- 12 Months Free 오퍼의 경우, 계정이 활성화된 날로부터 1년 동안 지정된 한도까지 무료로 서비스를 사용할 수 있습니다.
- Short-term trials의 경우, 서비스에 따라 지정된 기간 동안 또는 최대 1회 한도까지 무료로 사용할 수 있습니다.
AWS 리소스를 활성화하고 프리 티어를 제공하는 AWS 서비스를 이용하기 시작하면, 프리 티어 한도에 얼마나 도달했는지를 추적하여 사용량에 따른 요금제로 전환되는 예상 시점을 파악할 수 있어야 합니다.
AWS 프리 티어 사용량은 다음과 같은 몇 가지 방법으로 추적할 수 있습니다.
- AWS 과금 정보 및 비용 관리 콘솔의 결제 기본 설정에서 사용량 알림은 기본적으로 활성화되어 있으며(AWS Organizations를 통해 계정을 만든 경우 제외), 각 서비스에 대한 프리 티어 한도의 85%를 초과하면 이메일이 발송됩니다.
- 과금 정보 및 비용 관리 콘솔의 Budgets 섹션에서 지출이 없는 예산 또는 월별 예산을 생성할 수 있습니다. 템플릿을 사용할 경우 몇 번 클릭하고 알림을 받을 수 있는 이메일 주소만 입력하면 됩니다.
- 과금 정보 및 비용 관리 콘솔의 프리 티어 페이지에서는 서비스, 오퍼 유형, 현재 사용량, 현재 결제 기간의 각 오퍼별 예상 사용량을 확인할 수 있습니다.
- 새로운 GetFreeTierUsage API는 프로그래밍 방식으로 사용할 수 있는 구조화된 형식으로 프리 티어 페이지에 동일한 정보를 제공합니다.
이제 이 새로운 API가 실제로 어떻게 작동하는지 알아보겠습니다.
AWS CLI에서 AWS 프리 티어 API 사용
제게는 지난 몇 개월 동안 만든 새 계정에 대한 액세스 권한이 있습니다. 여기서 AWS Command Line Interface(AWS CLI)를 사용하여 GetFreeTierUsage API를 직접 호출합니다.
aws freetier get-free-tier-usage
이 결제 기간 동안 이 계정에 적용되는 각 오퍼의 현재 사용량에 대한 설명이 포함된 JSON 문서가 응답으로 반환됩니다. 설명의 편의를 위해 여기서는 몇 가지 오퍼만 보여드리겠습니다.
{
"freeTierUsages": [
{
"service": "Amazon Simple Queue Service",
"operation": "",
"usageType": "Requests",
"region": "global",
"actualUsageAmount": 294387.0,
"forecastedUsageAmount": 679354.6153846154,
"limit": 1000000.0,
"unit": "Requests",
"description": "1000000.0 Requests are always free per month as part of AWS Free Usage Tier (Global-Requests)",
"freeTierType": "Always Free"
},
{
"service": "Amazon Elastic Compute Cloud",
"operation": "",
"usageType": "EBS:VolumeUsage",
"region": "global",
"actualUsageAmount": 9.0,
"forecastedUsageAmount": 33.0,
"limit": 30.0,
"unit": "GB-Mo",
"description": "30.0 GB-Mo for free for 12 months as part of AWS Free Usage Tier (Global-EBS:VolumeUsage)",
"freeTierType": "12 Months Free"
},
{
"service": "Amazon Elastic Compute Cloud",
"operation": "RunInstances:0002",
"usageType": "BoxUsage:freetier.micro",
"region": "global",
"actualUsageAmount": 476.0,
"forecastedUsageAmount": 851.0,
"limit": 750.0,
"unit": "Hrs",
"description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)",
"freeTierType": "12 Months Free"
},
{
"service": "Amazon Elastic Compute Cloud",
"operation": "RunInstances",
"usageType": "BoxUsage:freetier.micro",
"region": "global",
"actualUsageAmount": 225.0,
"forecastedUsageAmount": 485.0,
"limit": 750.0,
"unit": "Hrs",
"description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)",
"freeTierType": "12 Months Free"
},
{
"service": "Amazon Redshift",
"operation": "RunComputeNode:0001",
"usageType": "Node:dc2.large",
"region": "global",
"actualUsageAmount": 367.0,
"forecastedUsageAmount": 735.0,
"limit": 750.0,
"unit": "Hrs",
"description": "750.0 Hrs for free per month during a short-term trial as part of AWS Free Usage Tier (Global-Node:dc2.large)",
"freeTierType": "Free Trial"
},
...
]
}
freeTierUsages
목록에 가장 일반적인 오퍼를 찾을 수 있습니다.
- Amazon Elastic Compute Cloud(Amazon EC2)의 두 가지 컴퓨팅 오퍼가 나와 있습니다.
operation
RunInstances:0002
이 있는 오퍼는 Windows용입니다.operation
RunInstances
가 있는 오퍼는 Linux용입니다.operation
속성의 값은 Amazon EC2 콘솔의 인스턴스 또는 AMI 페이지에 표시되는 플랫폼 세부 정보 및 사용량 작업과 동일합니다. 자세한 내용은 Amazon EC2 사용 설명서에서 AMI billing information fields(AMI 결제 정보 필드)를 참조하세요.
- Amazon Elastic Block Store(Amazon EBS) 볼륨에 대한 단일 스토리지 오퍼. 이 오퍼와 두 가지 Amazon EC2 컴퓨팅 오퍼는
freeTierType
이12 Months Free
와 동일합니다. - Amazon Simple Queue Service(Amazon SQS)의
상시 무료
오퍼. - Amazon Redshift의
무료 평가판
(단기) 오퍼.
이러한 오퍼의 속성을 몇 가지 살펴보겠습니다.
description
은 오퍼의 내용을 알 수 있는 설명을 제공합니다.freeTierType
은Always Free
,12 Months Free
또는Free Trial
(단기)과 같은 오퍼 유형을 나타냅니다.unit
는 오퍼의 사용량을 측정하는 데 사용되는 단위를 나타냅니다. 예를 들어 EC2 인스턴스의 경우Hrs
(시간), EBS 볼륨의 경우GB-Mo
(월간 GB), Amazon SQS의 경우Requests
를 단위로 사용합니다.
오퍼의 한도(limit
), 오퍼의 실제 사용량(actualUsageAmount
), 결제 기간 종료 시(현재 달) 예상 사용량(forecastedUsageAmount
)이라는 세 가지 흥미로운 속성이 있습니다. 모두 오퍼에 사용되는 단위를 기준으로 합니다. 예를 들어 Windows 및 Linux 컴퓨팅 오퍼는 각각 월 750시간으로 제한됩니다. 스토리지 오퍼의 경우 한도는 월 30GB입니다. Amazon SQS의 경우 오퍼 한도는 월 백만 건의 요청입니다.
무료로 제공되는 한도 및 서비스에 대한 자세한 내용은 AWS 프리 티어 페이지의 각 카드와 각 서비스의 요금 페이지에 자세히 나와 있습니다. AWS 프리 티어 API에서 제공하는 실제 및 예상 사용량은 AWS 비용 및 사용 보고서와 마찬가지로 하루에 최대 3회까지 계산됩니다.
예상 사용량이 오퍼 한도보다 큰 경우, 동일한 방식으로 서비스를 계속 사용하면 결제 기간이 끝나기 전에 사용량에 따른 요금으로 전환될 것으로 예상할 수 있습니다. 한도에 도달하면 GetFreeTierUsage API가 실제 사용량을 더 이상 추적할 수 없습니다. 즉, 실제 사용량은 한도보다 클 수 없습니다. 이 경우 API는 해당 오퍼를 반환하지 않습니다.
예를 들어 AWS CLI의 --query
옵션을 사용하여 예측이 한도보다 큰 오퍼를 찾습니다.
{
"freeTierUsages": [
{
"service": "Amazon Elastic Compute Cloud",
"operation": "",
"usageType": "EBS:VolumeUsage",
"region": "global",
"actualUsageAmount": 9.0,
"forecastedUsageAmount": 33.0,
"limit": 30.0,
"unit": "GB-Mo",
"description": "30.0 GB-Mo for free for 12 months as part of AWS Free Usage Tier (Global-EBS:VolumeUsage)",
"freeTierType": "12 Months Free"
},
{
"service": "Amazon Elastic Compute Cloud",
"operation": "RunInstances:0002",
"usageType": "BoxUsage:freetier.micro",
"region": "global",
"actualUsageAmount": 476.0,
"forecastedUsageAmount": 851.0,
"limit": 750.0,
"unit": "Hrs",
"description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)",
"freeTierType": "12 Months Free"
}
]
}
프리 티어 한도를 초과하지 않으려는 경우에는 이 결과를 통해 Windows에서 EBS 볼륨과 Amazon EC2 컴퓨팅의 사용 추세를 확인할 수 있습니다.
예를 들어 이 예에서는 현재 1개월 동안 사용할 수 있는 750시간 중 476시간을 Windows EC2 인스턴스로 사용하고 있습니다. 이 속도라면 사용량이 한도를 넘어서 약 851시간에 도달할 것으로 예상됩니다. 비용이 걱정된다면 사용하지 않을 때나 야간에 Windows 인스턴스를 비활성화할 수 있습니다.
알아야 할 사항
이전에는 프리 티어 API가 일반에 제공되지 않았고, AWS 빌링 콘솔의 프리 티어 페이지에서 내부적으로 사용되었습니다. 이 페이지에는 동일한 데이터가 표시됩니다. 이번에 GetFreeTierUsage API가 일반에 제공됨에 따라, 걱정 없이 AWS를 사용하고, AWS 프리 티어 오퍼를 더 잘 활용하고, 무료로 제공되는 항목과 한도에 근접하거나 한도를 초과했을 때 대처 방법을 이해하는 데 도움이 되기를 바랍니다.
이 정보를 활용하여 비즈니스 요구 사항에 따른 맞춤형 보고서를 작성할 수 있습니다. 예를 들어 컴퓨팅 비용을 피하려면 프로그래밍 방식으로 EC2 인스턴스를 중지 또는 하이버네이트하거나 EC2 Auto Scaling 그룹의 크기를 0으로 설정할 수 있습니다. 원하는 AWS SDK를 사용하여 웹 앱을 만들거나 이 데이터를 모니터링 솔루션에 통합할 수 있습니다.
일반적으로 오퍼 사용량이 한도에 가까워지면 추가 이메일이나 알림을 보낼 수 있습니다(예: Amazon SES 또는 Amazon SNS를 사용하여 알림 전송). 그러면 추가 비용을 들이지 않고도 오퍼의 혜택을 최대한 활용할 수 있습니다. 사용량 예산 금액을 프리 티어 한도로 설정한 경우 AWS Budgets에서도 이 작업을 수행할 수 있습니다.
오퍼가 이 계정에 더 이상 적용되지 않는 경우(예: 이전 달 말에 만료된 경우), 해당 품목은 목록에 포함되지 않습니다. 이전에 API를 간접 호출한 결과를 저장한 경우, 오퍼 목록을 이전 결제 주기 동안 보고된 오퍼와 비교하여 최근에 만료된 오퍼를 확인할 수 있습니다.
AWS 프리 티어 사용량을 추적하는 방법에 대해 자세히 알아볼 수 있도록, AWS 전문가로부터 배우고 온라인으로 클라우드 스킬을 익힐 수 있는 온라인 학습 센터인 AWS Skill Builder에서 10분 분량의 교육 과정 3개를 제공합니다.
- AWS Free Tier: Introduction to Offerings
- AWS Free Tier: Introduction to Monitoring Services
- AWS Free Tier: Introduction to Managing Services
— Danilo