16/02/2022

AWS Relational Database RDS

  • RDS is a managed Relational Database service.
  • EC2 instance içinde koşar dolayısıyla oluştururken EC2 instance ida seçmek zorundasınız. Ancak downtime ile beraber instance tipini değiştirebilirsiniz.

Farklı DB Engineleri mevcuttur.

  • Amazon / Aurora
  • MySQL
  • MariaDB
  • Oracle
  • MS Sql Server
  • PostgreSQL

Aurora haricinde diğerlerini istersen kendinde bir EC2 instancei oluşturup içine kurabilirsin ve root access alırsın ama managed olunca patching, güvenlik vs gibi pek çok OS detayı amazon tarafından hallediliyor.

RDS olunca managed ve OS access olmuyor.

Scale up yapmak mümkün mesela daha çok RAM lazım oluyor DBye o zaman aynı VM için RAM arttırmak mümkün.

Disaster Recoveryde ise örneğin bir başka Availability Zone içinde bir “RDS Stand-by ” oluşturursunuz ve “RDS Master” onu senkron olarak update eder. Burada senkron verinin gönderilmesi, standby tarafından update in confirm edilmesi anlamına gelir. Yani master ve standby consistent olur. Ama aynı zamanda yavaşlama da demektir.

Scale-out ise bir DB daha eklediğimiz durumdur. Read-replika ekleyebiliriz ve okuma işlemlerinin oradan yapacak şekilde configüre edebiliriz. hatta RDS-Master ile RDS Read-replica arası asenkron hale getirebiliriz böylece confirmation için beklemeye gerek kalmaz. Böylece write işlemleri RDS-Master , read işlemleri de RDS Read-replica(lara) gider. Böylece EC2 ler için işlem yükü dağıtılabilir.

Örnek olarak bir RDS oluşturacağız. Bunun için AWS Console da RDS buluyoruz ve “create database” tıklıyoruz.

Gelen uzunca menüde free örnek olarak Mysql seçiyoruz ve template olarak ise “Freetier” seçiyoruz.

Diğer ayarları da çok ellemiyoruz free tier olduğu için. Deletion protection i disable bırakıyoruz. Sileceğiz sonra.

Maintenance windows gerekli updateler security patchleri için vs downtime olarak planlı.

Oluşturulması bir kaç dakika sürüyor sonra gelen ekranda connection details e tıklıyoruz ve aşağıda ki önemli bilgileri görüyoruz.

Endpoint uygulamaların bağlanması için.

Database e tıkladığımızda bilgilerin olduğu ekranda endpoint, port bunun yanı sıra network VPC bilgileri, performans bilgileri ve security group bilgileri de mevcuttur.

Security groups


Herhangi bir application kurarken security group u erişim için ayarlamak gereklidir. Default gelen Security group sadece kendi EC2 instance indan gelen paketlere izin vermektedir. Yani mysql port 3306 dışardan gelen trafiklere kapalıdır.

Yeni bir security rule oluştururken aslında bir security group oluşturup uygulamaları buna bağlamak daha iyi olacaktır.

Maintenance

RDS management console a baktığımızda maintenance tabinde aşağıda ki bilgileri görürüz.

Auto Minor upgrade downtime olmadan yapılabilecek mini updateleri kastetmektedir.

Maintenance window olarakta belirlenen tarih vardır ancak pending bir maintenance mevcut değildir.

Leave a Reply