AWS Türkçe Blog
AWS maliyetlerini azaltmak için bugün yapabileceğiniz 10 şey
Orijinal makale: Link (Roshni Pary)
Giriş
AWS’nin geniş hizmet ve fiyatlandırma seçenekleri maliyetlerinizi etkili bir şekilde yönetme esnekliği sunar ve performansı ve kapasiteyi iş gereksinimlerinize göre korur. AWS’de maliyet optimizasyonunun temel süreci aynı kalırken, AWS maliyetlerinizi ve kullanımınızı izleyin, tasarrufları bulmak için verileri analiz edin, tasarrufları gerçekleştirmek için harekete geçin. Bu yazıda, kullanıcı talebindeki değişikliklerle maliyeti düşürme konusunda daha taktiksel bir yaklaşım sergileyeceğim.
Başlamadan önce
Maliyeti düşürmek için herhangi bir işlem yapmadan önce tüketmekte olduğunuz AWS hizmetlerinin maliyetlerini öğrenin. AWS Ücretsiz Kullanım Katmanı (AWS Free Tier), müşterilere AWS hizmetlerini her servis için belirtilen limitlere kadar ücretsiz olarak keşfetme ve deneme olanağı sağlar. Ücretsiz katman sınırını aşıp aşmadığınızı kontrol etmek için bu videodaki adımları kullanın.
Ardından AWS maliyetlerinizi ve kullanımınızı görüntülemek ve analiz etmek için AWS Cost Explorer aracını kullanın. Bu araç maliyet ve kullanımı üst düzeyde (örn. AWS hesapları, AWS hizmeti) veya kaynak düzeyinde (örneğin belirli bir EC2 sunucusu) görselleştirmenize yardımcı olan hazır raporlar sağlar. “Monthly costs by linked account report (Bağlantılı hesaplara göre aylık maliyet raporu)” ile en yüksek maliyetlerinizin oluştuğu hesapları belirleyerek başlayın. Ardından bu hesaplardaki maliyetlere en çok katkıda bulunan servisleri belirleyin. Bunu “Monthly costs by service report (Servislere göre aylık maliyet raporu)” ile gerçekleştirebilirsiniz. Saatlik, ya da kaynak veya etiket bazlı filtreleri kullanarak en yüksek maliyetleri oluşturan kaynakları filtreleyin ve belirleyin.
Artık AWS maliyetleriniz ve kullanımınız hakkında bir fikre sahip olmuş olmalısınız. Ardından AWS maliyetlerinizi düşürmek için mevcut AWS araçlarını ve hizmetlerini kullanarak bugün yapabileceğiniz 10 taktiksel şeyi inceleyelim.
#1. Az kullanılan Amazon EC2 sunucularını belirleyin ve durdurarak veya doğru boyutlandırarak maliyeti azaltın
AWS Cost Explorer Resource Optimization (Cost Explorer Kaynak Optimizasyonu) aracını kullanarak boşta olan veya kullanımı düşük olan EC2 sunucularına ait raporu alın. Bu sunucuları durdurarak veya küçülterek maliyetleri azaltabilirsiniz. Sunucuları otomatik olarak durdurmak için AWS Instance Scheduler’ı kullanın. EC2 sunucularını otomatik olarak yeniden boyutlandırmak için AWS Operations Conductor aracını (Cost Exporer’dan gelen öneriler raporuna dayanarak) kullanın.
Sunucuyu küçültmenin ötesinde sunucu türü önerilerine bakmak için AWS Compute Optimizer aracını kullanın. Bu araç sunucu aileleri içinde veya farklı aileler arasında küçültme önerileri, performans darboğazlarını kaldırmak için yükseltme önerileri ve Auto Scaling (Otomatik Ölçekleme) grubunun parçaları olan EC2 sunucular için öneriler sunar.
#2. Az kullanılan Amazon EBS birimlerini belirleyin ve anlık yedek (snapshot) imajını silerek maliyeti azaltın
7 günlük bir süre boyunca çok düşük aktiviteye sahip (günde 1 IOPS’tan az) EBS birimleri muhtemelen kullanımda olmadıklarını gösterir. Trusted Advisor Underutilized Amazon EBS Volumes Check aracını kullanarak az kullanılan Amazon EBS birimlerini belirleyin. Maliyetleri azaltmak için önce birimin anlık yedeğini alın (daha sonra ihtiyacınız olması durumunda), ardından bu birimleri silin. Amazon Data Lifecycle Manager‘ı kullanarak anlık yedek oluşturulmasını otomatikleştirebilirsiniz. EBS birimlerini silmek için buradaki adımları izleyin.
#3. Amazon S3 kullanımını analiz edin ve daha düşük maliyetli S3 katmanlarından yararlanarak maliyeti azaltın
30 gün veya daha uzun süren nesne veri kümelerindeki depolama erişim kalıplarını analiz etmek için S3 Analytics‘i kullanın. Bu analiz maliyetleri azaltmak için S3 Infrequently Accessed (S3 IA – S3 Seyrek Erişilen) katmanını nerede kullanabileceğinize dair önerilerde bulunur. Yaşam Döngüsü Politikalarını (Life Cycle Policies) kullanarak bu nesnelerin daha düşük maliyetli depolama katmanına taşınmasını otomatik hale getirebilirsiniz. Alternatif olarak, nesnelerinizi otomatik olarak analiz eden ve uygun depolama katmanına taşıyan S3 Intelligent-Tiering (S3 Akıllı Katmanlama) özelliğini de kullanabilirsiniz.
#4. Az kullanılan Amazon RDS ve Amazon Redshift sunucularını durdurarak (RDS) veya duraklatarak (Redshift) maliyetleri azaltın
Son 7 gün içinde bağlantısı olmayan DB sunucularını belirlemek için Trusted Advisor Amazon RDS Idle DB Instances Check kontrolünü kullanın. Maliyetleri azaltmak için bu yazıda açıklanan otomasyon adımlarını kullanarak ilgili DB sunucularını durdurun. Redshift için son 7 gündür bağlantısı olmayan kümeleri ve son 7 günün %99’u için ortalama CPU kullanımı %5’ten az olan kümeleri belirlemek için Trusted Advisor Redshift Cluster Check kontrolünü kullanın. Maliyetleri azaltmak için, bu yazıdaki adımları kullanarak bu kümeleri duraklatın.
#5. Amazon DynamoDB kullanımını analiz edin ve Otomatik Ölçeklendirme (Autoscaling) veya isteğe bağlı kullanım (On-Demand) özelliğinden yararlanarak maliyeti azaltın
CloudWatch’ta 2 metrik değerini, ConsumedReadCapacityUnits ve ConsumedWriteCapacityUnits, izleyerek DynamoDB kullanımınızı analiz edin. DynamoDB tablonuzu otomatik olarak ölçeklendirmek (kapasite artırmak ya da azaltmak) için otomatik ölçeklendirme özelliğini kullanın. Buradaki adımları kullanarak mevcut tablolarınızda otomatik ölçeklendirmeyi etkinleştirebilirsiniz. Alternatif olarak isteğe bağlı seçeneği de kullanabilirsiniz. Bu seçenek okuma ve yazma istekleri için istek başına ödeme yapmanıza olanak tanır, böylece yalnızca kullandığınız kapasite için ödeme yaparsınız. Bu sayede maliyetlerin ve performansın dengelenmesi kolaylaşır.
#6. Ağ bağlantısını inceleyin ve boşta olan yük dengeleyicilerini silerek maliyetleri düşürün
Son 7 gün içinde RequestCount 100’den az olan yük dengeleyicileri raporunu almak için Trusted Advisor Idle Load Balancers check aracını kullanın. Ardından maliyetleri düşürmek amacıyla bu yük dengeleyicilerini silmek için buradaki adımları kullanın. Ayrıca buradaki yazıda belirtilen adımları kullanarak Cost Explorer aracı ile veri aktarım maliyetlerinizi gözden geçirin.
Eğer EC2’dan genel internete veri aktarımı önemli bir maliyet olarak görünüyorsa Amazon CloudFront’u kullanmayı düşünün. Tüm görüntü, video veya statik web içeriği Amazon CloudFront İçerik Teslim Ağı (CDN) kullanılarak dünya çapındaki AWS uç konumlarında önbelleğe alınabilir. CloudFront trafikteki potansiyel ani artışları karşılamak için fazla kapasite sağlama ihtiyacını ortadan kaldırır.
#7 EC2 maliyetlerini azaltmak için Amazon EC2 Spot sunucularını kullanın
İş yükünüz hataya dayanıklı ise maliyetlerini %90’a kadar azaltmak için Spot sunucuları kullanın. Tipik iş yükü örnekleri arasında büyük veriler, container iş yükleri, CI/CD, web sunucuları, yüksek performanslı bilgi işlem (HPC) ve diğer test ve geliştirme iş yükleri bulunur. EC2 Otomatik Ölçeklendirmeyi kullanarak hedef kapasiteyi karşılamak için hem İsteğe Bağlı hem de Spot sunucuları başlatabilirsiniz. Otomatik Ölçeklendirme Spot sunucularını otomatik olarak istemeyi gerçekleştirir ve Spot sunucularınız kesintiye uğratılsa bile hedef kapasiteyi korumaya çalışır. Bu 2019 re:Invent oturumunu izleyerek Spot hakkında daha fazla bilgi edinebilirsiniz.
#8 EC2 Otomatik Ölçeklendirme Grupları (Autoscaling Groups) yapılandırmasını gözden geçirin ve değiştirin
EC2 Otomatik Ölçeklendirme Grubu, EC2 filonuzun talep üzerine genişlemesine veya küçülmesine olanak tanır. Burada açıklanan adımları kullanarak konsoldan ya da komut satırı arabirimi (Command Line Interface – CLI) kullanarak ölçekleme etkinliğinizi gözden geçirin. Ölçeklendirme yönergesinin sunucuları daha az agresif bir şekilde eklemek için ayarlanıp ayarlanamayabileceğini görmek için sonucu analiz edin. Ayrıca son kullanıcı isteklerini sunacak şekilde minimum değerin daha küçük bir filo boyutuna azaltılabileceğini görmek için ayarlarınızı gözden geçirin.
#9. RDS, Redshift, ElastiCache ve Elasticsearch maliyetlerini azaltmak için Rezerve Edilmiş Sunucuları (RI) kullanın
Ön ödemesiz taahhütle İsteğe Bağlı fiyatlandırmaya kıyasla %42’ye varan indirim elde etmek için 1 yıllık Rezerve Edilmiş Sunucuları (Reserved Instance – RI) kullanın. RDS, Redshift, ElastiCache ve Elasticsearch kullanımınıza dayanan AWS Cost Explorer RI satın alma önerileri aracını kullanın. Parametreleri bir yıla ayarladığınızdan emin olun. Bu bir yıl taahhüt gerektirir ancak başabaş noktası tipik olarak yedi ila dokuz aydır. Bu maddeden (#9) önce madde #4’ü gerçekleştirmenizi öneririz.
#10. EC2, Fargate ve Lambda maliyetlerini azaltmak için Compute Savings Plans kullanın
Compute Savings Plans (Sunucu Tasarruf Planları) sunucu ailesi, boyutu, AZ (Availability Zone), bölge, işletim sistemi veya barındırma modelinden bağımsız olarak EC2 sunucu kullanımına otomatik olarak uygulanır ve ayrıca Fargate ve Lambda kullanımı için de geçerlidir. İsteğe Bağlı fiyatlandırmaya kıyasla %54’e varan indirim elde etmek için ön ödemesiz (no upfront) taahhütle bir yıl kullanın. AWS Cost Explorer aracında sağlanan önerileri kullanın ve bir yıl ön ödemesiz işlem seçtiğinizden emin olun. Compute Savings Plans’e kaydolduğunuzda, hesaplama kullanımınız indirimli Compute Savings Plans fiyatlarından otomatik olarak ücretlendirilir. Taahhütünüzün dışındaki tüm kullanımlar normal İsteğe Bağlı fiyatlar üzerinden ücretlendirilir. Bu maddeden (#10) önce madde #1’i gerçekleştirmenizi öneririz.
Sonraki Adımlar
Burada açıklanan 10 yöntemle EC2, Fargate, Lambda, EBS, S3, ELB, RDS, Redshift, DynamoDB, ElastiCache ve Elasticsearch ürünlerinde maliyetlerden tasarruf edebilirsiniz. AWS Budgets aracını kullanarak bütçe oluşturmanızı öneririz, böylece maliyetiniz ve kullanımınız değiştiğinde bilgilendirilirsiniz.
AWS Budgets aracını kullanarak tahmin edilen maliyetler hakkında da (gerçek maliyetler haricinde) bir uyarı tanımlayabilirsiniz. Bu size olası bir sorunun önüne geçme ve proaktif olarak maliyetleri azaltma olanağı sağlar.
Sonuç
Daha fazla hızlı maliyet optimizasyonu tekniklerini öğrenmek için bu web seminerimizi izleyin: AWS Faturanızı Azaltmanın Dokuz Yolu. Size yardımcı olmak için buradayız, AWS ortamınızı optimize etmek için daha fazla yardıma ihtiyacınız varsa lütfen AWS Destek hattına ve AWS satış ekibinize ulaşın.