AWS에 대한 일일 지출을 어떻게 모니터링 할 수 있습니까?


26

우리의 인프라는 AWS에 있습니다. 전날 얼마나 지출했는지 매일보고하고 싶습니다. 가장 좋은 방법은 무엇입니까?

답변:


20

최신 정보

AWS는 할 수있는 기능을 정식 출시한다고 발표했다 경고를 청구하여 예상 요금 모니터 를 통해 아마존 CloudWatch에서 (이것은 분명히 AWS 프리미엄 사용할 수있다 이미 2011 년 말부터, 다니엘 로페즈 '대답을 참조 계정 거기 아마존 AWS를 설정하는 방법을 청구 한도? ) :

정기적으로 귀하가 사용하는 각 AWS 서비스에 대한 총 월 요금이 추정됩니다. 계정에 대한 모니터링을 활성화하면 견적이 CloudWatch 지표로 저장되기 시작하며, 일반적인 14 일 동안 계속 사용할 수 있습니다. [...]

소개 블로그 게시물에 요약 된대로 , 청구 알림을 사용하여 AWS 청구가 예상보다 높은시기를 알려 시작할 수 있습니다 .이 기능에 대한 자세한 내용은 Amazon CloudWatch사용하여 예상 요금 모니터링을 참조하십시오 .

이는 이미 많은 기본 요구에 매우 유용하지만 CloudWatch API 를 사용하여 저장된 지표를 직접 검색 ( GetMetricStatistics 참조 )하면 실제로이 데이터를 기반으로 임의의 워크 플로우 및 비즈니스 로직을 구동 할 수 있으며 일일 보고서를 생성 할 수 있습니다 전날에 지출 한 금액에 대해서도

후자와 관련하여이 오퍼링의 범위는 다음과 같이 강조됩니다.

이 점에 유의하는 것이 중요하다 이러한 추정이 아닌 예측이다 . 추정치 는 현재 청구주기 내 현재 까지의 AWS 사용 비용과 비슷 하며 리소스를 계속 사용함에 따라 증가합니다 . [...] AWS 사용 패턴의 트렌드 나 잠재적 변경은 고려하지 않습니다. [강조 광산]

즉,보고 된 측정 항목의 세분성은 아직 분석되지 않았습니다 (4 ~ 8 시간마다 데이터 포인트가 표시되지만 실제로 예상되는대로 매번 값이 업데이트 될 필요는 없음). 통계적 사후 처리.


초기 답변

불행히도, 이는 원하는 데이터를 계정을 통해 수동으로 검사 할 수 있다는 점에서 생각보다 솔직하지 않습니다. 두 가지 모니터링 옵션이 있습니다.

  • 이메일 / RSS / 등을 통한 알림.
  • 데이터에 대한 API 액세스

내가 아는 AWS 나 다른 IaaS / PaaS / SaaS 공급 업체는 현재 회계 데이터에 대한 API 액세스를 제공하지 않으며 (재무 / 법적 영향이있을 수 있음) 타사 통합 형식을 쉽게 만들 수 있습니다. 요즘에는 번거롭지 만, 처음부터 데이터를 검색하려면 웹 스크랩에 의존해야합니다.

운 좋게도 Cloudability (프리 티어 중단 후 제거 된 링크)의 새로운 오퍼링은 최근에 전문적이고 벤더에 관계없이이 작업을 수행하기 위해 최근 단계에 들어 섰습니다. 하지만 월별 지출에 대한 일일 보고서 (또는 덜 빈번한 보고서) 만 받을 수 있습니다. 즉, 일일 지출로 아직 분류되지 않았습니다. 일일 증가를 추가하는 것은 물론 사소한 일이므로 시간이 지남에 따라 더 많은 정보를 사용할 수 있기를 바랍니다.

가격에 대한 접근 방식 (프리 티어 중단 후 제거 된 링크)도 새로 고침 (명확하지만) 자체 클라우드 지출과 연결되어 있으므로 각각의 절약 가능성을 깨닫 자마자 비용을 지불해야합니다 (충전하지 않음) 당신이 $ 2.5k / mo 미만을 쓰는 경우에 전혀).
20121016 업데이트 : 불행히도 Cloudability는 가격 모델을 더 일반적인 모델로 변경했으며, 여전히 프리 티어를 포함하고 (일반적으로 합리적인 가격), 고급 기능에 대한 액세스는 제거했습니다. 적은 예산으로 여전히 다른 곳에서 승수이거나 성장한 후에 업그레이드 할 수 있습니다.

20150115 업데이트불행히도 Cloudability는 많은 프리미엄 SaaS 공급 업체의 경로를 선택하고 마침내 프리 티어를 완전히 중단했습니다. 2 월 1 일부터 더 이상 현재 사용중인 Cloudability Free 버전을 제공하지 않습니다 .

20120427 업데이트

기본 AWS 자격 증명이 필요하다는 이전 경고 (아래 참조 용)는 더 이상 적용되지 않습니다. AWS는 최근 새로운 IAM 기능 : 암호 관리 및 계정 활동 및 사용 보고서 페이지 액세스 :

이 새로운 기능을 사용하면 비즈니스 및 기술 목적으로 별도의 고유 한 IAM 사용자를 생성 할 수 있습니다. 비즈니스 사용자에게 AWS 웹 사이트의 계정 활동 및 / 또는 사용 보고서 페이지에 대한 액세스 권한을 부여하여 S3의 EC2 인스턴스 또는 파일과 같은 다른 AWS 리소스에 액세스하지 않고도 청구 및 사용 데이터에 액세스 할 수 있습니다.

Cloudability는 이제이 기능도 통합하여 더 이상 주요 AWS 자격 증명 을 제공하거나 클라우드 비용에 대한 통찰력을 얻기 위해 통합 결제 를 설정하기 위해 추가 노력을 기울일 필요가 없습니다. Amazon IAM 설정 방법 (Identity Account Management)을 참조하십시오. ) 자세한 내용은

전주의 사항

그래도주의해야 할 한 가지주의 사항이 있습니다.

데이터에 액세스하려면 기본 AWS 자격 증명을 전달해야합니다. 그렇지 않으면 분명히 계정을 손상시킬 수 없기 때문입니다. AWS를 들어, 특히 당신은 여전히 촉진함으로써이 문제를 피할 수있는 통합 결제 하면, 여러 아마존 AWS에 대한 지불을 통합하여 하나의 지불 계정을 지정하여 [...] 계정 차례에 컴퓨팅 자원 및 데이터에 액세스 할 수 없습니다.


방금 Cloudability에 가입했지만 메일에서 어제 (또는 지난 24 시간)에 지출 한 금액을 찾을 수 없었습니다. 그들은 단지 월간 견적을 내고 있으며 지금까지 얼마나 소비했는지입니다.
Sabya

2
@sabya-당신은 물론 정확합니다. 나는 매일 보고서 만 깨달았고이 추가 요구 사항을 놓쳤습니다. 죄송합니다 (이를 반영하여 답변을 업데이트했습니다)! 메일에서 바로 사용할 수있게되면 눈에 띄게 개선되고 물론 훨씬 더 편리 할 것입니다.
Steffen Opel

12

awscli 도구를 사용하면 월별 총계 를 얻을 수 있습니다.

$ aws --region us-east-1 cloudwatch get-metric-statistics \
    --namespace "AWS/Billing" \
    --metric-name "EstimatedCharges" \
    --dimension "Name=Currency,Value=USD" \
    --start-time $(date +"%Y-%m-%dT%H:%M:00" --date="-12 hours") \
    --end-time $(date +"%Y-%m-%dT%H:%M:00") \
    --statistic Maximum \
    --period 60 \
    --output text | sort -r -k 3 | head -n 1 | cut -f 2

2494.47

서로 다른 이틀의 총계를 빼면 일일 델타를 얻을 수 있습니다. 또는 시간 창 ( end-time- start-time)을 24 시간으로 늘리고 가장 빠른 데이터 포인트를 가장 최근의 데이터 포인트에서 빼서 한 번에 예상치를 얻을 수 있습니다 .

노트:

  • 예상 요금을 모니터링 할 수 있다고 가정
  • 당신이 GNU를 가지고 있다고 가정합니다 date( date예를 들어, OSX와 같은 다른 것들은 date -v-12H작동 할 수 있습니다)
  • 통화는 다를 수 있습니다
  • Amazon은 ~ 4 시간마다 CloudWatch 지표를 업데이트하므로 4 시간보다 작은 시간 창을 쿼리하면 데이터 포인트가 반환되지 않을 수 있습니다. 여분의 안전을 위해 12h 창을 사용했습니다.
  • 내 답변의 기반이 된 블로그 게시물에 대한 링크를 포함하고 싶었지만 2 개 이상의 링크를 게시하려면 10 개의 평판이 필요합니다. :)

1
'AWS / Billing'네임 스페이스에 작동하는 유일한 지역은 us-east-1이라는 점에 유의해야합니다. 결제에 액세스 할 수있는 계정이 CLI를 통해 빈 결과를 얻는 이유가 무엇인지 궁금하게 생각했습니다.
코리 콜

awscli는 botocore를 사용하며 이러한 속성은 boto3.readthedocs.io/en/latest/reference/services/…를 통해 액세스 할 수있는 것으로 보입니다.
monkut

이제 다른 지역에서도이 작업을 수행 할 수있는 방법이 있습니까?
nh2

4

일상적인 비용 보고서가 실제로 필요한 경우 AWS 계정에서 " 사용 보고서 "도구 를 사용해야 합니다. 원하는 시간에 따라 사용하는 각 서비스에 대한 보고서를 시간 단위에서 월 단위로 세분화하여 요청할 수 있습니다. 그런 다음 CSV를 다운로드합니다.

비용은 아니지만 사용량 등으로 인해 해당 CSV에 대해 사후 처리를 수행해야하지만 일상적인 비용이 필요한 데이터를 제공합니다.


+1 예, 이해합니다. 나는 더 쉬운 방법을 찾고있었습니다.
Sabya


2

Github의이 Python 모듈은 pyec2costs (예약 또는 주문형 인스턴스)를 시작하는 데 도움이 될 수 있습니다 .


2

Netflix가 공개적으로 제공하는 Ice라는 새로운 도구가 있습니다 : https://github.com/Netflix/ice 를 사용하면 S3 버킷에 생성 된 AWS 보고서를 통해 검색된 청구 내역을 시각화 할 수 있습니다.


1

Xervmon을 살펴보십시오. 과거에 대한 분석에 일상적인 지출과 사용량을 제공합니다. 이들은 향후 3 개월 안에 예정된 Amazon AWS와의 자세한 통합 기능을 갖춘 다가오는 서비스 제공 업체입니다.

내 현재 계정의 일부 스크린 샷은 다음과 같습니다. http://cloudmaya.net/~develop/demo/Slide1.jpg http://cloudmaya.net/~develop/demo/Slide2.jpg

많은 전문가들이 구축했으며 매우 깔끔합니다.


1

자세한 AWS 청구 CSV 파일을 구문 분석하고 분석하는 방법을 보여주는 간단한 스크립트는 다음과 같습니다.

당신은 당신 자신의 분석을 구축 할 수 있도록 충분히 쉬워야합니다!


1

CostExplorer AWS CLI 명령 사용 계정에 대한 비용 및 사용량 지표를 검색 할 수 있습니다

예를 들어 : 월초부터 현재까지 비용을 검색해야하는 경우 아래 명령을 사용할 수 있습니다.

aws ce get-cost-and-usage --time-period Start=$(date -u -d "$TODAY" '+%Y-%m-01'),End=$(date -u +"%Y-%m-%d" --date="+1 day") --granularity MONTHLY --metrics UnblendedCost --output text | sort -r -k 3 | head -n 1 | cut -f 2

출력 : 615.6129260967

매일 비용을 지불해야하는 경우 아래와 같이 GRANULARITY를 매일 사용하십시오.

aws ce get-cost-and-usage --time-period Start=$(date -u -d "$TODAY" '+%Y-%m-01'),End=$(date -u +"%Y-%m-%d" --date="+1 day") --granularity DAILY --metrics UnblendedCost

0

회사에서이를 위해 자체 사내 도구를 구축하는 것을 보았습니다. 기본적으로 AWS 청구 페이지와 자체 대시 보드에서 현재 비용을 표시하고 한 예에서 지난 달을 일별로 나눕니다. 예상 총 월 비용을 얻기 위해 여러 번.

AWS는 아직 청구 API를 제공하지 않지만 (향후에는 확실 할 것임) 도움이 될 수있는 몇 가지 외부 서비스가 있습니다. 하나는 CloudVertical (공개 : 여기서 일함)이며, 일일, 월간 및 시간당 비용을 서비스별로, 여러 계정으로 얻을 수 있습니다.

AWS와 같은 서비스의 진정한 성배는 일일 지출을 추적하는 것이 아니라 효율성에 대한 통찰력 (비용 + 사용 = 효율성)을 보여주고 절감 기회 (예 : 예약 또는 스팟 인스턴스 사용 시간)를 강조하는 것입니다.


Ed Byme이 맞습니다. 여러 제공자가 있습니다. Cloudability는 CloudVertical과 마찬가지로 하나입니다. 그러나 그들은 당신이 아마 사용하지 않을 많은 기능을 가진 매우 무거운 무게와 비싼 솔루션입니다. 대신 매우 저렴한 BillGist.com (공개 : 여기서 일함 )을 고려 하여받은 편지함에 바로 이메일을 보냅니다 .


0

이제 비용 탐색기 API를 사용하여이를 수행 할 수 있습니다. 예를 들어 awscli / boto3을 통해 매우 쉽게 액세스 할 수 있지만 요점은 이전보다 훨씬 쉽다는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.