AWS’de günlük harcamaları nasıl izleyebilirim?


26

Altyapımız AWS'de. Önceki gün ne kadar harcandığı hakkında günlük bir rapor almak istiyorum. Bunu yapmanın en iyi yolu nedir?

Yanıtlar:


20

Güncelleştirme

AWS sadece işlevsellik genel durumunu açıkladı Uyarılar Fatura kullanma Tahmini Suçlamaları Monitör aracılığıyla Amazon CloudWatch (o görünüşte AWS prime mevcut olmuştur zaten 2011 yılı sonundan bu yana, Daniel Lopez' cevabını bakın hesapları İş'in orada Amazon AWS ayarlamak için bir yol fatura limiti? ):

Kullandığınız her AWS servisi için toplam aylık ücreti düzenli olarak tahmin ediyoruz. Hesabınız için izlemeyi etkinleştirdiğinizde, tahminleri her zamanki 14 günlük süre boyunca kullanılabilir olacakları CloudWatch ölçümleri olarak kaydetmeye başlarız. [...]

Giriş blog yayınında belirtildiği gibi, AWS faturanızın beklenenden daha yüksek olacağını size bildirmek için faturalandırma uyarılarını kullanarak başlayabilirsiniz , bu işlevle ilgili daha fazla ayrıntı için bkz . Amazon CloudWatch'u Kullanarak Tahmini Ücretlerinizi İzleme .

Bu zaten birçok temel ihtiyaç için oldukça faydalıdır, ancak saklanan metrikleri kendiniz almak için CloudWatch API'lerini kullanmak (bkz. GetMetricStatistics ), aslında bu verilere dayanarak ve elbette günlük bir rapor oluşturabilmeniz için isteğe bağlı iş akışlarını ve iş mantığını sürmenizi sağlar Bir önceki günde ne kadar harcandığını da.

İkincisi ile ilgili olarak, bu teklifin kapsamı da vurgulanmaktadır:

Bunların tahminler olduğunu , tahminler olmadığını not etmek önemlidir . Tahmin , AWS kullanımınızın maliyetini geçerli faturalandırma döngüsüne kadar yaklaştırır ve kaynakları tüketmeye devam ettikçe artacaktır . [...] AWS kullanım düzeninizdeki eğilimleri veya potansiyel değişiklikleri dikkate almaz. [vurgu madeni]

Yani, raporlanan metriklerin ayrıntı düzeyi henüz analiz edilmedi (her 4 ila 8 saatte bir veri noktaları görüyorum, ancak gerçekte bekleneceği gibi her seferinde değerleri mutlaka güncellemiyorum), bu nedenle yeterince kesin bir günlük rapor türetmek gerekebilir. istatistiksel işlem sonrası.


İlk cevap

Maalesef bu, tahmin edilenden daha az basit, özellikle de istenen verilerin hesabınız üzerinden manuel olarak kontrol edilebileceği göz önüne alındığında. Beklenebilecek iki izleme seçeneği var:

  • e-posta / RSS / etc üzerinden bildirimler.
  • Verilere API erişimi

Ne AWS, ne de farkında olduğum herhangi bir IaaS / PaaS / SaaS satıcısı, şu anda muhasebe verilerine API erişimi sunmuyor (belki de potansiyel mali / yasal etkiler nedeniyle), bu şekilde herhangi bir 3. parti entegrasyonunu (kolay bir şekilde gerçekleştirebilir) yapıyor. Bugünlerde yapın) En iyi hantal, ilk etapta verileri almak için web sıyırıcılığına başvurmanız gerekir.

Neyse ki Cloudability'den yeni bir teklif [ücretsiz seviyenin kesilmesinden sonra kaldırılan bağlantı] son ​​zamanlarda sadece sizin için profesyonel ve satıcı agnostik bir şekilde bunu yapmak için sahneye girdi, şu anda AWS için büyük bir başarı ile kullanıyoruz - şu anda bir alma yalnızca aylık harcama günlük (ya da daha az sıklıkta) raporu olsa yani henüz günlük harcamalarına parçalanmaz. Günlük artışı eklemek elbette önemsiz olacak, bu yüzden zaman içinde bunun gibi daha fazla bilgi edinmelerini umuyor ve umuyorum.

Fiyatlandırma yaklaşımı [serbest katman kesildikten sonra kaldırılan bağlantı] da canlandırıcıdır (açık olmasına rağmen) ve basitçe kendi bulut harcamalarınıza bağlı olarak, bu nedenle ilgili tasarruf potansiyelini fark ettiğiniz anda kendi masrafını ödemelidir Eğer bir şey hiç 2.5k $ / ay daha az harcarsanız
Güncelleme 20121016 : Maalesef Cloudability, fiyatlandırma modelini daha yaygın bir modelle değiştirdi; bu da hala ücretsiz bir seviye içeriyor (ve genel olarak makul bir fiyatla satılıyor), ancak kullanıcılar için son derece adil ve akıllı bir yaklaşım olduğunu düşündüğüm gelişmiş özelliklere erişimi kaldırıyor küçük bütçelerle, başka bir yerde hala çarpan olabilir veya büyürken yükselebilir.

20150115 Güncellemesi: Ne yazık ki Cloudability, pek çok serbest SaaS satıcısının yolunu seçti ve sonunda ücretsiz seviyeyi tamamen iptal etti: 1 Şubat'tan itibaren, bugün kullandığınız Cloudability Free sürümünü artık sunmayacağız .

20120427 Güncellemesi

Ana AWS kimlik bilgilerinizi isteme konusundaki eski uyarı (aşağıda referans olarak tutulur) artık geçerli değildir - AWS yakın zamanda Yeni IAM Özelliklerini Tanıttı: Şifre Yönetimi ve Hesap Etkinliği ve Kullanım Raporlarına Erişim Sayfaları :

Bu yeni özellik, ticari ve teknik amaçlar için ayrı ve farklı IAM kullanıcıları oluşturmanıza olanak sağlar. İşletme kullanıcılarınıza, EC2 örnekleri veya S3'teki EC2 örnekleri veya diğer dosyalar gibi diğer AWS kaynaklarına erişmeden, fatura ve kullanım verilerine erişebilmeleri için AWS web sitesinin Hesap Etkinliği ve / veya Kullanım Raporları sayfalarına erişmelerini sağlayabilirsiniz.

Cloudability şimdi bunu da bütünleştirdi, bu yüzden artık onlara ana AWS bilgilerinizi vermenize gerek yok veya yalnızca bulut harcamalarınız hakkında fikir edinmek için Konsolide Faturalandırma oluşturmak için fazladan çaba harcadınız , bkz. Amazon IAM (Kimlik Hesabı Yönetimi Nasıl Kurulur?). ) detaylar için.

Eski Caveat

Olsa da, dikkat edilmesi gereken bir uyarı var:

Verilerinize erişmek için onlara ana AWS bilgilerinizi vermeniz gerekir, çünkü aksi takdirde hesabınızı kazıyamazlar. AWS için özellikle hala kolaylaştırarak bu önleyebilirsiniz Konsolide Fatura Eğer birden Amazon AWS için ödeme pekiştirmek tek ödeme hesabı belirleyerek [...] hesapları da bilgi işlem kaynakları ve veri erişimi yok.


Cloudability'a yeni kaydoldum ancak postalarında dün ne kadar harcadığımızı bulamadım (veya son 24 saat içinde). Sadece aylık tahminler yapıyorlar ve şu ana kadar ne kadar harcanıyor.
Sabya

2
@sabya - elbette haklısın, yalnızca günlük raporları gerçekleştirdim ve bu ek şartı kaçırdım, üzgünüm (yanıtı yansıtacak şekilde güncelledim)! Açıkçası, 2. günden sonra matematiği kendiniz yapmak önemsiz olacaktır, ancak postada doğru olması açık bir gelişme ve elbette daha uygun olacaktır.
Steffen Opel

12

Awscli araçlarını kullanarak , aylık toplam tutarınızı alabilirsiniz:

$ 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

Günlük deltayı almak için iki farklı gündeki toplamlar çıkarılabilir. Veya, bir seferde zaman penceresini ( end-time- start-time) 24 saate yükselterek ve en eski veri noktasını en son noktadan çıkartarak bir tahmin elde edilebilir .

Notlar:

  • Tahmini masraflarınızın izlenmesini etkinleştirdiğinizi varsayar .
  • GNU’nuz olduğunu varsayar date( dateörneğin, OSX’de date -v-12Hçalışabilir)
  • Para Biriminiz değişebilir
  • Amazon, CloudWatch metriklerini her ~ 4 saatte bir günceller, bu nedenle 4 saatten daha küçük bir zaman dilimi için sorgulama yapmak herhangi bir veri noktasını döndürmeyebilir. Daha fazla güvende olmak için 12 saatlik bir pencere kullandım.
  • Cevabımın dayandığı blog postasına bir bağlantı eklemek istedim, ancak görünüşe göre 2'den fazla bağlantı göndermek için 10 itibara ihtiyacım var. :)

1
'AWS / Faturalandırma' ad alanı için çalışan tek bölgenin biz-doğu-1 olduğunu belirtmek önemlidir. CLI ile neden faturalandırmaya erişimi olan hesabımın boş sonuçlar aldığını merak ederek saçlarımın çoğunu parçaladım.
Corey Cole

Sadece bir nota awscli kullanımları botocore ve bu niteliklerin erişilebilir aracılığıyla gibi görünen boto3.readthedocs.io/en/latest/reference/services/...
monkut

Peki şimdi bu işi diğer bölgeler için yapmanın bir yolu var mı?
nh2

4

Günlük bir maliyet raporuna gerçekten ihtiyacınız varsa , AWS hesabınızda " Kullanım Raporu " aracını kullanmanız gerekir . Kullandığınız her hizmet için, istediğiniz zaman diliminde, ayrıntı düzeyinde saatten aya kadar bir rapor isteyebilirsiniz. Sonra bir CSV indirir.

Bu CSV’de bir miktar işlem yapmanız gerekecek (maliyet açısından değil, kullanımda vb. Olduğundan), ancak günlük bir maliyete ihtiyacınız olacak verileri size sağlayacaktır.


+1 Evet, anlıyorum. Sadece daha kolay bir yöntem arıyordum.
Sabya



2

Netflix tarafından Ice adlı açık kaynaklı yeni bir araç var: S3 kovalarınızda oluşturulan AWS raporlarında alınan fatura ayrıntılarının görselleştirilmesine olanak sağlayan Ice: https://github.com/Netflix/ice .



1

Detaylı AWS faturalandırma CSV dosyanızı nasıl ayrıştırıp analiz edebileceğinizi gösteren basit bir komut dosyası:

Kendi analizinizi yapabilmeniz için yeterince kolay olmalı!


1

CostExplorer AWS CLI komutunu kullanma Hesap için maliyet ve kullanım ölçümlerini geri almak mümkündür

Örn: Eğer ayın başından günümüze maliyeti geri almak gerekirse aşağıdaki komutu kullanabilirsiniz.

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

Çıktı: 615.6129260967

GÜNLÜK temelinde maliyet elde etmeniz gerekirse, GÜNLÜKLÜK'ü GÜNLÜK olarak aşağıda gösterildiği gibi kullanın:

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

Şirketlerin bunun için kendi şirket içi araçlarını yaptıklarını gördüm - temel olarak AWS fatura sayfasını hurdaya çıkarıyorlar ve kendi gösterge panolarında mevcut maliyeti gösteriyorlar ve bir örnekte, geçen aydaki günlere bölüyorlar ve tahmini toplam ay maliyetini almak için bu çarpımı.

AWS henüz bir faturalandırma API'si sunmuyor (gelecekte kullanacağına eminim), ancak yardımcı olabilecek birkaç harici hizmet var. Birincisi CloudVertical (açıklama: Burada çalışıyorum), günlük, aylık ve saatlik maliyetlerinizi, hizmete göre ve birden fazla hesap için ayırdığınızdan alabilirsiniz.

AWS gibi bir hizmet için gerçek kutsal kâse, yalnızca günlük harcamaları takip etmek değil, aynı zamanda verimlilik (maliyet + kullanım = verimlilik) hakkındaki bilgileri göstermek ve ayrıca tasarruf fırsatlarını da vurgulamaktır (örneğin, ayrılmış veya spot örnekleri kullanma zamanları)


Ed Byme doğru. Çok sayıda sağlayıcı var. Cloudability CloudVertical olduğu gibi biridir. Ancak hepsi çok ağır ve pahalı çözümlerdir ve muhtemelen asla kullanmayacağınız birçok özelliğe sahiptir. Bunun yerine, süper ucuz olan ve doğrudan gelen kutunuzda bildirdiğiniz e-postaları olan BillGist.com adresini ziyaret edin (açıklama: burada çalışıyorum).


0

Bunu şimdi Cost Explorer API'sı ile yapabilirsiniz. Örneğin, awscli / boto3 üzerinden çok kolay bir şekilde erişebilirsiniz, ancak asıl nokta, öncekinden çok daha kolay olmasıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.