2 - AWS Bulutta Hesaplama: Amazon EC2 ve Temel Servisler

2 - AWS Bulutta Hesaplama: Amazon EC2 ve Temel Servisler

Cheatsheet

1. Amazon EC2 (Elastic Compute Cloud) Nedir?

Amazon EC2, AWS bulut ortamında güvenli ve yeniden boyutlandırılabilir sanal sunucular (Virtual Machines - VM) sağlayan bir web hizmetidir.

  • Altyapı: EC2 instance'ları, fiziksel sunucular üzerinde çalışan sanallaştırma teknolojisi (Xen/Nitro hipervizörleri) ile oluşturulan izole sanal makinelerdir.
  • Multi-tenancy: Aynı fiziksel donanım üzerinde birden fazla VM çalışabilir.

Ana Özellikler

  • Esneklik: Dakikalar içinde yeni sunucular başlatabilir veya durdurabilirsiniz.
  • Ölçeklenebilirlik: İhtiyaca göre sunucu sayısını otomatik artırıp azaltabilirsiniz.
  • Öde-Kullan: Yalnızca sunucunun açık kaldığı süre kadar ödeme yaparsınız.

2. EC2 Örnek (Instance) Türleri

Farklı iş yükleri için optimize edilmiş instance aileleri bulunmaktadır:

Instance TipiGüçlü YönüKullanım AlanlarıHangi Sektör?
General PurposeDengeli (CPU, RAM, Ağ)Web siteleri, test ortamları, uygulama sunucularıE-ticaret, Startup, KOBİ
Compute OptimizedGüçlü CPUVideo işleme (encoding), oyun sunucuları, bilimsel hesaplamaMedya, Oyun, Finans, Araştırma
Memory OptimizedYüksek RAMBüyük veritabanları, cache sistemleri, gerçek zamanlı analizBankacılık, Telekom, Büyük Veri
Accelerated ComputingGPU / Özel DonanımYapay zeka (AI/ML), derin öğrenme, 3D renderAI şirketleri, Otomotiv, Grafik
Storage OptimizedHızlı Disk I/ONoSQL veritabanları, veri ambarı (Data warehouse)Veri Merkezleri, IoT

3. EC2 Bileşenleri ve Yapılandırma

AMI (Amazon Machine Image)

Bir EC2 instance'ı başlatmak için gereken temel şablondur. İşletim sistemi, uygulama sunucusu ve uygulamaları içerir.

  • AWS tarafından sağlanan hazır AMI'ler (Amazon Linux, Ubuntu, Windows vb.) kullanılabilir.
  • AWS Marketplace üzerinden üçüncü tarafların hazırladığı özel AMI'ler satın alınabilir.

Güvenlik ve Erişim

  • Security Groups (Güvenlik Grupları): Instance için sanal bir güvenlik duvarıdır (firewall). Gelen ve giden trafiği kontrol eder.
    • Öneri: Erişimi sadece bilinen IP adreslerine (örn. kendi IP'niz) izin verecek şekilde kısıtlayın.
  • Key Pair (Anahtar Çifti): Sunucuya güvenli bir şekilde bağlanmak (SSH/RDP) için kullanılır (Private/Public key mantığı).

Kullanıcı Verisi (User Data)

Instance ilk kez başlatıldığında (boot) otomatik olarak çalışacak komut dosyalarıdır (script). Örneğin, sunucu açılır açılmaz bir web sunucusu (Nginx/Apache) kurmak için kullanılır.

Paylaşılan Sorumluluk Modeli (Shared Responsibility)

EC2 yönetilmeyen (unmanaged) bir hizmettir.

  • AWS'in Sorumluluğu: Donanım, küresel altyapı ve sanallaştırma yazılımı.
  • Müşterinin Sorumluluğu: İşletim sistemi yamaları, güvenlik duvarı ayarları, uygulama yönetimi ve veri şifreleme.

4. Fiyatlandırma Modelleri

Maliyet ve kullanım süresine göre 5 temel model vardır:

ModelAçıklama
On-Demand (İsteğe Bağlı)Taahhüt yok. Kullandığın kadar öde. Kısa süreli ve kesintili işler için idealdir.
Reserved Instances (RI)1 veya 3 yıllık taahhüt verilir. %75'e varan indirim sağlanır. 7/24 çalışan sistemler içindir.
Savings PlansBelirli bir kullanım tutarı (örneğin saatlik $10) taahhüt edilir. Esneklik sağlar (Instance tipi değişebilir).
Spot InstancesAWS'in boş kapasitesini kullanır. Çok ucuzdur (%90 indirim) ama AWS sunucuyu her an geri alabilir.
Dedicated Host / InstanceFiziksel sunucunun size özel ayrılmasıdır. Lisans (BYOL) gereksinimleri veya regülasyonlar için kullanılır.

5. Ölçeklenebilirlik ve Auto Scaling

Sistemin artan yüke uyum sağlamasıdır.

  • Dikey Ölçekleme (Scale Up): Makineyi güçlendirmek (RAM/CPU artırmak).
  • Yatay Ölçekleme (Scale Out): Makine sayısını artırmak (Daha fazla instance).

EC2 Auto Scaling

Uygulama talebine göre EC2 sayısını otomatik olarak ayarlar.

  • Dinamik Ölçeklendirme: Anlık talep değişikliklerine yanıt verir (CPU %80'i geçerse sunucu ekle).
  • Öngörülü Ölçeklendirme: Geçmiş veriye bakarak gelecek trafiği tahmin eder.

Auto Scaling Grubu Ayarları:

  1. Minimum Kapasite: Asla altına düşülmeyecek sunucu sayısı.
  2. İstenen (Desired) Kapasite: İdeal sunucu sayısı.
  3. Maksimum Kapasite: Çıkılabilecek en üst sınır (Maliyet kontrolü için).

6. Elastik Yük Dengeleme (ELB)

Gelen uygulama trafiğini birden fazla EC2 instance'ı arasında otomatik olarak dağıtır.

  • Tek bir giriş noktası olarak çalışır.
  • Auto Scaling ile entegre çalışarak yüksek erişilebilirlik (High Availability) sağlar.

Yönlendirme Yöntemleri:

  • Round Robin: Sırayla dağıtma.
  • Least Connections: En az bağlantısı olana gönderme.
  • IP Hash: Aynı kullanıcıyı hep aynı sunucuya gönderme.

7. Uygulama Mimarisi ve İletişim Servisleri

Monolitik vs. Mikroservisler

  • Monolitik: Tüm bileşenler (DB, UI, Server) sıkı sıkıya bağlıdır. Biri çökerse hepsi çöker.
  • Mikroservisler: Bileşenler ayrıştırılmıştır (Decoupling). Biri arızalansa da sistem çalışmaya devam eder.

AWS İletişim Servisleri (Decoupling Tools)

  1. Amazon SQS (Simple Queue Service):
    • Mesaj kuyruğu hizmetidir. Mesajları tamponlar (buffer).
    • İşlevi: Üretici mesajı kuyruğa atar, tüketici uygun olduğunda işler. Kaybolmayı önler.
  2. Amazon SNS (Simple Notification Service):
    • Yayınla/Abone ol (Pub/Sub) mantığıyla çalışır.
    • İşlevi: Tek bir mesajı (Notification) aynı anda binlerce aboneye (Email, Lambda, SMS) iletir.
  3. Amazon EventBridge:
    • Sunucusuz olay (event) yönlendirme hizmetidir.
    • İşlevi: Farklı kaynaklardan gelen olayları filtreleyip ilgili servislere yönlendirir (Örn: Sipariş geldiğinde hem kargoya hem faturaya haber ver).
3 - AWS Hesaplama (Compute) Hizmetlerini Keşfetme
1 - AWS ve Bulut Bilişim Temelleri

Comments

Loading comments...