Amazon Web Services (AWS), bulutta uygulama geliştirmek ve yönetmek için geniş bir araç yelpazesi sunar.
Veri uzmanları için en kullanışlı hizmetlerden biri, MySQL gibi popüler veritabanı motorlarını destekleyen tamamen yönetilen bir çözüm olan Amazon Relational Database Service (RDS)’dir; PostgreSQL, MariaDB, Oracle ve SQL Server.
İster yeni başlıyor olun ve altyapıyı kendiniz yönetmeden bir veritabanı dağıtmak isteyin, ister deneyimli bir profesyonel olarak performans ve maliyeti ince ayar yapmak isteyin, RDS işleri kolaylaştırır.
Bu eğitimde RDS’nin temel özelliklerini açıklayacak ve adım adım nasıl başlayacağınızı göstereceğim.
AWS RDS nedir?
AWS RDS, bulutta ilişkisel veritabanlarının kurulumu, işletimi ve
ölçeklendirilmesini
basitleştirir. Altyapıyı yönetmek, yamaları uygulamak, yedeklemeleri ve ölçeklendirmeyi elle yapmak yerine RDS bu işlerin çoğunu otomatikleştirir; böylece siz uygulamanıza ve verinize odaklanabilirsiniz.
MySQL, PostgreSQL, Oracle, SQL Server ve Amazon Aurora gibi birden çok veritabanı motorunu destekler. Şu özelliklerden yararlanırsınız:
Bu özellikler, manuel müdahaleyi en aza indirirken kritik üretim iş yüklerini güvenle çalıştırmanızı sağlar.
Bir AWS RDS Örneği Kurma
RDS ile başlamadan önce AWS Konsolu üzerinden yeni bir örnek oluşturmanız gerekir. Bir AWS hesabınız yoksa, ücretsiz olarak kayıt olabilirsiniz.
> Daha geniş AWS ekosistemi hakkında daha fazla bilgi edinmek için AWS Cloud Technology and Services kursuna göz atın.
Yeni bir RDS örneği oluşturma
1. AWS arama konsolunda “RDS” arayın ve Aurora and RDS hizmetine tıklayın.

2. Sol menüden Databases seçeneğine tıklayın.

3. Sağ üst köşedeki Create database düğmesine tıklayın.

4. Yapılandırma üzerinde tam denetim için Standard Create seçeneğini seçin.

Engine options altında tercih ettiğiniz veritabanı motorunu seçin. Çoğu kullanım senaryosu için PostgreSQL harika bir tercihtir.
5. Motoru seçtikten sonra geri kalan seçenekleri yapılandırarak kurulumu tamamlayın.
Bu adımı başarıyla tamamlamak için gereken diğer ayarları birlikte inceleyeceğiz.
Motor sürümü
Motor sürümü, seçtiğiniz veritabanı motorunun (ör. PostgreSQL, MySQL) hangi sürümünün kullanılacağını belirler. Bu, veritabanınızın özelliklerini, performansını ve uyumluluğunu etkiler.

Belirli bir nedeniniz (ör. uygulama uyumluluğu) yoksa en son kararlı sürümü seçin. AWS genellikle PostgreSQL 17.2 gibi en yeni ana sürümü önceden seçer; bu da çoğu kullanıcı için güvenli bir tercihtir.
Şablonlar
Şablonlar, kullanım durumunuza (üretim, geliştirme veya ücretsiz katman testi) göre önceden yapılandırılmış bir kurulum sağlar. Performans, erişilebilirlik ve yedek tutma süresi gibi varsayılan ayarları etkilerler.

- Canlı bir uygulama çalıştırıyor ve yüksek erişilebilirliğe ihtiyaç duyuyorsanız Production seçin.
- Bu kurulum dahili geliştirme veya denemeler içinse Dev/Test seçeneğini tercih edin.
- Uygunsa ve RDS’yi ilk kez deniyorsanız, ücretlerden kaçınmak için Free Tier’ı seçin.
Kullanılabilirlik ve dayanıklılık
Bu, veritabanınızın hataları nasıl ele alacağını ve trafiği kullanılabilirlik bölgeleri arasında nasıl dağıtacağını belirler. Çalışma süresini, yedekliliği ve sorunlardan ne kadar hızlı kurtulacağınızı etkiler.

- Yüksek okuma iş yükleri ve maksimum dayanıklılık (iki okunabilir replika) için Multi-AZ DB cluster (3 örnek) seçin.
- Çoğu üretim kurulumu için, ek okuma kapasitesi olmadan kesintisiz geçiş (failover) için bekleme örneği ekleyen Multi-AZ DB instance (2 örnek) seçin.
- Kesinlikle yalnızca geliştirme/test veya kritik olmayan uygulamalar için Single-AZ seçin; failover veya yedeklilik yoktur.
Ayarlar
Bu bölüm, DB örneğinizin kimliğini ve kimlik bilgilerinin nasıl yönetileceğini tanımlar. Örneğinize ad verecek, ana kullanıcı adını belirleyecek ve gizlerin (parolaların) nasıl saklanıp şifreleneceğini seçeceksiniz.

- Benzersiz bir DB instance identifier girin (ör. app-name-db).
- Bir master username belirleyin (ör. postgres).
- Güvenli ve otomatik oluşturulan kimlik bilgileri için Managed in AWS Secrets Manager seçeneğini tercih edin. Parolalar üzerinde tam denetim istiyorsanız yalnızca kendi yönetiminizi seçin.
- Gerekirse özel bir KMS şifreleme anahtarı da seçebilirsiniz; ancak varsayılan seçenek çoğu kullanıcı için yeterlidir.
Örnek yapılandırması
Bu bölüm, veritabanınıza ayrılan işlem kaynaklarının (CPU, RAM, ağ) türünü tanımlar. Örnek sınıfı performansı, ölçeklenebilirliği ve maliyeti belirler.

- Çoğu kullanım durumu için Standard classes (m sınıfları) iyi bir başlangıç noktasıdır.
- Analitik veya büyük bellek içi işlemler için Memory optimized (r veya x sınıfları) seçin.
- Geliştirme aşamasında veya düşük maliyetli bir kurulum gerekiyorsa Burstable (t sınıfları) tercih edin.
- Örnek:
db.m7g.large iki vCPU ve 8 GiB RAM sağlar; orta ölçekli iş yükleri için uygundur.
Depolama yapılandırması
Bu bölüm, veritabanı depolamasının türünü, boyutunu ve performansını kontrol eder. Genel kullanım veya yüksek performanslı iş yükleri için optimize edilmiş depolamayı seçebilirsiniz.

- Düşük gecikme ve yüksek bant genişliği gereken uygulamalar için Provisioned IOPS (io2) seçin. OLTP veya yazma ağırlıklı sistemler için idealdir.
- Allocated Storage’ı depolamayı planladığınız veri miktarına göre ayarlayın (en az 100 GiB).
- Provisioned IOPS’u performans ihtiyaçlarınıza göre yapılandırın (IOPS/depolama oranı 0,5 ila 1.000 olmalıdır).
Bağlanabilirlik
Bu bölüm, ağ ayarları, VPC, genel erişim ve güvenlik grupları dahil olmak üzere veritabanınızın dış dünya ile nasıl bağlantı kuracağını tanımlar.

- Don’t connect to an EC2 compute resource seçeneğini, EC2 erişimine ihtiyacınız olmadığı sürece işaretli bırakın.
- Çoğu standart kurulum için IPv4 kullanın.
- VPC’nizi dikkatle seçin. Bu, oluşturma sonrasında değiştirilemez.
- Güvenli ve özel veritabanları için Public access: No seçin (üretim için önerilir).
- Erişimi yönetmek için mevcut bir veya yeni bir VPC security group kullanın. 5432 (PostgreSQL) veya 3306 (MySQL) portunun yetkili kaynaklara açık olduğundan emin olun.
- Certificate Authority ayarını özel bir gereksiniminiz yoksa varsayılan olarak bırakabilirsiniz.
Veritabanı kimlik doğrulama
Bu ayar, kullanıcıların veritabanınıza nasıl kimlik doğrulaması yapacağını kontrol eder. Geleneksel parolaları kullanabilir veya daha gelişmiş erişim kontrolü için IAM veya Kerberos gibi AWS hizmetleriyle tümleştirebilirsiniz.

- Yeni kurulumların çoğu için standart ve basit bir oturum açma yöntemi olan Password kimlik doğrulamayı seçin.
- Veritabanı erişimini AWS IAM rol ve politikalarıyla yönetmek istiyorsanız IAM kimlik doğrulamayı seçin.
- Yalnızca kurumsal dizin tümleştirmeniz varsa Kerberos kimlik doğrulamayı kullanın.
İzleme
Bu bölüm, Database Insights, Enhanced Monitoring ve DevOps Guru gibi araçları kullanarak RDS örneğiniz için performans ve etkinlik takibini etkinleştirir. Bunlar performans darboğazlarını tespit etmenize, yükü analiz etmenize ve sorun gidermenize yardımcı olur.

- Daha derin görünürlük ve daha uzun geçmiş (15 ay) için Database Insights – Advanced seçin. Maliyete duyarlıysanız Standard 7 günlük metrik sunar.
- Enhanced Monitoring’i etkinleştirin; işletim sistemi düzeyinde metrikler (ör. CPU, bellek) için 60 sn gibi ince aralıklarla veri sağlar.
- Akıllı uyarılar için DevOps Guru’yu etkinleştirebilirsiniz, ancak isteğe bağlıdır ve ayrı faturalandırılır. Üretim için harikadır, ancak geliştirme/test için şart değildir.
Veritabanı motoru ayarlarını yapılandırma
Tüm altyapı ile ilgili ayarları seçtikten sonra, Additional configuration (veya motor/sürüme bağlı olarak benzer bir ad) adlı bir bölüme geleceksiniz. Burada RDS veritabanı motorunuzun davranışını ve yeteneklerini yapılandırırsınız.
Genellikle şu ayarları yaparsınız:
1. İlk veritabanı adı
Bu, örnek sağlandığında otomatik olarak oluşturulacak ilk veritabanının adıdır.
- Daha sonra her zaman ek veritabanları oluşturabilirsiniz.
- Bunu boş bırakırsanız RDS varsayılan bir veritabanı oluşturmaz. Örnek hazır olduktan sonra bunu manuel olarak yapmanız gerekir.
2. Veritabanı portu
Her veritabanı motoru standart bir TCP portu kullanır:
- PostgreSQL: 5342
- MySQL / MariaDB: 3306
- Oracle: 1521
- SQL Server: 1433
Uygulamanızın farklı bir port beklemesi gibi belirli bir ağ gereksinimi olmadıkça varsayılanla devam edin.
3. Parametre grupları
Parametre grupları, veritabanı motoru için yapılandırma şablonları gibidir. Davranışı ve performansı etkileyen düşük seviyeli ayarları tanımlarlar.
Örneğin PostgreSQL’de şunları yapılandırabilirsiniz:
work_mem: Dahili sıralama işlemleri için kullanılacak bellek miktarı
max_connections: Veritabanının kabul edebileceği eşzamanlı istemci bağlantı sayısı
log_min_duration_statement: Belirli bir yürütme süresini aşan sorguları günlüğe kaydetme
Her motorun ayarlanabilir kendi parametre kümesi vardır ve AWS varsayılan bir grup sağlar. Hızlı kurulum için varsayılanı kullanabilir veya iş yükünüz özel ayarlama gerektiriyorsa bir grubu klonlayıp özelleştirebilirsiniz.
4. Seçenek grupları
Seçenek grupları, bazı veritabanı motorlarında varsayılan olarak sunulmayan gelişmiş özellikleri eklemenize olanak tanır.
Bazı örnekler:
- Oracle: Transparent Data Encryption (TDE), Oracle XML DB
- SQL Server: SQL Server Agent, Full-Text Search
- MySQL/PostgreSQL: Genellikle denetim eklentileri gibi özellikleri etkinleştirmedikçe seçenek gruplarına ihtiyaç duymaz
Standart iş yükleri için PostgreSQL veya MySQL kullanıyorsanız genellikle seçenek gruplarıyla uğraşmanız gerekmez. Ancak Oracle veya SQL Server ile çalışıyorsanız gerekli özellikleri etkinleştirdiğinizden emin olmak için belgelere göz atın.
AWS RDS’ye Bağlanma
Veritabanı örneğiniz çalışır duruma geldiğinde, birden çok yolla bağlanabilirsiniz.
1. AWS konsolundan bağlanma
AWS, MySQL ve PostgreSQL için yerleşik bir sorgu düzenleyici sunar. Örneğinize gidin, Query Editor’ü seçin ve doğrudan tarayıcınızdan SQL komutları çalıştırmaya başlamak için veritabanı kimlik bilgilerinizi girin.
Bu, yerel bir SQL istemcisine ihtiyaç duymadan hızlı kontroller veya küçük ölçekli sorgular için idealdir.

2. Yerel bir makineden bağlanma
pgAdmin veya MySQL Workbench gibi yerel bir istemciden bağlanmak için.
- AWS Konsolu’ndan endpoint’i kopyalayın
- Örneğin genel erişime açık olduğundan veya VPC üzerinden erişilebilir olduğundan emin olun
- Doğru bilgileri sağlayın:
- Host (endpoint)
- Port (5432 veya 3306)
- Kullanıcı adı ve parola

Yerel makinenizin IP’sinin veritabanının güvenlik grubunda izinli olduğundan emin olun.
3. Güvenlik ve erişim kontrolü
RDS örneklerine erişim, Security Groups aracılığıyla kontrol
edilir. Şunları yapmanız gerekir:
- Veritabanı portunda (5432 veya 3306) gelen erişime izin verin
- EC2 konsolundan güvenlik grubunu değiştirin
- Üretimde belirli IP’lere veya VPC’lere erişimi kısıtlayın.
Ayrıca Kimlik ve Access Management (IAM) rolleri ve politikaları kullanarak erişim kontrolünü güçlendirebilirsiniz.
AWS RDS’yi Yönetme ve Ölçeklendirme
Veritabanınız çalışmaya başladıktan sonra, onu zaman içinde nasıl sürdüreceğinizi, ölçeklendireceğinizi ve yedekleyeceğinizi düşünmek önemlidir. AWS RDS, büyüyen bir uygulamayı desteklerken veya beklenmedik hatalara hazırlanırken bu görevleri kolaylaştıran yerleşik özellikler sunar.
1. Veritabanı örneğinizi ölçeklendirme
Uygulamanız büyüdükçe, talebi karşılamak için veritabanınızı ölçeklendirmeniz gerekebilir. AWS RDS iki tür ölçeklendirmeyi destekler: dikey ve yatay.
Dikey ölçeklendirme, daha fazla CPU, bellek ve ağ kapasitesi için örnek sınıfınızı yükseltmeyi içerir. İş yükünüz artıyor ancak tek bir düğümde yönetilebilir durumdaysa faydalıdır.
Okuma ağırlıklı uygulamalar için yatay ölçeklendirme daha uygun bir seçenektir. Okuma trafiğini dağıtmak için okuma replikaları ekleyebilirsiniz. Bu replikalar, kesintisiz geçiş veya geçiş (migrasyon) durumunda bağımsız örneklere terfi ettirilebilir.
2. Yüksek erişilebilirlik için multi-AZ yapılandırma
Hata toleransını artırmak ve kesinti süresini azaltmak için Multi-AZ dağıtımlarını etkinleştirebilirsiniz. Bu yapılandırma, farklı bir kullanılabilirlik bölgesinde bir bekleme replikası oluşturur ve birincil örnekle senkron çoğaltma kullanarak eşzamanlı tutar.
Birincil örnek başarısız olursa, RDS sizden herhangi bir işlem gerektirmeden otomatik olarak bekleme örneğine geçiş yapar. Veritabanı endpoint’i aynı kaldığından, uygulamanızın yeniden bağlanmasına veya yeniden yapılandırılmasına gerek yoktur.
Multi-AZ, yüksek erişilebilirlik gerektiren üretim sistemleri için şiddetle tavsiye edilir.
3. Yedeklemeleri ve anlık görüntüleri otomatikleştirme
RDS, otomatik ve manuel yedeklemeleri kurmayı kolaylaştırır. Otomatik yedeklemeler varsayılan olarak etkindir ve belirlediğiniz saklama süresi içinde (1 ila 35 gün) veritabanınızı herhangi bir zamana geri yüklemenize olanak tanır.
Otomatik yedeklemelere ek olarak, manuel anlık görüntüler de alabilirsiniz. Bunlar şema güncellemeleri veya motor yükseltmeleri gibi büyük değişikliklerden önce kullanışlıdır. Anlık görüntüler süresiz olarak saklanabilir ve gerektiğinde yeni örnekler başlatmak için kullanılabilir.
Önemli dağıtımlardan önce, güvence amaçlı anlık görüntüleri zamanlamak iyi bir alışkanlıktır.
AWS RDS’nin Gelişmiş Özellikleri
Temel özelliklerin ötesinde, AWS RDS performansı, güvenliği ve operasyonel verimliliği artırmak için tasarlanmış bir dizi gelişmiş özellik sunar. Bu araçlar, veritabanı sağlığını izlemenize, bakım iş akışlarını yönetmenize ve güvenlik en iyi uygulamalarını uygulamanıza yardımcı olur; üretim düzeyinde sistemler çalıştırmak için gereklidir.
RDS, Amazon CloudWatch ile yerel olarak tümle
şir ve CPU kullanımı, disk G/Ç, depolama alanı ve veritabanı bağlantıları gibi önemli performans metriklerini izlemenize olanak tanır. Bu metrikler gerçek zamanlıdır ve alarmlar veya panolar kurmak için kullanılabilir.
CloudWatch, Datacamp’teki AWS Depolama Eğitiminde gösterildiği gibi AWS S3 ve EFS iş akışlarında da yoğun şekilde kullanılır.
Daha derin içgörüler için zaman içinde sorgu performansını görselleştiren Performance Insights’ı etkinleştirebilirsiniz. Bu araç, yavaş veya kaynak tüketimi yüksek sorguları belirlemenize, veritabanı yükündeki eğilimleri fark etmenize ve darboğazları gidermenize yardımcı olur. Sorgu ayarlama ve indeksleme stratejileriyle birleştirildiğinde, veritabanınızın yoğun yük altında nasıl performans gösterdiğini optimize etmek için güçlü bir yöntemdir.
2. RDS bakımı ve yama yönetimi
AWS, RDS örnekleriniz için yazılım patch’lerini ve bakımı yönetir. Güncellemelerin uygulandığı bir bakım penceresi tanımlayabilirsiniz. Kritik bir yama yayınlanırsa AWS bunu hemen yükleyebilir veya geçici olarak ertelemeyi seçebilirsiniz.
Planlanan ve geçmiş tüm bakım etkinliklerini RDS konsolunda bulabilirsiniz. Veritabanınızı güncel tutmak, manuel güncelleme yönetimine gerek kalmadan en yeni performans iyileştirmeleri, hata düzeltmeleri ve güvenlik yamalarından yararlanmanızı sağlar.
3. Şifreleme ve güvenlik en iyi uygulamaları
RDS, hem bekleyen veriler hem de aktarım halindeki veriler için şifrelemeyi destekler. Bekleyen veri şifrelemesi, AWS Key Management Service (KMS) tarafından gerçekleştirilir ve örnek oluşturma sırasında etkinleştirilebilir. Aktarım halindeki veriler için RDS, istemciler ile veritabanı arasında SSL/TLS bağlantılarını destekler.
Güvenliği daha da güçlendirmek için sabitlenmiş kullanıcı adı ve parolalar yerine kısa ömürlü veritabanı kimlik bilgileri için IAM kimlik doğrulamayı etkinleştirmeyi düşünün. Ayrıca tüm AWS kullanıcıları için çok faktörlü kimlik doğrulamayı (MFA) zorunlu kılmak, IAM politikalarında asgari ayrıcalık ilkesini uygulamak ve tüm erişimi AWS CloudTrail ile günlüğe almak iyi bir fikirdir. Bu en iyi uygulamalar, verilerinizin korunmasını ve denetlenebilir olmasını sağlar.
Maliyet Yönetimi ve Optimizasyon
Maliyet yönetimi, AWS hizmetleriyle çal
ışmanın kilit bir parçasıdır ve R
DS de istisna değildir. Tamamen yönetilen bir hizmet olmasına rağmen, yapılandırma biçimine bağlı olarak RDS fiyatlandırması hızla artabilir. Maliyet yapısını anlamak ve erken aşamada optimizasyon stratejileri uygulamak, kullanımınız arttıkça bütçe içinde kalmanıza yardımcı olur.
1. AWS RDS fiyatlandırmasını anlama
RDS maliyetleri şu unsurlara göre belirlenir:
- Örnek sınıfı ve kullanım saatleri
- Depolama boyutu ve türü (
gp3 veya io1)
- Yedek saklama süresi ve anlık görüntü depolaması
- Veri transferi (özellikle bölgeler veya AZ’ler arası)
Beklenen maliyetlerinizi tahmin etmek ve modellemek için AWS Pricing Calculator’ı kullanın.
Sertifikasyona hazırlanıyorsanız, fiyatlandırmayı anlamak AWS Cloud Practitioner (CLF-C02) öğrenme yolunun önemli bir parçasıdır.
2. Maliyet optimizasyonu en iyi uygulamaları
RDS maliyetlerini azaltmanın veya kontrol etmenin çeşitli yolları vardır. Uzun ömürlü üretim veritabanları çalıştırıyorsanız, bir veya üç yıllık taahhüt karşılığında isteğe bağlı fiyatlandırmaya kıyasla önemli indirimler sunan Reserved Instances satın almayı düşünün.
Aşırı provizyonu önlemek için depolama otomatik ölçeklendirmeyi etkinleştirin; böylece ayrılan alan yalnızca gerektiği kadar artar. Nadiren erişilen ancak saklanması gereken veriler için, eski yedeklemeleri veya dışa aktarımları S3 veya Glacier’a taşıyabilirsiniz; bunlar çok daha ucuz depolama seçenekleridir.
Ayrıca AWS Trusted Advisor kullanarak kaynak
kullanımını izleyebilir,
bu araç yetersiz kullanılan örnekleri işaretleyebilir ve doğru boyutlandırma önerebilir. Bunu AWS Cost Explorer ve bütçe uyarılarıyla eşleştirerek zaman içindeki kullanım kalıplarınızı takip edin ve harcama sınırlarına yaklaştığınızda bildirim alın.
AWS RDS Sorun Giderme
RDS gibi tamamen yönetilen bir hizmette bile bağlantı sorunlarından performans yavaşlamalarına kadar çeşitli problemler ortaya çıkabilir. Nerede arayacağınızı ve nasıl tepki vereceğinizi bilmek, sorunları hızlıca çözmenize ve uygulamanız üzerindeki etkiyi en aza indirmenize yardımcı olur.
1. Bağlantı sorunlarını belirleme ve çözme
Bağlantı sorunları çoğunlukla yanlış yapılandırılmış ağ ayarlarından kaynaklanır. En yaygın nedenler arasında kapalı bir port veya kısıtlı IP aralığı gibi eksik veya hatalı güvenlik grubu kuralları yer alır. Ortamlar arasında geçiş yaparken yanlış endpoint veya port numarası kullanımı da sık görülen bir sorundur.
Ayrıca uygulamanız farklı bir VPC veya bölgede çalışıyorsa DNS çözümleme problemlerini de kontrol etmelisiniz. ping veya telnet gibi araçlar temel bağlantıyı doğrulamaya yardımcı olabilir. Hâlâ takılıyorsanız, RDS konsolu üzerinden erişilebilen motor günlükleri genellikle faydalı ipuçları sunar; kimlik doğrulama hataları veya zaman aşımlarını arayın, bunlar kök nedeni işaret edebilir.
Performans düşmeye başladığında, yapılandırılmış bir yaklaşım benimsemek önemlidir. Veritabanınızın parametre grubu ayarları üzerinden sorgu günlüğünü etkinleştirerek başlayın. Bu, beklenenden uzun süren sorguları belirlemenize yardımcı olur.
Buradan Performance Insights’ı kullanarak zaman içindeki sorgu yükünü, bekleme olaylarını ve kullanıcı etkinliğini görselleştirin. Bu içgörüler çoğu zaman indeksleme sorunlarını, verimsiz sorgu yapısını veya yüksek eşzamanlılığı ortaya çıkarır. Küçük değişiklikler, örneğin indeks eklemek veya karmaşık bir join’i yeniden yazmak, çoğu zaman fark edilir kazanımlar sağlayabilir.
İnce ayar yardımcı olmazsa, örnek sınıfınızı yükseltmeyi veya yatay olarak ölçeklendirmek için okuma replikaları eklemeyi düşünün. Her zaman olduğu gibi, performans değişikliklerini üretime uygulamadan önce bir hazırlık ortamında test edin.
3. Failover ve kurtarma ile başa çıkma
Multi-AZ dağıtımında RDS, failover işlemlerini otomatik olarak yönetir. Birincil örnek kullanılamaz hale gelirse AWS, beklemeyi birincil duruma terfi ettirir ve DNS kaydını günceller; bu genellikle birkaç dakika içinde gerçekleşir. Bu süreç sorunsuzdur ve uygulamanız manuel müdahale olmadan çalışmaya devam edebilir.
Single-AZ örneklerinde failover otomatik değildir. Bir arıza durumunda veritabanını en son anlık görüntüden manuel olarak geri yüklemeniz gerekir. Kurtarma süresini azaltmak için, bir şeyler ters gittiğinde hemen haberdar olmak üzere CloudWatch alarmlarını ve SNS bildirimlerini kurmak iyi bir fikirdir. Bu, ekibinizin hızlı tepki vermesini ve kesinti süresini en aza indirmesini sağlar.
Sonuç
Amazon RDS, altyapı sağlama veya manuel bakım işleriyle uğraşmadan bulutta ilişkisel veritabanlarını dağıtmayı, yönetmeyi ve ölçeklendirmeyi kolaylaştırır. Birden fazla motor desteği, otomatik yedeklemeler, yüksek erişilebilirlik ve performans izleme araçlarıyla RDS, hobi projelerinden kritik misyon uygulamalarına kadar her senaryo için uygundur.
Bu eğitim, başlamanız için pratik adımları ve temel bilgileri sundu.
Daha fazlasını keşfetmeye hazırsanız, AWS Cloud Practitioner (CLF-C02) öğrenme yolu, sertifikaya ve bulut uzmanlığına giden yolda harika bir sonraki adımdır.
Amazon Web Services (AWS), bulutta uygulama geliştirmek ve yönetmek için geniş bir araç yelpazesi sunar.
Veri uzmanları için en kullanışlı hizmetlerden biri, MySQL gibi popüler veritabanı motorlarını destekleyen tamamen yönetilen bir çözüm olan Amazon Relational Database Service (RDS)’dir; PostgreSQL, MariaDB, Oracle ve SQL Server.
İster yeni başlıyor olun ve altyapıyı kendiniz yönetmeden bir veritabanı dağıtmak isteyin, ister deneyimli bir profesyonel olarak performans ve maliyeti ince ayar yapmak isteyin, RDS işleri kolaylaştırır.
Bu eğitimde RDS’nin temel özelliklerini açıklayacak ve adım adım nasıl başlayacağınızı göstereceğim.
AWS RDS nedir?
AWS RDS, bulutta ilişkisel veritabanlarının kurulumu, işletimi ve
ölçeklendirilmesini basitleştirir. Altyapıyı yönetmek, yamaları uygulamak, yedeklemeleri ve ölçeklendirmeyi elle yapmak yerine RDS bu işlerin çoğunu otomatikleştirir; böylece siz uygulamanıza ve verinize odaklanabilirsiniz.MySQL, PostgreSQL, Oracle, SQL Server ve Amazon Aurora gibi birden çok veritabanı motorunu destekler. Şu özelliklerden yararlanırsınız:
Bu özellikler, manuel müdahaleyi en aza indirirken kritik üretim iş yüklerini güvenle çalıştırmanızı sağlar.
Bir AWS RDS Örneği Kurma
RDS ile başlamadan önce AWS Konsolu üzerinden yeni bir örnek oluşturmanız gerekir. Bir AWS hesabınız yoksa, ücretsiz olarak kayıt olabilirsiniz.
> Daha geniş AWS ekosistemi hakkında daha fazla bilgi edinmek için AWS Cloud Technology and Services kursuna göz atın.
Yeni bir RDS örneği oluşturma
1. AWS arama konsolunda “RDS” arayın ve Aurora and RDS hizmetine tıklayın.
2. Sol menüden Databases seçeneğine tıklayın.
3. Sağ üst köşedeki Create database düğmesine tıklayın.
4. Yapılandırma üzerinde tam denetim için Standard Create seçeneğini seçin.
Engine options altında tercih ettiğiniz veritabanı motorunu seçin. Çoğu kullanım senaryosu için PostgreSQL harika bir tercihtir.
5. Motoru seçtikten sonra geri kalan seçenekleri yapılandırarak kurulumu tamamlayın.
Bu adımı başarıyla tamamlamak için gereken diğer ayarları birlikte inceleyeceğiz.
Motor sürümü
Motor sürümü, seçtiğiniz veritabanı motorunun (ör. PostgreSQL, MySQL) hangi sürümünün kullanılacağını belirler. Bu, veritabanınızın özelliklerini, performansını ve uyumluluğunu etkiler.
Belirli bir nedeniniz (ör. uygulama uyumluluğu) yoksa en son kararlı sürümü seçin. AWS genellikle PostgreSQL 17.2 gibi en yeni ana sürümü önceden seçer; bu da çoğu kullanıcı için güvenli bir tercihtir.
Şablonlar
Şablonlar, kullanım durumunuza (üretim, geliştirme veya ücretsiz katman testi) göre önceden yapılandırılmış bir kurulum sağlar. Performans, erişilebilirlik ve yedek tutma süresi gibi varsayılan ayarları etkilerler.
Kullanılabilirlik ve dayanıklılık
Bu, veritabanınızın hataları nasıl ele alacağını ve trafiği kullanılabilirlik bölgeleri arasında nasıl dağıtacağını belirler. Çalışma süresini, yedekliliği ve sorunlardan ne kadar hızlı kurtulacağınızı etkiler.
Ayarlar
Bu bölüm, DB örneğinizin kimliğini ve kimlik bilgilerinin nasıl yönetileceğini tanımlar. Örneğinize ad verecek, ana kullanıcı adını belirleyecek ve gizlerin (parolaların) nasıl saklanıp şifreleneceğini seçeceksiniz.
Örnek yapılandırması
Bu bölüm, veritabanınıza ayrılan işlem kaynaklarının (CPU, RAM, ağ) türünü tanımlar. Örnek sınıfı performansı, ölçeklenebilirliği ve maliyeti belirler.
db.m7g.largeiki vCPU ve 8 GiB RAM sağlar; orta ölçekli iş yükleri için uygundur.Depolama yapılandırması
Bu bölüm, veritabanı depolamasının türünü, boyutunu ve performansını kontrol eder. Genel kullanım veya yüksek performanslı iş yükleri için optimize edilmiş depolamayı seçebilirsiniz.
Bağlanabilirlik
Bu bölüm, ağ ayarları, VPC, genel erişim ve güvenlik grupları dahil olmak üzere veritabanınızın dış dünya ile nasıl bağlantı kuracağını tanımlar.
Veritabanı kimlik doğrulama
Bu ayar, kullanıcıların veritabanınıza nasıl kimlik doğrulaması yapacağını kontrol eder. Geleneksel parolaları kullanabilir veya daha gelişmiş erişim kontrolü için IAM veya Kerberos gibi AWS hizmetleriyle tümleştirebilirsiniz.
İzleme
Bu bölüm, Database Insights, Enhanced Monitoring ve DevOps Guru gibi araçları kullanarak RDS örneğiniz için performans ve etkinlik takibini etkinleştirir. Bunlar performans darboğazlarını tespit etmenize, yükü analiz etmenize ve sorun gidermenize yardımcı olur.
Veritabanı motoru ayarlarını yapılandırma
Tüm altyapı ile ilgili ayarları seçtikten sonra, Additional configuration (veya motor/sürüme bağlı olarak benzer bir ad) adlı bir bölüme geleceksiniz. Burada RDS veritabanı motorunuzun davranışını ve yeteneklerini yapılandırırsınız.
Genellikle şu ayarları yaparsınız:
1. İlk veritabanı adı
Bu, örnek sağlandığında otomatik olarak oluşturulacak ilk veritabanının adıdır.
2. Veritabanı portu
Her veritabanı motoru standart bir TCP portu kullanır:
Uygulamanızın farklı bir port beklemesi gibi belirli bir ağ gereksinimi olmadıkça varsayılanla devam edin.
3. Parametre grupları
Parametre grupları, veritabanı motoru için yapılandırma şablonları gibidir. Davranışı ve performansı etkileyen düşük seviyeli ayarları tanımlarlar.
Örneğin PostgreSQL’de şunları yapılandırabilirsiniz:
work_mem: Dahili sıralama işlemleri için kullanılacak bellek miktarımax_connections: Veritabanının kabul edebileceği eşzamanlı istemci bağlantı sayısılog_min_duration_statement: Belirli bir yürütme süresini aşan sorguları günlüğe kaydetmeHer motorun ayarlanabilir kendi parametre kümesi vardır ve AWS varsayılan bir grup sağlar. Hızlı kurulum için varsayılanı kullanabilir veya iş yükünüz özel ayarlama gerektiriyorsa bir grubu klonlayıp özelleştirebilirsiniz.
4. Seçenek grupları
Seçenek grupları, bazı veritabanı motorlarında varsayılan olarak sunulmayan gelişmiş özellikleri eklemenize olanak tanır.
Bazı örnekler:
Standart iş yükleri için PostgreSQL veya MySQL kullanıyorsanız genellikle seçenek gruplarıyla uğraşmanız gerekmez. Ancak Oracle veya SQL Server ile çalışıyorsanız gerekli özellikleri etkinleştirdiğinizden emin olmak için belgelere göz atın.
AWS RDS’ye Bağlanma
Veritabanı örneğiniz çalışır duruma geldiğinde, birden çok yolla bağlanabilirsiniz.
1. AWS konsolundan bağlanma
AWS, MySQL ve PostgreSQL için yerleşik bir sorgu düzenleyici sunar. Örneğinize gidin, Query Editor’ü seçin ve doğrudan tarayıcınızdan SQL komutları çalıştırmaya başlamak için veritabanı kimlik bilgilerinizi girin.
Bu, yerel bir SQL istemcisine ihtiyaç duymadan hızlı kontroller veya küçük ölçekli sorgular için idealdir.
2. Yerel bir makineden bağlanma
pgAdmin veya MySQL Workbench gibi yerel bir istemciden bağlanmak için.
Yerel makinenizin IP’sinin veritabanının güvenlik grubunda izinli olduğundan emin olun.
3. Güvenlik ve erişim kontrolü
RDS örneklerine erişim, Security Groups aracılığıyla kontrol
edilir. Şunları yapmanız gerekir:Ayrıca Kimlik ve Access Management (IAM) rolleri ve politikaları kullanarak erişim kontrolünü güçlendirebilirsiniz.
AWS RDS’yi Yönetme ve Ölçeklendirme
Veritabanınız çalışmaya başladıktan sonra, onu zaman içinde nasıl sürdüreceğinizi, ölçeklendireceğinizi ve yedekleyeceğinizi düşünmek önemlidir. AWS RDS, büyüyen bir uygulamayı desteklerken veya beklenmedik hatalara hazırlanırken bu görevleri kolaylaştıran yerleşik özellikler sunar.
1. Veritabanı örneğinizi ölçeklendirme
Uygulamanız büyüdükçe, talebi karşılamak için veritabanınızı ölçeklendirmeniz gerekebilir. AWS RDS iki tür ölçeklendirmeyi destekler: dikey ve yatay.
Dikey ölçeklendirme, daha fazla CPU, bellek ve ağ kapasitesi için örnek sınıfınızı yükseltmeyi içerir. İş yükünüz artıyor ancak tek bir düğümde yönetilebilir durumdaysa faydalıdır.
Okuma ağırlıklı uygulamalar için yatay ölçeklendirme daha uygun bir seçenektir. Okuma trafiğini dağıtmak için okuma replikaları ekleyebilirsiniz. Bu replikalar, kesintisiz geçiş veya geçiş (migrasyon) durumunda bağımsız örneklere terfi ettirilebilir.
2. Yüksek erişilebilirlik için multi-AZ yapılandırma
Hata toleransını artırmak ve kesinti süresini azaltmak için Multi-AZ dağıtımlarını etkinleştirebilirsiniz. Bu yapılandırma, farklı bir kullanılabilirlik bölgesinde bir bekleme replikası oluşturur ve birincil örnekle senkron çoğaltma kullanarak eşzamanlı tutar.
Birincil örnek başarısız olursa, RDS sizden herhangi bir işlem gerektirmeden otomatik olarak bekleme örneğine geçiş yapar. Veritabanı endpoint’i aynı kaldığından, uygulamanızın yeniden bağlanmasına veya yeniden yapılandırılmasına gerek yoktur.
Multi-AZ, yüksek erişilebilirlik gerektiren üretim sistemleri için şiddetle tavsiye edilir.
3. Yedeklemeleri ve anlık görüntüleri otomatikleştirme
RDS, otomatik ve manuel yedeklemeleri kurmayı kolaylaştırır. Otomatik yedeklemeler varsayılan olarak etkindir ve belirlediğiniz saklama süresi içinde (1 ila 35 gün) veritabanınızı herhangi bir zamana geri yüklemenize olanak tanır.
Otomatik yedeklemelere ek olarak, manuel anlık görüntüler de alabilirsiniz. Bunlar şema güncellemeleri veya motor yükseltmeleri gibi büyük değişikliklerden önce kullanışlıdır. Anlık görüntüler süresiz olarak saklanabilir ve gerektiğinde yeni örnekler başlatmak için kullanılabilir.
Önemli dağıtımlardan önce, güvence amaçlı anlık görüntüleri zamanlamak iyi bir alışkanlıktır.
AWS RDS’nin Gelişmiş Özellikleri
Temel özelliklerin ötesinde, AWS RDS performansı, güvenliği ve operasyonel verimliliği artırmak için tasarlanmış bir dizi gelişmiş özellik sunar. Bu araçlar, veritabanı sağlığını izlemenize, bakım iş akışlarını yönetmenize ve güvenlik en iyi uygulamalarını uygulamanıza yardımcı olur; üretim düzeyinde sistemler çalıştırmak için gereklidir.
1. Amazon CloudWatch ile performans izleme
RDS, Amazon CloudWatch ile yerel olarak tümle
şir ve CPU kullanımı, disk G/Ç, depolama alanı ve veritabanı bağlantıları gibi önemli performans metriklerini izlemenize olanak tanır. Bu metrikler gerçek zamanlıdır ve alarmlar veya panolar kurmak için kullanılabilir.CloudWatch, Datacamp’teki AWS Depolama Eğitiminde gösterildiği gibi AWS S3 ve EFS iş akışlarında da yoğun şekilde kullanılır.
Daha derin içgörüler için zaman içinde sorgu performansını görselleştiren Performance Insights’ı etkinleştirebilirsiniz. Bu araç, yavaş veya kaynak tüketimi yüksek sorguları belirlemenize, veritabanı yükündeki eğilimleri fark etmenize ve darboğazları gidermenize yardımcı olur. Sorgu ayarlama ve indeksleme stratejileriyle birleştirildiğinde, veritabanınızın yoğun yük altında nasıl performans gösterdiğini optimize etmek için güçlü bir yöntemdir.
2. RDS bakımı ve yama yönetimi
AWS, RDS örnekleriniz için yazılım patch’lerini ve bakımı yönetir. Güncellemelerin uygulandığı bir bakım penceresi tanımlayabilirsiniz. Kritik bir yama yayınlanırsa AWS bunu hemen yükleyebilir veya geçici olarak ertelemeyi seçebilirsiniz.
Planlanan ve geçmiş tüm bakım etkinliklerini RDS konsolunda bulabilirsiniz. Veritabanınızı güncel tutmak, manuel güncelleme yönetimine gerek kalmadan en yeni performans iyileştirmeleri, hata düzeltmeleri ve güvenlik yamalarından yararlanmanızı sağlar.
3. Şifreleme ve güvenlik en iyi uygulamaları
RDS, hem bekleyen veriler hem de aktarım halindeki veriler için şifrelemeyi destekler. Bekleyen veri şifrelemesi, AWS Key Management Service (KMS) tarafından gerçekleştirilir ve örnek oluşturma sırasında etkinleştirilebilir. Aktarım halindeki veriler için RDS, istemciler ile veritabanı arasında SSL/TLS bağlantılarını destekler.
Güvenliği daha da güçlendirmek için sabitlenmiş kullanıcı adı ve parolalar yerine kısa ömürlü veritabanı kimlik bilgileri için IAM kimlik doğrulamayı etkinleştirmeyi düşünün. Ayrıca tüm AWS kullanıcıları için çok faktörlü kimlik doğrulamayı (MFA) zorunlu kılmak, IAM politikalarında asgari ayrıcalık ilkesini uygulamak ve tüm erişimi AWS CloudTrail ile günlüğe almak iyi bir fikirdir. Bu en iyi uygulamalar, verilerinizin korunmasını ve denetlenebilir olmasını sağlar.
Maliyet Yönetimi ve Optimizasyon
Maliyet yönetimi, AWS hizmetleriyle çal
ışmanın kilit bir parçasıdır ve RDS de istisna değildir. Tamamen yönetilen bir hizmet olmasına rağmen, yapılandırma biçimine bağlı olarak RDS fiyatlandırması hızla artabilir. Maliyet yapısını anlamak ve erken aşamada optimizasyon stratejileri uygulamak, kullanımınız arttıkça bütçe içinde kalmanıza yardımcı olur.1. AWS RDS fiyatlandırmasını anlama
RDS maliyetleri şu unsurlara göre belirlenir:
gp3veyaio1)Beklenen maliyetlerinizi tahmin etmek ve modellemek için AWS Pricing Calculator’ı kullanın.
Sertifikasyona hazırlanıyorsanız, fiyatlandırmayı anlamak AWS Cloud Practitioner (CLF-C02) öğrenme yolunun önemli bir parçasıdır.
2. Maliyet optimizasyonu en iyi uygulamaları
RDS maliyetlerini azaltmanın veya kontrol etmenin çeşitli yolları vardır. Uzun ömürlü üretim veritabanları çalıştırıyorsanız, bir veya üç yıllık taahhüt karşılığında isteğe bağlı fiyatlandırmaya kıyasla önemli indirimler sunan Reserved Instances satın almayı düşünün.
Aşırı provizyonu önlemek için depolama otomatik ölçeklendirmeyi etkinleştirin; böylece ayrılan alan yalnızca gerektiği kadar artar. Nadiren erişilen ancak saklanması gereken veriler için, eski yedeklemeleri veya dışa aktarımları S3 veya Glacier’a taşıyabilirsiniz; bunlar çok daha ucuz depolama seçenekleridir.
Ayrıca AWS Trusted Advisor kullanarak kaynak
kullanımını izleyebilir, bu araç yetersiz kullanılan örnekleri işaretleyebilir ve doğru boyutlandırma önerebilir. Bunu AWS Cost Explorer ve bütçe uyarılarıyla eşleştirerek zaman içindeki kullanım kalıplarınızı takip edin ve harcama sınırlarına yaklaştığınızda bildirim alın.AWS RDS Sorun Giderme
RDS gibi tamamen yönetilen bir hizmette bile bağlantı sorunlarından performans yavaşlamalarına kadar çeşitli problemler ortaya çıkabilir. Nerede arayacağınızı ve nasıl tepki vereceğinizi bilmek, sorunları hızlıca çözmenize ve uygulamanız üzerindeki etkiyi en aza indirmenize yardımcı olur.
1. Bağlantı sorunlarını belirleme ve çözme
Bağlantı sorunları çoğunlukla yanlış yapılandırılmış ağ ayarlarından kaynaklanır. En yaygın nedenler arasında kapalı bir port veya kısıtlı IP aralığı gibi eksik veya hatalı güvenlik grubu kuralları yer alır. Ortamlar arasında geçiş yaparken yanlış endpoint veya port numarası kullanımı da sık görülen bir sorundur.
Ayrıca uygulamanız farklı bir VPC veya bölgede çalışıyorsa DNS çözümleme problemlerini de kontrol etmelisiniz. ping veya telnet gibi araçlar temel bağlantıyı doğrulamaya yardımcı olabilir. Hâlâ takılıyorsanız, RDS konsolu üzerinden erişilebilen motor günlükleri genellikle faydalı ipuçları sunar; kimlik doğrulama hataları veya zaman aşımlarını arayın, bunlar kök nedeni işaret edebilir.
2. Performans sorunlarını giderme
Performans düşmeye başladığında, yapılandırılmış bir yaklaşım benimsemek önemlidir. Veritabanınızın parametre grubu ayarları üzerinden sorgu günlüğünü etkinleştirerek başlayın. Bu, beklenenden uzun süren sorguları belirlemenize yardımcı olur.
Buradan Performance Insights’ı kullanarak zaman içindeki sorgu yükünü, bekleme olaylarını ve kullanıcı etkinliğini görselleştirin. Bu içgörüler çoğu zaman indeksleme sorunlarını, verimsiz sorgu yapısını veya yüksek eşzamanlılığı ortaya çıkarır. Küçük değişiklikler, örneğin indeks eklemek veya karmaşık bir join’i yeniden yazmak, çoğu zaman fark edilir kazanımlar sağlayabilir.
İnce ayar yardımcı olmazsa, örnek sınıfınızı yükseltmeyi veya yatay olarak ölçeklendirmek için okuma replikaları eklemeyi düşünün. Her zaman olduğu gibi, performans değişikliklerini üretime uygulamadan önce bir hazırlık ortamında test edin.
3. Failover ve kurtarma ile başa çıkma
Multi-AZ dağıtımında RDS, failover işlemlerini otomatik olarak yönetir. Birincil örnek kullanılamaz hale gelirse AWS, beklemeyi birincil duruma terfi ettirir ve DNS kaydını günceller; bu genellikle birkaç dakika içinde gerçekleşir. Bu süreç sorunsuzdur ve uygulamanız manuel müdahale olmadan çalışmaya devam edebilir.
Single-AZ örneklerinde failover otomatik değildir. Bir arıza durumunda veritabanını en son anlık görüntüden manuel olarak geri yüklemeniz gerekir. Kurtarma süresini azaltmak için, bir şeyler ters gittiğinde hemen haberdar olmak üzere CloudWatch alarmlarını ve SNS bildirimlerini kurmak iyi bir fikirdir. Bu, ekibinizin hızlı tepki vermesini ve kesinti süresini en aza indirmesini sağlar.
Sonuç
Amazon RDS, altyapı sağlama veya manuel bakım işleriyle uğraşmadan bulutta ilişkisel veritabanlarını dağıtmayı, yönetmeyi ve ölçeklendirmeyi kolaylaştırır. Birden fazla motor desteği, otomatik yedeklemeler, yüksek erişilebilirlik ve performans izleme araçlarıyla RDS, hobi projelerinden kritik misyon uygulamalarına kadar her senaryo için uygundur.
Bu eğitim, başlamanız için pratik adımları ve temel bilgileri sundu.
Daha fazlasını keşfetmeye hazırsanız, AWS Cloud Practitioner (CLF-C02) öğrenme yolu, sertifikaya ve bulut uzmanlığına giden yolda harika bir sonraki adımdır.