Internative Logo

AWS Bize 502 Milyar Dolarlık Fatura Gösterdiği O Sabah

AWS Bize 502 Milyar Dolarlık Fatura Gösterdiği O Sabah

AWS Bize 502 Milyar Dolarlık Fatura Gösterdiği O Sabah

Bulut konsolunuz on bir haneli bir sayı gösterirse

Cuma sabahın erken saatiydi; müşterilerimizden biri hem gülerek hem de dehşet içinde yazdı: AWS “Cost and Usage” panelinde o ayki fatura 502.311.533.831,06 dolar görünüyordu. Yazım hatası değil. Yarım trilyon doların biraz üzerinde — üstelik bir önceki aya göre %55.199.069.651.665 artışla.

Birkaç dakika boyunca kimse gülmüyordu.

İlk içgüdümüz yanlış olanıydı

Dürüst olalım, çünkü sakin kaldığımızı iddia etmektense bu daha faydalı. İlk düşünce “bu bir hata” değildi. İlk düşünce şuydu: “Hacklendik mi? Şu anda birileri bu hesapta binlerce sunucu mu açıyor?”

Ve pek çok ekibin o ilk adrenalin dakikasında yaptığını yaptık — her şeyi kilitlemeye başladık. Access key'leri değiştirmek, root parolasını sıfırlamak, IAM kullanıcılarını kapatmaya hazırlanmak... Tam ortasında birimiz durdu ve o sabahı kurtaran cümleyi söyledi: “Dur — kendi production'ımızı bozmadan önce AWS status sayfasına bakalım.”

Sonra duyuruyu gördük

Gerçekten de AWS çoktan yayınlamıştı. Billing and Cost Management Console — ve onunla birlikte Cost Explorer — hatalı tahmini fatura verisi gösteriyordu. Kendi ifadeleriyle (çeviri):

16 Temmuz 19:38 PDT itibarıyla, Billing and Cost Management Console'da hatalı tahmini fatura verisi göstermeye başladık. Mühendislik ekiplerimiz konuyla ilgileniyor ve kök nedeni araştırıyor.

Sızma yok. Kontrolden çıkmış bir iş yükü yok. 502 milyar dolar yok. Sadece maliyet panolarını besleyen tahmin katmanında bir görüntüleme hatası. Gerçek kaynaklar — S3 kovaları, işlem gücü — her zamanki gibi çalışıyordu. Ekrandaki sayı kurgusaldı.

Bu tür durumları her zaman resmi AWS Health status sayfasından kendiniz doğrulayabilirsiniz — ihtiyacınız olmadan önce yer imlerine eklemeye değer.

Resmi zaman çizelgesi

  • 16 Temmuz 19:38 PDT — Billing & Cost Management Console'da hatalı tahmini fatura verisi görünmeye başlar.
  • 17 Temmuz ~01:33 PDT — AWS, Cost Explorer'ın hatalı tahmini veri gösterdiğini araştırdığını doğrular.
  • 17 Temmuz ~02:07 PDT — “Service impact: Inaccurate Estimated Billing Data” — ekipler devrede, yeni güncelleme sözü verilir.

Panik yapmadan önce aslında ne yapmalı

İlk dakikadan itibaren keşke uyguladığımız daha sakin oyun planı şu. Hiçbiri sıra dışı değil — sadece kozmetik bir hatayı gerçek bir kesintiye çevirmenizi önleyen doğru sıra.

  1. Önce status sayfasına bak, sonra harekete geç. Tek bir key'e dokunmadan önce AWS Health status sayfasını aç. “Hacklendik!” anlarının büyük kısmı sağlayıcı taraflı olaylardır; 30 saniyelik okuma, bir saatlik temizlikten kurtarır.
  2. “Tahmini” ile “faturalandırılan”ı ayır. Cost Explorer ve konsoldaki tahmini rakamlar birer projeksiyondur, fatura değil. Gerçek, kesinleşmiş tutarlarınız fatura belgelerinizde yaşar — anlık tahmin yapan ve şaşabilen bir widget'ta değil.
  3. Maliyet sayısına değil, CloudTrail'e bak. Gerçekten ele geçirilme endişeniz varsa, gerçek CloudTrail ve API aktivitenizdedir — yeni IAM kullanıcıları, tanıdık olmayan bölgeler, sıra dışı API çağrıları. Korkutucu bir maliyet rakamıyla birlikte sessiz bir CloudTrail neredeyse hiçbir zaman sızma değildir.
  4. Panik anında her şeyi rotasyona sokma. Production ona bağlıyken key'leri ve IAM rollerini körlemesine kapatmak, tam da korktuğunuz kesintiye yol açabilir. Rotasyonu kanıt olduğunda, bilinçli yapın — bir sayıya bakıp refleksle değil.
  5. Anlamlı alarmlar kur. AWS Budgets ve Cost Anomaly Detection, sizin referans değerinize dayalı sinyaller verir. İyi bir anomali uyarısı bize “bu, referansın %55 trilyon üzerinde — fiziksel olarak gerçek olamaz” derdi; bu, çıplak bir dolar rakamından çok farklı bir mesajdır.

Daha sakin çıkarım

Asıl faydalı ders AWS'yle ilgili değildi. Bizimle ilgiliydi. Tek bir beklenmedik sayı, deneyimli bir ekibi doğrudan sert aksiyona sürükledi — ve müşteriyi koruyan şey bir araç değil, bir alışkanlıktı: tepki vermeden önce doğrula.

Bu alışkanlık, tam olarak ürettiğimiz sistemlere yerleştirmeye çalıştığımız şey — sadece neyin değiştiğini değil, bunun gerçek olup olmadığını da söyleyen gözlemlenebilirlik; çıplak bir eşiğe değil bir referansa göre ayarlanmış uyarılar; ve “key'leri değiştir”in önüne “status sayfasına bak”ı koyan runbook'lar. Koordex — yapay zekâ operasyon katmanımız — bunun arkasındaki düşünceyle aynı: daha az gürültü, daha çok sinyal ve yanıp sönen kırmızı bir sayı yerine net bir sonraki adım.

Yarım trilyon dolar bize bir şey öğrettiyse o da şu: Altyapının en korkutucu kısmı nadiren altyapının kendisidir. Asıl korkutucu olan, birileri “önce bir bakalım” demeden önceki on dakikalık insani paniktir.

İster İstanbul merkezli bir ekip için ister global bir ekip için sistem kuruyor olun, o duraksamayı tasarıma dahil etmeye değer. Bulut kurulumunuza — maliyet alarmları, gözlemlenebilirlik, olay runbook'ları — ikinci bir çift göz isterseniz, projenizi bize anlatın, sakin yanıtı varsayılan hâline getirmenize yardımcı olalım.