
AWS FinOps Dashboard Nedir ?
Eğer AWS kullanıyor ve birden fazla hesap yönetiyorsanız bunun getirdiği bir takım sorumluluklarınız olacaktır.
Bu sorumlulukların başında ise elbette maliyet takibi ve optimizasyonu geliyor. AWS elbette verdiği bir çok hizmette olduğu gibi budget takip işlemleri için alertler ve treshold lar oluşturup finansal durumunuza dair haberdar olmanız için bir çok araç sunuyor fakat birden çok hesap yönetiyorsanız bu alerler bildirimler mail trafikleri , Hangi müşteri hesabı hangi servis ne kadar kullanılıyordu ve şu an bu aşım normal mi gibi bir karmaşa içerisine sizi sokacaktır.
AWS FinOps Dashboard, AWS maliyet izleme için açık kaynaklı, Python tabanlı bir komut satırı aracıdır (Rich kütüphanesiyle oluşturulmuştur). Zaman periyodu, hizmet ve maliyet tahsis etiketlerine göre çoklu hesap maliyet özetleri; bütçe sınırları ile gerçekler; EC2 örneği durumu; altı aylık maliyet trendi grafikleri; ve “FinOps denetimi” raporları (örneğin etiketlenmemiş veya boşta kaynaklar) sağlar. Verileri CSV/JSON/PDF’ye aktarabilir.
Yukarıda saydığım sebeplerden dolayı bu yazımda çoklu müşteri veya bir hesap altındaki birden fazla account’u takibini tek ekranda raporlaya bileceğiniz açık kaynak olarak geliştirilmiş “AWS FinOps Dashboard (CLI) v2.2.6” projesinden bahsedeceğim ve bu aracın Ubuntu 20.24 üzerine nasıl kurabileceğimizi anlatacağım.
Uygulamamızın github sayfasına buradan erişebilirsiniz.
Feature
- Cost Analysis by Time Period:
- View current & previous month’s spend by default
- Set custom time ranges (e.g., 7, 30, 90 days) with –time-range option
- Cost by AWS Service: Sorted by highest cost for better insights
- Cost by Tag: Get the cost data by one or more tags with –tag(cost allocation tags must be enabled)
- AWS Budgets Information: Displays budget limits and actual spend
- EC2 Instance Status: Detailed state information across specified/accessible regions
- Cost Trend Analysis: View detailed cost trends in bar charts for the last 6 months across AWS profiles
- FinOps Audit: View untagged resources, unused or stopped resources and Budget breaches across AWS profiles
- Profile Management:
- Automatic profile detection
- Specific profile selection with –profiles
- Use all available profiles with –all
- Combine profiles from the same AWS account with –combine
- Region Control: Specify regions for EC2 discovery using –regions
- Export Options:
- CSV export with –report-name and –report-type csv
- JSON export with –report-name and –report-type json
- Export to both CSV and JSON formats with –report-name and –report-type csv json
- Specify output directory using –dir
- PDF export with –report-name and –report-type pdf
- Improved Error Handling: Resilient and user-friendly error messages
- Beautiful Terminal UI: Styled with the Rich library for a visually appealing experience
Bu aracı benzersiz yapan nedir?
1. Tek bir panoda çok hesaplı AWS maliyet raporlaması
2. Günlük kullanıma odaklı
3. Hızlı CLI
4. ETL işleri olmadan CSV ve JSON dışa aktarma
5. Herhangi bir altyapı kurmaya ve izinleri yönetmeye gerek yok
6. Maliyetlerinizi takip etmek için tek bir komut
7. Terminalinizde temiz pano
Kurulum
Kurulum işlemlerini Ubuntu 20.24 üzerine yapacağım.
Ubuntu güncellemelrini yapıyoruz.
apt-get update
Pip paket kurulumunu yapıyoruz.
apt install pipx -y
paket kurulumumuzu yapıyoruz.
pipx install aws-finops-dashboard
işlem tamamlandığında aşağıdaki gibi bir ekran göreceksiniz.
installed package aws-finops-dashboard 2.2.6, installed using Python 3.12.3 These apps are now globally available - aws-finops ⚠️ Note: '/root/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run `pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (i.e. ~/.bashrc). done! ✨ 🌟 ✨
Kurulum sonrası aşağıdaki komutla path i güncelliyoruz.
export PATH=$PATH:/root/.local/bin
Tüm adımlar tamamlandı aşağıdaki komutu çalıştırdığımızda
aws-finops --all
Şu an sunucumuzda aws cli a herhangi bir credential girilmediği için bu ekran boş geliyor öncelikle aws cli kurmamız gerekiyor.
aws cli kurulumu
aşağıdaki komutları çalıştırarak aws cli kurulumunu yapıyoruz.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" sudo apt-get install unzip -y unzip awscliv2.zip sudo ./aws/install
AWS cli kurulumunu yaptığımıza göre müşteri credentiallarını tanımlayarak aws finops ile raporlarımızı çekebiliriz.
aws configure --profile profile1-name aws configure --profile Customer-1 aws configure --profile Customer-2
credentials ları girdikten sonra aşağıdaki komutu çalıştırarak girmiş olduğumuz tüm profillerin budget bilgilerini aşağıdaki gibi görüntüleyebiliriz.
aws-finops --all
aws-finops --all --audit