AWS Türkçe Blog

Yeni – AWS DMS Serverless: Taşıma ve Veri Çoğaltma için Kapasiteyi Otomatik Olarak Tedarik Eder ve Ölçeklendirir

Orijinal makale: Link (Donnie Prakoso)

Günümüzde yaratılan çok büyük miktarda veriyle kuruluşlar, tam olarak yönetilen veritabanı hizmetlerinin güvenliğinden, dayanıklılığından ve performansından yararlanmak için buluta geçiyor. Veritabanı ve analiz geçişlerini kolaylaştırmak için AWS Database Migration Service’i (AWS DMS) kullanabilirsiniz. İlk olarak 2016’da kullanıma sunulan AWS DMS, veritabanı geçiş projelerini otomatikleştirerek zamandan, kaynaklardan ve paradan tasarruf sağlayan basit bir geçiş süreci sunar.

AWS DMS geçişini konsol üzerinden birkaç tıklamayla başlatabilseniz de geçiş yapmadan önce gerekli kapasiteyi belirlemek için araştırma ve planlama yapmanız gerekir. Özellikle birçok iş yükünü aynı anda taşırken veya verileri sürekli olarak çoğaltırken, kapasiteyi önceden doğru şekilde ölçeklendirmeyi bilmek zor olabilir. Bunun da ötesinde, optimum performansı sağlamak için kullanımı sürekli olarak izlemeniz ve kapasiteyi manuel olarak ölçeklendirmeniz gerekir.

AWS DMS Serverless Tanıtım
Bugün size AWS DMS’te veritabanı geçişlerinizi daha kolay ve daha uygun maliyetli hale getirmek için geçiş kaynaklarını otomatik olarak ayarlayan, ölçeklendiren ve yöneten yeni bir sunucusuz seçenek olan AWS DMS Serverless‘tan bahsetmekten heyecan duyuyorum.

İşte AWS DMS Serverless’ın nasıl çalıştığına dair hızlı bir ön izleme:

AWS DMS Serverless, yüksek performanslı, kesintisiz bir geçiş sağlamak için gerekli bilgi işlem kaynaklarını belirleme ve gereken operasyonel yükün üstesinden gelme tahminlerini ortadan kaldırır. Geçişler için otomatik kapasite sağlama, ölçeklendirme ve kapasite optimizasyonu gerçekleştirerek geçişlere en az gözetimle hızlı bir şekilde başlamanıza olanak tanır.

AWS DMS Serverless piyasaya sürüldüğünde veri kaynakları olarak Microsoft SQL Server, PostgreSQL, MySQL ve Oracle’ı destekler. AWS DMS Serverless, veri hedeflerine gelince, Amazon Aurora, Amazon Relational Database Service (Amazon RDS), Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon DynamoDB ve daha fazlasından çok çeşitli veritabanlarını ve analitik hizmetlerini destekler. AWS DMS Serverless, yeni veri kaynakları ve hedefleri için destek eklemeye devam ediyor. Gelişmelerden haberdar olmak için Desteklenen Motor Sürümlerini ziyaret edin.

AWS DMS Serverless tarafından desteklenen çeşitli kaynaklar ve hedefler sayesinde birçok senaryo mümkün hale gelir. AWS DMS Serverless’ı veritabanlarını taşımak ve devam eden veri çoğaltmalarını birden fazla, belki de farklı veri kaynaklarından veri göllerine (ör. Amazon S3) veya veri ambarlarına (ör. Amazon Redshift) senkronize ederek modern veri stratejileri oluşturmaya yardımcı olmak için kullanabilirsiniz.

AWS DMS Serverless Nasıl Çalışır?
Size AWS DMS Serverless ile nasıl başlayabileceğinizi göstereyim. Bu gönderide, verilerimi PostgreSQL üzerinde çalışan bir kaynak veritabanından Amazon RDS üzerinde çalışan bir hedef MySQL veritabanına taşıyorum. Aşağıdaki ekran görüntüsü, sahte veriler içeren kaynak veritabanımı gösteriyor:

Hedefe gelince, Amazon RDS’te çalışan bir MySQL veritabanı kurdum. Aşağıdaki ekran görüntüsü hedef veritabanımı gösteriyor:

AWS DMS Serverless’ı kullanmaya başlamak, AWS DMS’in bugünkü çalışma şekline benzer. AWS DMS Serverless, kaynak ve hedef uç noktaları tanımlamak için virtual private cloud (VPC) oluşturma gibi kurulum görevlerini tamamlamamı gerektiriyor. AWS DMS ile ilk kez çalışıyorsanız AWS Database Migration Service için Ön Koşullar sayfasını ziyaret ederek daha fazla bilgi edinebilirsiniz.

Bir veri deposuna bağlanmak için AWS DMS’in hem kaynak hem de hedef veri depoları için uç noktalara ihtiyacı vardır. Bir uç nokta, bağlantı, veri deposu türü ve veri depolarımın konumu dahil olmak üzere gerekli tüm bilgileri sağlar. Aşağıdaki resimde, hedef veritabanım için oluşturduğum bir uç nokta gösterilmektedir:

Uç noktaları ayarlamayı bitirdiğimde, Serverless replications (Sunucusuz çoğaltmalar) sayfasındaki Create replication (Eşleme oluştur) düğmesini seçerek bir çoğaltma oluşturmaya başlayabilirim. Çoğaltma, normalde standart AWS DMS’te sahip olduğumuz örnekleri ve görevleri soyutlamak için AWS DMS Serverless’ta tanıtılan yeni bir kavramdır. Ek olarak, kapasite kaynakları her çoğaltma için bağımsız olarak yönetilir.

Create replication sayfasında bazı konfigürasyonları tanımlamam gerekiyor. Bu, Name (Ad) tanımlanmasıyla başlar, ardından Source database endpoint (Kaynak veritabanı uç noktası) ve Target database endpoint (Hedef veritabanı uç noktası) belirtilir. Uç noktalarınızı bulamıyorsanız AWS DMS Serverless tarafından desteklenen veritabanı motorlarını seçtiğinizden emin olun.

Bundan sonra, Replication type (Çoğaltma türü) belirtmem gerekiyor. AWS DMS Serverless’ta kullanılabilen üç tür çoğaltma vardır:

  • Full load — Kaynak veritabanındaki tüm mevcut verileri taşımam gerekirse
  • Change data capture (CDC) — Veri değişikliklerini kaynaktan hedef veritabanına çoğaltmam gerekirse.
  • Full load and change data capture (CDC) — Mevcut verileri taşımam ve veri değişikliklerini kaynaktan hedef veritabanına kopyalamam gerekirse.

Bu örnekte, kaynak veritabanında devam eden değişiklikler için mevcut verileri taşımam ve hedef veritabanını sürekli güncellemem gerektiğinden Full load and change data capture (CDC) seçtim.

Settings (Ayarlar) bölümünde Amazon CloudWatch ile günlüğe kaydetmeyi de etkinleştirebilirim, bu da zaman içinde çoğaltma ilerlemesini izlememi kolaylaştırır.

Standart AWS DMS’te olduğu gibi, AWS DMS Serverless’ta da, kaynak veri deposundaki tablo sütunlarından çoğaltmam gereken filtreleri tanımlamak için Table mappings (Tablo eşlemeleri) bölümündeki Selection rules‘u (Seçim kuralları) yapılandırabilirim.

Bir şemayı veya tabloyu yeniden adlandırmam veya bir şema veya tabloya ön ek (prefix) veya son ek (suffix) eklemem gerekirse, Transformation rules (Dönüşüm kuralları) da kullanabilirim.

Capacity (Kapasite) bölümünde, minimum ve maksimum DCU (DMS capacity units – DMS kapasite birimleri) tanımlayarak, çoğaltmayı gerçekleştirmek için gerekli kapasite aralığını ayarlayabilirim. AWS DMS Serverless, çoğaltma iş yükünün değerlendirmesine göre minimum DCU’yu belirlediğinden minimum DCU ayarı isteğe bağlıdır. Çoğaltma işlemi sırasında AWS DMS, CPU kullanımına, bağlantılara ve kullanılabilir belleğe göre ölçeği artırmak ve azaltmak için bu aralığı kullanır.

Maksimum kapasiteyi ayarlamak, AWS DMS Serverless’ın asla bütçelediğinizden daha fazla kaynak tüketmemesini sağlayarak maliyetleri yönetmenize olanak tanır. Maksimum DCU’yu tanımlarken makul bir kapasite seçtiğinizden emin olun, böylece AWS DMS Serverless büyük veri işlem hacimlerini işleyebilir. Trafik hacmi düşerse, AWS DMS Serverless kapasiteyi yeniden ölçeklendirir ve yalnızca ihtiyacınız kadar ödeme yaparsınız. Minimum ve maksimum DCU ayarlarını değiştirmek istediğiniz durumlar için önce çoğaltma işlemini durdurmanız, değişiklikleri yapmanız ve çoğaltmayı tekrar çalıştırmanız gerekir.

Çoğaltmayı yapılandırmayı bitirdiğimde, Create replication (Çoğaltma oluştur) seçiyorum.

Çoğaltmam oluşturulduğunda, çoğaltmamın daha fazla detayını görüntüleyebilir ve Start‘ı (Başlat) seçerek süreci başlatabilirim.

Çoğaltmam yaklaşık 40 dakika çalıştıktan sonra, Monitoring (İzleme) sekmesinde çoğaltma ilerlemesini izleyebilirim. AWS DMS Serverless ayrıca, minimum ve maksimum DCU olarak tanımlanan aralığa göre çoğaltmayı çalıştırmak için kapasite kullanımını gösteren Capacity utilization (Kapasite kullanımı) adlı bir CloudWatch metriğine sahiptir. Aşağıdaki ekran görüntüsü, CloudWatch metrik tablosunda artan kapasiteyi göstermektedir.

Çoğaltma işlemi bittiğinde kapasitenin azalmaya başladığını görüyorum. Bu, AWS DMS Serverless’ın gerekli kapasiteye başarılı bir şekilde ölçeklendirmesine ek olarak, tanımladığım aralık içinde ölçek küçültebileceğini de gösterir.

Son olarak tek yapmam gereken, verilerimin hedef veri deposuna başarıyla çoğaltıldığını doğrulamak. Hedefe bağlanmam, bir seçme sorgusu çalıştırmam ve tüm verilerin kaynaktan başarıyla çoğaltıldığını kontrol etmem gerekiyor.

Şimdi Kullanılabilir
AWS DMS Serverless artık standart AWS DMS’in sunulduğu tüm ticari bölgelerde mevcuttur ve bugün kullanmaya başlayabilirsiniz. Avantajlar, kullanım örnekleri, nasıl başlanacağı ve fiyatlandırma ayrıntıları hakkında daha fazla bilgi için AWS DMS Serverless‘a bakın.

Mutlu taşımalar!