AWS Billing Alarm, Amazon Web Services (AWS) hesabınızdaki harcama miktarını izlemek ve belirli bir seviyeye ulaştığında uyarılar almak için kullanılır. Bu özellik, hesabınızdaki harcama miktarı beklentiniz dışında yükseldiğinde size uyarı verir, böylece hesabınıza ekstra maliyetler yüklemekten kaçınmış olursunuz.
Konunun daha iyi anlaşılabilmesi açısından, şu şekilde bir benzetme kullanabiliriz. AWS Billing alarm, bir alarm sistemi gibi düşünülebilir. Örneğin, evinizde bir alarm sistemi var ve evdeki elektrik fatura harcamanızı izlemek için bir bütçe belirlediniz. Bu bütçe, evdeki elektrik fatura harcamanızın ne kadar olabileceğine izin verdiğinizi gösterir. Herhangi bir harcama yaparken, alarm sistemi harcamanın tutarını gösterir, siz de elektrik faturası için ne kadar bütçeniz kaldığını görür ve ona göre hareket edersiniz. Eğer harcamanız bütçenizi aşarsa, alarm sistemi size bildirim gönderir ve harcamanızı durdurmanız için size uyarı verir. AWS Billing alarm da aynı şekilde çalışır. AWS hesabınızda belirli bir bütçe belirlersiniz ve AWS servislerini kullanarak harcama yaparken, harcamanızın ne kadar olduğunu ve bütçenizin ne kadar kaldığını gösterir. Eğer harcamanız bütçenizi aşarsa, AWS size bildirim gönderir ve harcamanızı durdurmanız için size uyarı verir.
Haydi birlikte AWS hesaplarımızda Billing Alarm oluşturalım.
AWS Management Console üzerinde ‘Billing’ Servisi’ne girin.

Billing Alarm oluşturmak için yapmamız gereken bazı işlemler var. Sol menü kısmında ‘Billing Preferences’ bulunuyor. Buraya tıklayalım.

Burada iki adım bulunuyor. ‘Receive Free Tier Usage Alerts’ kısmı var, sizde default olarak seçili olmayabilir. Bunu lütfen seçin. Seçili ise sorun yok, o şekilde kalsın. Bu seçim şu işi yapacak: Sizin Free Tier kullanımınız limitlere gelirse size bir mail gönderecek. Kullanımınız ile alakalı notification almış olacaksınız. Aşağıda yer alan kutucuğu (Email Address) doldurmazsanız AWS hesabınızı açarken hangi mail adresi ile açtıysanız bilgilendirme maili oraya gelecektir. Farklı bir mail adresine bildirim gitsin istiyorsanız bu kutucuğa o mail adresini yazabilirsiniz. ‘Receive Billing Alerts’i de işaretlememiz gerekiyor. Çünkü CloudWatch servisinde oluşturacağımız Billing Alarm’ı almak, o alarmlar ile uyarılmak istiyorsak bu kutucuğu da işaretlememiz gerekiyor. İki kutucuğu da işaretliyoruz. Ardından tercihlerimizi kaydetmek için ‘Save Preferences’ yazan mavi butona tıklıyoruz.

AWS Billing servisi global bir servistir. O yüzden Billing Servisi Region bazlı değildir. Bu işlemler prerequisite (ön gereklilik) idi. Şimdi alarmı oluşturma kısmına geçelim.
‘Manage Billing Alerts’ hyperlink’ine sağ tıklayarak yeni sekmede açın.

Bu işlem bizi AWS CloudWatch servisine götürecektir.

AWS CloudWatch Servisi, AWS’in monitoring servisidir. (resource’larımızı monite ettiğimiz, takip ettiğimiz servistir.) Örneğin ücretlendirmeyi buradan takip edebiliriz. Bunu bir alarma bağlayabiliriz. Diğer bütün servisleri de uygun metriklerle CloudWatch servisi ile takip etmemiz mümkündür. Bu kısa olan yoldu, şimdi de uzun yola göz atalım.
AWS Management Console’da Search kısmına ‘watch’ yazarsanız CloudWatch servisi karşınıza çıkacaktır.

Bu servisi seçtiğimiz zaman da yine aynı yere gelmiş oluyoruz. Left hand (sol) menüde yer alan ‘All alarms’ butonuna tıklayalım.

Burada daha önce kurduğunuz bütün alarmları görmeniz mümkündür. Left hand (sol) menüde yer alan ‘Billing’e tıklayalım.

Ardından ‘Create alarm’ butonuna tıklayalım.

Not: Örneğimiz özelinde resource’larımızın N.Virginia Region’ında olduğunu varsayalım. Bu kapsamda N.Virginia Region’ında olmamız önemli. Çünkü monite etmek istediğimiz resource’larımız orada. Metric name’e isim verelim. Currency (para birimi) ‘USD’ olarak kalsın. Geri kalan kısımları default (varsayılan) değerleriyle bırakalım.

Bu noktada threshold’u (eşiği) belirleyelim. Gözlem yapılan metrikte hangi eşiğe gelindiğinde AWS bize notification versin, onu belirliyoruz. (Örneğin her 50 dolar için alarm aktif olsun.) Threshold değerini girdikten sonra ‘Next’ butonuna tıklayalım.

İkinci adıma geçtik. Bu adımda, alacağımız notification’ın ayarlarını yapacağız. ‘Notification’ başlığı altındaki ‘Create new topic’ seçeneğini seçin. Bu seçeneği seçerek arka planda SNS servisini kullanıyor olacağız. ‘Create a new topic…’ başlığı altında topic’e ‘BillingTopic’ adını verelim. Biz bildirimi e-mail ile almak istiyoruz. Hangi e-mail adresine notification gelmesini istiyorsak o e-mail adresini ‘Email endpoints that will receive the notification…’ kısmına yazalım. Ardından ‘Create topic’ butonuna tıklayalım.


Aşağı doğru ilerleyip ‘Next’ butonuna tıklayalım.

Üçüncü adıma geçtik. Burada alarm’a bir isim veriyoruz ve ‘Alarm name’ kısmını dolduruyoruz. (Ör: Billing Alarm). Optional (isteğe bağlı) olarak description kısmına bir şeyler yazılabilir. Alarmın ne işe yaradığı yazılabilir. Ardından ‘Next’ butonuna tıklayalım.

Dördüncü adıma geçtik. Diğer 3 adımda yaptığımız ayarları gözden geçiriyoruz. Hatalı bir seçim yapmışsak veya bir ayarı değiştirmek istiyorsak bu adımda kolayca seçimlerimizi düzenlememiz mümkündür. Diğer 3 adımda bilgileri doğru girdiysek ve herhangi bir değişiklik yapmayacaksak sayfanın en sonuna inip ‘Create alarm’ butonuna tıklayalım.


Ardından ekranımızda ‘Successfully created alarm BillingAlarm’ bildirimini göreceğiz. (BillingAlarm: Bizim alarma verdiğimiz isim)

BillingAlarm’ın en sağında ‘Warning’ isminde bir uyarı göreceksiniz. Bunun üzerine gelirseniz ‘Bu eylem, onay bekleyen bir endpoint olan bir SNS konusuna bir mesaj gönderir. Endpoint onaylanana kadar beklendiği gibi çalışmayacaktır. Bir abonelik onay e-postası arayın veya konuyu SNS’de inceleyin.’ anlamına gelen İngilizce bir metin yazdığını göreceksiniz.

Bunun anlamı şudur: Bir e-mail adresi yazdık ve o e-maile bazı bilgiler gelecek. O e-mailin bize ait olduğunu doğrulamamız lazım. AWS, e-mail adresinin bizim olup olmadığını kontrol etmek istiyor.
E-mail kutumuzu açalım. Gelen kutunuzda AWS’den gelen ‘Subscription Confirmation’ konulu bir notification maili olduğunu göreceksiniz.

Eğer buradan mail almak istiyorsanız bu subscription’ı confirm edin manasına gelen bir mail bu. ‘Confirm subscription’ yazan altı çizili mavi yazıya tıklayalım.

Yeni bir sekme açıldığını ve ekranda yeşil renkli yazıyla ‘Subscription confirmed!’ yazdığını göreceksiniz.

Bununla SNS topic’i onaylamış oluyoruz. Yani bu topic’ten gelen notification’ları almak istiyorum diyoruz. Kullanımımız threshold’da belirtilen limit değeri geçerse notification maili alacağım demektir.
Subscription işleminden sonra CloudWatch servisindeki alarmlara (left hand (sol) menüdeki alarmlar) geri dönersek ‘BillingAlarm’ isimli alarmın yanındaki ‘Warning’ yazısının kalktığını görürüz. Alarmımızı oluşturmuş olduk.

Alarmı oluştururken belirlediğimiz tutar $50’dı. Eğer faturamız bu tutarı geçecek olursa alarm aktif olacak ve yukarıdaki adımlarda anlattığımız üzere Billing için belirlediğimiz eşik değerinin aşıldığını belirten bir mail alacağız. Bu sayede AWS üzerindeki harcamalarımızı kontrol altında tutabiliriz.
Buraya kadar yaptıklarımızla AWS Management Console üzerinde Billing Alarm oluşturmayı öğrenmiş oldunuz. Özetle AWS Hesaplarında Billing Alarm oluşturmanın faydalarını maddeler halinde sıralamam gerekirse:
- AWS hesaplarınızdaki maliyetleri izlemenizi kolaylaştırır.
- Belirli bir maliyet seviyesine ulaştığında size bildirim gönderir, böylece hesabınızda çok fazla harcama olmadan önce müdahale edebilirsiniz.
- Belirli bir maliyet seviyesinden daha yüksek maliyetlere izin vermemek için hesabınızı sınırlandırabilirsiniz.
- Hesabınızda oluşması muhtemel maliyetlerini kontrol etmenizi ve bütçenizi daha iyi planlamanızı sağlar.
- Alarmlar, hesabınızdaki maliyetleri daha iyi anlamanıza ve maliyetleri azaltmanıza yardımcı olur.
- Alarmlar, size hesabınızda hangi servislerin ne kadar maliyet oluşturduğunu gösterir.
Sonraki bloglarda görüşmek üzere.
Oğuzhan Selçuk Hızıroğlu
AWS üzerine kariyer yapmak ve AWS sertifikası almış yüzbinlerce profesyonelin arasına katılmak isterseniz, bize info@yonetim.academy adresinden ulaşabilir ve eğitimlerimiz ile ilgili bilgi alabilirsiniz.
Yazının tüm hakları Yönetim.Academy’e aittir. İzinsiz olarak, kaynak belirtilerek dahi alıntı yapılması ya da yazının tamamının başka yerde yayınlanması yasaktır.