Ders 1: AWS'e Giriş
AWS Nedir?
Amazon Web Services (AWS), Amazon tarafından sunulan kapsamlı bir bulut bilişim platformudur. AWS, işletmelere ve geliştiricilere ölçeklenebilir, güvenilir ve maliyet etkin bulut servisleri sunar.
💡 AWS'in Avantajları
- Ölçeklenebilirlik: İhtiyaca göre kaynakları artırıp azaltabilme
- Maliyet Etkinliği: Sadece kullandığınız kadar ödeme
- Güvenilirlik: %99.99 uptime garantisi
- Güvenlik: Endüstri standardı güvenlik önlemleri
AWS Temel Servisleri
| Servis | Kategori | Açıklama |
|---|---|---|
| EC2 | Compute | Sanal sunucu servisleri |
| S3 | Storage | Nesne depolama servisi |
| RDS | Database | Yönetilen veritabanı servisi |
| VPC | Networking | Sanal özel bulut |
AWS Hesabı Oluşturma
AWS'e başlamak için öncelikle bir AWS hesabı oluşturmanız gerekir:
- AWS ana sayfasına gidin (aws.amazon.com)
- "Create an AWS Account" butonuna tıklayın
- E-posta adresinizi ve şifrenizi girin
- Kredi kartı bilgilerinizi ekleyin
- Telefon doğrulaması yapın
- Destek planını seçin
⚠️ Önemli Notlar
- AWS Free Tier ile 12 ay ücretsiz kullanım hakkınız var
- Kredi kartı bilgileri doğrulama amaçlıdır
- Free Tier limitlerini aşmamaya dikkat edin
AWS Management Console
AWS Management Console, AWS servislerini yönetmek için kullanılan web tabanlı arayüzdür. Console üzerinden:
- Servisleri görüntüleyebilir ve yönetebilirsiniz
- Kaynaklarınızı izleyebilirsiniz
- Faturalandırma bilgilerinizi kontrol edebilirsiniz
- Güvenlik ayarlarınızı yapılandırabilirsiniz
Ders 2: EC2 Instance Yönetimi
EC2 Nedir?
Elastic Compute Cloud (EC2), AWS'in sanal sunucu servisidir. EC2 ile ihtiyacınıza göre sanal sunucular oluşturabilir, yapılandırabilir ve yönetebilirsiniz.
Instance Türleri
| Instance Türü | Kullanım Alanı | Özellikler |
|---|---|---|
| t2.micro | Test ve Geliştirme | 1 vCPU, 1 GB RAM |
| t3.small | Küçük Uygulamalar | 2 vCPU, 2 GB RAM |
| m5.large | Genel Amaçlı | 2 vCPU, 8 GB RAM |
| c5.xlarge | Hesaplama Yoğun | 4 vCPU, 8 GB RAM |
AMI (Amazon Machine Image)
AMI, EC2 instance'larınız için temel olarak kullanılan şablonlardır. AMI'ler şunları içerir:
- İşletim sistemi (Linux, Windows)
- Uygulama yazılımları
- Yapılandırma ayarları
- Veri blokları
🔧 EC2 Instance Oluşturma Adımları
- AWS Console'da EC2 servisine gidin
- "Launch Instance" butonuna tıklayın
- AMI seçin (örn: Amazon Linux 2)
- Instance türünü seçin (örn: t2.micro)
- Key pair oluşturun veya seçin
- Security group ayarlarını yapın
- Instance'ı başlatın
Security Groups
Security Groups, EC2 instance'larınız için sanal güvenlik duvarı görevi görür. Gelen ve giden trafiği kontrol eder.
Key Pairs
Key Pairs, EC2 instance'larınıza güvenli erişim sağlamak için kullanılır. SSH anahtarları olarak da bilinir.
✅ En İyi Uygulamalar
- Key pair'lerinizi güvenli bir yerde saklayın
- Her instance için farklı key pair kullanın
- Key pair'lerinizi düzenli olarak rotasyon yapın
- Public key'leri asla paylaşmayın
Ders 3: S3 Storage Servisleri
S3 Nedir?
Simple Storage Service (S3), AWS'in nesne depolama servisidir. S3 ile dosyalarınızı güvenli bir şekilde saklayabilir ve dünyanın her yerinden erişebilirsiniz.
S3 Temel Kavramları
| Kavram | Açıklama |
|---|---|
| Bucket | Dosyalarınızı sakladığınız konteyner |
| Object | Bucket içindeki dosyalar |
| Key | Object'in benzersiz tanımlayıcısı |
| Region | Bucket'in fiziksel konumu |
S3 Storage Classes
S3, farklı kullanım senaryoları için çeşitli depolama sınıfları sunar:
- Standard: Sık erişilen veriler için
- Standard-IA: Nadiren erişilen veriler için
- Glacier: Arşiv veriler için
- Glacier Deep Archive: Uzun süreli arşiv için
📁 S3 Bucket Oluşturma
- AWS Console'da S3 servisine gidin
- "Create bucket" butonuna tıklayın
- Bucket adını girin (global olarak benzersiz olmalı)
- Region seçin
- Public access ayarlarını yapın
- Bucket'ı oluşturun
S3 Bucket Policies
Bucket Policies, S3 bucket'larınızın erişim izinlerini kontrol etmenizi sağlar.
S3 Lifecycle Policies
Lifecycle Policies, S3 object'lerinizin yaşam döngüsünü otomatik olarak yönetmenizi sağlar.
💡 Lifecycle Policy Örneği
- 30 gün sonra: Standard-IA'ya taşı
- 90 gün sonra: Glacier'a taşı
- 365 gün sonra: Glacier Deep Archive'a taşı
- 2555 gün sonra: Sil
S3 Versioning
S3 Versioning, object'lerinizin birden fazla versiyonunu saklamanızı sağlar. Bu özellik:
- Yanlışlıkla silinen dosyaları kurtarmanızı sağlar
- Dosya değişikliklerini takip etmenizi sağlar
- Veri bütünlüğünü korur
Ders 4: RDS Veritabanı Servisleri
RDS Nedir?
Relational Database Service (RDS), AWS'in yönetilen veritabanı servisidir. RDS ile popüler veritabanı motorlarını kolayca çalıştırabilirsiniz.
Desteklenen Veritabanı Motorları
| Veritabanı | Versiyon | Özellikler |
|---|---|---|
| MySQL | 8.0, 5.7 | Açık kaynak, popüler |
| PostgreSQL | 15, 14, 13 | Gelişmiş özellikler |
| MariaDB | 10.6, 10.5 | MySQL uyumlu |
| Oracle | 19c, 12c | Kurumsal çözüm |
| SQL Server | 2019, 2017 | Microsoft ekosistemi |
RDS Instance Classes
RDS, farklı performans ihtiyaçları için çeşitli instance sınıfları sunar:
- db.t3: Genel amaçlı, burstable performans
- db.t4g: ARM tabanlı, burstable performans
- db.m5: Genel amaçlı, sabit performans
- db.r5: Memory optimized
- db.x1: Memory optimized, büyük instance'lar
🗄️ RDS Instance Oluşturma
- AWS Console'da RDS servisine gidin
- "Create database" butonuna tıklayın
- Veritabanı motorunu seçin
- Template'i seçin (Production, Dev/Test, Free tier)
- Instance identifier ve credentials girin
- Instance class ve storage ayarlarını yapın
- VPC ve subnet group seçin
- Security group ayarlarını yapın
- Veritabanını oluşturun
RDS Backup ve Recovery
RDS otomatik backup ve recovery özellikleri sunar:
- Automated Backups: Otomatik günlük yedekleme
- Point-in-Time Recovery: Belirli bir zamana geri dönme
- Snapshot: Manuel anlık görüntü alma
- Cross-Region Backup: Farklı region'a yedekleme
⚠️ Backup Önemli Notlar
- Automated backup retention period: 1-35 gün
- Backup window'u düşük trafik saatlerinde ayarlayın
- Snapshot'ları düzenli olarak temizleyin
- Cross-region backup maliyetleri yüksektir
RDS Multi-AZ Deployment
Multi-AZ deployment, yüksek kullanılabilirlik sağlar:
- Primary ve standby instance'lar
- Otomatik failover
- Synchronous replication
- Zero downtime maintenance
✅ RDS En İyi Uygulamalar
- Production ortamlar için Multi-AZ kullanın
- Monitoring ve alerting ayarlayın
- Security group'ları sıkı tutun
- Parameter group'ları optimize edin
- Düzenli olarak maintenance window'ları planlayın
Ders 5: VPC ve Networking
VPC Nedir?
Virtual Private Cloud (VPC), AWS bulutunda özel bir sanal ağ oluşturmanızı sağlar. VPC ile kendi ağ ortamınızı kontrol edebilirsiniz.
VPC Temel Bileşenleri
| Bileşen | Açıklama |
|---|---|
| VPC | Sanal özel bulut |
| Subnet | VPC içindeki alt ağlar |
| Internet Gateway | Internet erişimi için |
| Route Table | Trafik yönlendirme kuralları |
| Security Group | Sanal güvenlik duvarı |
| NACL | Network Access Control List |
Subnet Türleri
VPC içinde iki tür subnet bulunur:
- Public Subnet: Internet Gateway'e erişimi olan subnet
- Private Subnet: Internet Gateway'e erişimi olmayan subnet
🌐 VPC Oluşturma Adımları
- AWS Console'da VPC servisine gidin
- "Create VPC" butonuna tıklayın
- VPC adını ve CIDR block'u girin
- Tenancy ayarını yapın (default veya dedicated)
- VPC'yi oluşturun
- Subnet'leri oluşturun
- Internet Gateway'i oluşturun ve bağlayın
- Route table'ları yapılandırın
CIDR Blocks
CIDR (Classless Inter-Domain Routing), IP adres aralıklarını tanımlamak için kullanılır.
Security Groups vs NACLs
| Özellik | Security Group | NACL |
|---|---|---|
| Seviye | Instance seviyesi | Subnet seviyesi |
| Stateful | Evet | Hayır |
| Default Rule | Deny all inbound | Allow all |
| Rule Evaluation | All rules evaluated | Order matters |
VPC Peering
VPC Peering, iki VPC arasında güvenli bağlantı kurmanızı sağlar:
- Same region veya cross-region
- Same account veya cross-account
- No transitive peering
- No overlapping CIDR blocks
🔒 VPC Güvenlik En İyi Uygulamalar
- Private subnet'lerde database'leri çalıştırın
- Public subnet'lerde sadece web server'ları çalıştırın
- Security group'ları minimum privilege ile ayarlayın
- NACL'leri subnet seviyesinde ek güvenlik için kullanın
- VPC Flow Logs'u aktifleştirin
Ders 6: AWS Güvenlik ve IAM
IAM Nedir?
Identity and Access Management (IAM), AWS kaynaklarınıza erişimi kontrol etmenizi sağlayan servistir. IAM ile kullanıcıları, grupları, roller ve izinleri yönetebilirsiniz.
IAM Temel Bileşenleri
| Bileşen | Açıklama |
|---|---|
| User | AWS'e erişen kişi veya uygulama |
| Group | Kullanıcıların koleksiyonu |
| Role | Geçici izinler kümesi |
| Policy | İzinlerin tanımlandığı döküman |
IAM Policy Türleri
IAM'de iki tür policy bulunur:
- Identity-based Policies: User, group veya role'e bağlı
- Resource-based Policies: Resource'a bağlı
📋 IAM Policy Örneği
IAM Best Practices
✅ Güvenlik En İyi Uygulamalar
- Least Privilege: Minimum gerekli izinleri verin
- MFA: Multi-factor authentication kullanın
- Regular Rotation: Access key'leri düzenli rotasyon yapın
- Strong Passwords: Güçlü şifre politikaları uygulayın
- Audit: CloudTrail ile aktiviteleri izleyin
AWS CloudTrail
CloudTrail, AWS API çağrılarını loglar ve audit trail sağlar:
- API çağrılarını kaydeder
- Kim, ne, ne zaman, nerede bilgilerini tutar
- Compliance ve audit için kullanılır
- Security analizi için veri sağlar
AWS Config
AWS Config, AWS kaynaklarınızın yapılandırmasını izler ve değişiklikleri takip eder:
- Resource inventory
- Configuration history
- Compliance monitoring
- Change notifications
⚠️ Güvenlik Uyarıları
- Root account'u sadece acil durumlar için kullanın
- Access key'leri kod içinde hardcode etmeyin
- Public bucket'ları dikkatli kullanın
- Security group'ları sıkı tutun
- Düzenli olarak unused resource'ları temizleyin
AWS WAF
Web Application Firewall (WAF), web uygulamalarınızı korur:
- SQL injection koruması
- XSS koruması
- Rate limiting
- Geo-blocking