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:

  1. AWS ana sayfasına gidin (aws.amazon.com)
  2. "Create an AWS Account" butonuna tıklayın
  3. E-posta adresinizi ve şifrenizi girin
  4. Kredi kartı bilgilerinizi ekleyin
  5. Telefon doğrulaması yapın
  6. 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ı

  1. AWS Console'da EC2 servisine gidin
  2. "Launch Instance" butonuna tıklayın
  3. AMI seçin (örn: Amazon Linux 2)
  4. Instance türünü seçin (örn: t2.micro)
  5. Key pair oluşturun veya seçin
  6. Security group ayarlarını yapın
  7. 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.

# SSH erişimi için Security Group kuralı Type: SSH Protocol: TCP Port: 22 Source: 0.0.0.0/0 (veya belirli IP aralığı) # HTTP erişimi için Security Group kuralı Type: HTTP Protocol: TCP Port: 80 Source: 0.0.0.0/0 # HTTPS erişimi için Security Group kuralı Type: HTTPS Protocol: TCP Port: 443 Source: 0.0.0.0/0

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

  1. AWS Console'da S3 servisine gidin
  2. "Create bucket" butonuna tıklayın
  3. Bucket adını girin (global olarak benzersiz olmalı)
  4. Region seçin
  5. Public access ayarlarını yapın
  6. Bucket'ı oluşturun

S3 Bucket Policies

Bucket Policies, S3 bucket'larınızın erişim izinlerini kontrol etmenizi sağlar.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-bucket/*" } ] }

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

  1. AWS Console'da RDS servisine gidin
  2. "Create database" butonuna tıklayın
  3. Veritabanı motorunu seçin
  4. Template'i seçin (Production, Dev/Test, Free tier)
  5. Instance identifier ve credentials girin
  6. Instance class ve storage ayarlarını yapın
  7. VPC ve subnet group seçin
  8. Security group ayarlarını yapın
  9. 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ı

  1. AWS Console'da VPC servisine gidin
  2. "Create VPC" butonuna tıklayın
  3. VPC adını ve CIDR block'u girin
  4. Tenancy ayarını yapın (default veya dedicated)
  5. VPC'yi oluşturun
  6. Subnet'leri oluşturun
  7. Internet Gateway'i oluşturun ve bağlayın
  8. 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.

# Örnek CIDR Blocks VPC CIDR: 10.0.0.0/16 Public Subnet 1: 10.0.1.0/24 Public Subnet 2: 10.0.2.0/24 Private Subnet 1: 10.0.10.0/24 Private Subnet 2: 10.0.20.0/24

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::my-bucket/*" } ] }

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