Aracılığıyla paylaş


Öğretici: DMS kullanarak RDS PostgreSQL’i çevrimiçi ortamda PostgreSQL için Azure Veritabanına geçirme

Önemli

Daha kolay ve verimli bir geçiş deneyimi için PostgreSQL için Azure Veritabanı'nda yeni geçiş hizmetini kullanmanızı öneririz. Bu hizmet, çeşitli kaynak ortamlarını destekleyerek süreci basitleştirir ve PostgreSQL için Azure Veritabanı'na sorunsuz bir geçiş sağlar.

Azure Veritabanı Geçiş Hizmeti'ni kullanarak bir RDS PostgreSQL örneğinden PostgreSQL için Azure Veritabanı'na geçiş sırasında kaynak veritabanı çevrimiçi kalır. Başka bir deyişle, uygulamaya en az kapalı kalma süresiyle geçiş yapılabilir. Bu öğreticide, Azure Veritabanı Geçiş Hizmeti'deki çevrimiçi geçiş etkinliğini kullanarak örnek veritabanını bir RDS PostgreSQL 9.6 örneğinden PostgreSQL için Azure Veritabanı'a geçirirsinizDVD Rental.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • pg_dump yardımcı programını kullanarak örnek şemayı geçirin.
  • Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
  • Azure Veritabanı Geçiş Hizmeti kullanarak geçiş projesi oluşturun.
  • Geçişi çalıştırma.
  • Geçişi izleme.
  • Tam geçiş gerçekleştirin.

çevrimiçi geçiş gerçekleştirmek için Azure Veritabanı Geçiş Hizmeti kullanmak için Premium fiyatlandırma katmanını temel alan bir örnek oluşturulması gerekir. Daha fazla bilgi için Bkz. Azure Veritabanı Geçiş Hizmeti fiyatlandırma sayfası. Geçiş işlemi sırasında veri hırsızlığını önlemek için diski şifreleriz.

Önemli

En iyi geçiş deneyimi için Microsoft, Azure Veritabanı Geçiş Hizmeti’nin bir örneğini hedef veritabanıyla aynı Azure bölgesinde oluşturmayı önerir. Verileri bölgeler veya coğrafyalar arasında taşımak, geçiş sürecini yavaşlatabilir ve hatalara neden olabilir.

İpucu

Azure Veritabanı Geçiş Hizmeti veritabanlarınızı çevrimdışı veya çevrimiçiyken geçirebilirsiniz. Çevrimdışı geçişte, geçiş başladığında uygulama kapalı kalma süresi başlar. Kesinti süresini geçişten sonra yeni ortama geçiş süresiyle sınırlamak için çevrimiçi geçiş kullanın. Kapalı kalma süresinin kabul edilebilir olup olmadığını belirlemek için çevrimdışı geçişi test etmenizi öneririz. Beklenen kapalı kalma süresi kabul edilebilir değilse çevrimiçi geçiş yapın.

Bu makalede, PostgreSQL'in şirket içi örneğinden PostgreSQL için Azure Veritabanı'e çevrimiçi geçiş gerçekleştirme işlemi açıklanmaktadır.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdakileri yapmanız gerekir:

  • PostgreSQL community edition 9.5, 9.6 veya 10'u indirin ve yükleyin. Kaynak PostgreSQL Sunucusu sürümü 9.5.11, 9.6.7, 10 veya üzeri olmalıdır. Daha fazla bilgi için Desteklenen PostgreSQL Veritabanı Sürümleri makalesine bakın.

    Hedef PostgreSQL için Azure Veritabanı sürümü RDS PostgreSQL sürümüne eşit veya bundan sonraki bir sürüm olmalıdır. Örneğin, RDS PostgreSQL 9.6 yalnızca PostgreSQL için Azure Veritabanı 9.6, 10 veya 11'e geçirilebilir, ancak 9.5 PostgreSQL için Azure Veritabanı geçirilmez.

  • PostgreSQL için Azure Veritabanı esnek sunucusunun bir örneğini oluşturun.

  • ExpressRoute veya VPN kullanarak şirket içi kaynak sunucularınıza siteden siteye bağlantı sağlayan Azure Resource Manager dağıtım modelini kullanarak Azure Veritabanı Geçiş Hizmeti için Microsoft Azure Sanal Ağı oluşturun. Sanal ağ oluşturma hakkında daha fazla bilgi için , Sanal Ağ Belgeleri'ne ve özellikle adım adım ayrıntıları içeren hızlı başlangıç makalelerine bakın.

  • Sanal ağ Ağ Güvenlik Grubu kurallarınızın ServiceBus, Depolama ve AzureMonitor için ServiceTag'in 443 numaralı giden bağlantı noktasını engellemediğinden emin olun. Sanal ağ NSG trafiği filtreleme hakkında daha fazla ayrıntı için Ağ trafiğini ağ güvenlik gruplarıyla filtreleme makalesine bakın.

  • Veritabanı altyapısı erişimi için Windows Güvenlik Duvarınızı yapılandırın.

  • Azure Veritabanı Geçiş Hizmeti varsayılan olarak TCP bağlantı noktası 5432 olan kaynak PostgreSQL sunucusuna erişmesine izin vermek için Windows Güvenlik Duvarınızı açın.

  • Kaynak veritabanlarınızın önünde bir güvenlik duvarı gereci kullanırken, Azure Veritabanı Geçiş Hizmeti geçiş için kaynak veritabanlarına erişmesine izin vermek için güvenlik duvarı kuralları eklemeniz gerekebilir.

  • Azure Veritabanı Geçiş Hizmeti'nin hedef veritabanlarına erişmesine izin vermek için PostgreSQL için Azure Veritabanı sunucusu için sunucu düzeyinde bir güvenlik duvarı kuralı oluşturun. Azure Veritabanı Geçiş Hizmeti için kullanılan sanal ağın alt ağ aralığını belirtin.

Çoğaltma için AWS RDS PostgreSQL'i ayarlama

  1. Yeni bir parametre grubu oluşturmak için DB Parametre Gruplarıyla Çalışma makalesinde AWS tarafından sağlanan yönergeleri izleyin.

  2. master Azure Veritabanı Geçiş Hizmeti'nden kaynağa bağlanmak için kullanıcı adını kullanın. Kullanıcı hesabı dışında bir hesap kullanıyorsanız, hesabın master rolü ve rds_replication rolü dışında rds_superuser rolü de olmalıdır. Rol, rds_replication mantıksal yuvaları yönetme ve mantıksal yuvaları kullanarak veri akışı yapmak için izinler verir.

  3. Aşağıdaki yapılandırmayla yeni bir parametre grubu oluşturun:

    • rds.logical_replication DB parametre grubunuzdaki parametresini olarak 1ayarlayın.

    • max_wal_senders = [eşzamanlı görev sayısı]. parametresi, max_wal_senders çalışabilecek eşzamanlı görevlerin sayısını ayarlar. Önerilen ayar: 10.

    • max_replication_slots = [yuva sayısı]. Önerilen ayar: 5.

  4. Oluşturduğunuz parametre grubunu RDS PostgreSQL örneğiyle ilişkilendirin.

Şemayı geçirme

  1. Tablo şemaları, dizinler ve saklı yordamlar gibi tüm veritabanı nesnelerinin geçişini tamamlamak için şemayı kaynak veritabanından ayıklayın ve hedef veritabanına uygulayın.

    Yalnızca şemayı geçirmenin en kolay yolu pg_dump'yi -s seçeneğiyle kullanmaktır. Daha fazla bilgi için Postgres öğreticisindeki pg_dump bakın.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    Örneğin, bir dvdrental veritabanı için bir şema dosyasının dökümünü almak amacıyla aşağıdaki komutu kullanın:

    pg_dump -O -h localhost -U postgres -d dvdrental -s  > dvdrentalSchema.sql
    
  2. PostgreSQL için Azure Veritabanı - Esnek sunucu olan hedef hizmette boş bir veritabanı oluşturun.

  3. Şemayı PostgreSQL için Azure Veritabanı olan hedef hizmete aktarın. Şema döküm dosyasını geri yüklemek için aşağıdaki komutu çalıştırın:

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    Örneğin:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d dvdrental < dvdrentalSchema.sql
    

    Not

    Geçiş hizmeti, güvenilir ve sağlam bir veri geçişi sağlamak için yabancı anahtarların ve tetikleyicilerin etkinleştirilmesini ve devre dışı bırakılmasını dahili olarak işler. Sonuç olarak, hedef veritabanı şemasında herhangi bir değişiklik yapma konusunda endişelenmeniz gerekmez.

Kaynak sağlayıcısını kaydetme

İlk Veritabanı Geçiş Hizmeti örneğinizi oluşturmadan önce Microsoft.DataMigration kaynak sağlayıcısını kaydedin.

  1. Azure Portal’ında oturum açın. Abonelikler'i arayın ve seçin.

    Portal aboneliklerini gösteren ekran görüntüsü.

  2. Azure Veritabanı Geçiş Hizmeti örneğini oluşturmak istediğiniz aboneliği seçin ve ardından Kaynak sağlayıcıları'nı seçin.

    Kaynak sağlayıcılarını gösteren ekran görüntüsü.

  3. Geçiş için arama yapın ve ardından Microsoft.DataMigration için Kaydet'i seçin.

    Kaynak sağlayıcısını kaydet ekranının ekran görüntüsü.

Azure Veritabanı Geçiş Hizmeti'nin örneğini oluşturma

  1. Azure portalında + Kaynak oluştur'u seçin, Azure Veritabanı Geçiş Hizmeti'ni arayın ve açılan listeden Azure Veritabanı Geçiş Hizmeti'ni seçin.

    Azure Market'in ekran görüntüsü.

  2. Azure Veritabanı Geçiş Hizmeti ekranında Oluştur'u seçin.

    Azure Veritabanı Geçiş Hizmeti oluşturma örneğinin ekran görüntüsü.

  3. Geçiş Hizmeti Oluştur ekranında hizmet, abonelik ve yeni veya mevcut bir kaynak grubu için bir ad belirtin.

  4. Azure Veritabanı Geçiş Hizmeti örneğini oluşturmak istediğiniz konumu seçin.

  5. Mevcut bir sanal ağı seçin veya yeni bir ağ oluşturun.

    Sanal ağ, kaynak PostgreSQL örneğine ve hedef PostgreSQL için Azure Veritabanı örneğine erişim Azure Veritabanı Geçiş Hizmeti sağlar.

    Azure portalında sanal ağ oluşturma hakkında daha fazla bilgi için bkz. Azure portalını kullanarak sanal ağ oluşturma.

  6. Fiyatlandırma katmanını seçin. Bu çevrimiçi geçiş için Premium: 4 sanal çekirdek fiyatlandırma katmanını seçin.

    Azure Veritabanı Geçiş Hizmeti örnek ayarlarını yapılandırma seçeneğinin ekran görüntüsü.

  7. Hizmeti oluşturmak için Oluştur'u seçin.

Geçiş projesi oluşturma

Hizmet oluşturulduktan sonra Azure portaldan bulun, açın ve yeni bir geçiş projesi oluşturun.

  1. Azure portalında Tüm hizmetler'i seçin, Azure Veritabanı Geçiş Hizmeti'ni arayın ve ardından Azure Veritabanı Geçiş Hizmetleri'ni seçin.

    Azure Veritabanı Geçiş Hizmeti'nin tüm örneklerini bulma işleminin ekran görüntüsü.

  2. Azure Veritabanı Geçiş Hizmetleri ekranında, oluşturduğunuz Azure Veritabanı Geçiş Hizmeti örneğinin adını arayın, örneği seçin ve ardından + Yeni Geçiş Projesi'ni seçin.

  3. Yeni geçiş projesi ekranında proje için bir ad belirtin, Kaynak sunucu türü metin kutusunda PostgreSQL için AWS RDS'yi seçin ve hedef sunucu türü metin kutusunda PostgreSQL için Azure Veritabanı'nı seçin.

  4. Etkinlik türünü seçin bölümünde Çevrimiçi veri geçişi'ni seçin.

    Önemli

    Çevrimiçi veri geçişi'ne tıklayın. Bu senaryo için çevrimdışı geçişler desteklenmez.

    Veritabanı Geçiş Hizmeti Projesi Oluştur'un ekran görüntüsü.

    Alternatif olarak, Yalnızca proje oluştur'u seçerek geçiş projesini şimdi oluşturabilir ve geçişi daha sonra yürütebilirsiniz.

  5. Kaydet'i seçin.

  6. Projeyi oluşturmak ve geçiş etkinliğini çalıştırmak için Etkinlik oluştur ve çalıştır'ı seçin.

    Proje oluşturma bölmesinde çevrimiçi geçişi ayarlamak için gereken önkoşulları not edin.

Kaynak ayrıntılarını belirtme

Kaynak Ayrıntıları Ekle ekranında, kaynak PostgreSQL örneğinin bağlantı ayrıntılarını belirtin.

Kaynak Ayrıntıları'nın ekran görüntüsü.

Hedef ayrıntılarını belirtme

  1. Kaydet'i seçin ve hedef ayrıntılar ekranında, önceden sağlanan ve dvd kiralama şemasının pg_dump kullanılarak dağıtıldığı PostgreSQL için Azure Veritabanı sunucusunun bağlantı ayrıntılarını belirtin.

    Hedef ayrıntılarının ekran görüntüsü.

  2. Kaydet'i seçin ve hedef veritabanlarına eşle ekranında geçiş için kaynağı ve hedef veritabanını eşleyin.

    Hedef veritabanı kaynak veritabanıyla aynı veritabanı adını içeriyorsa Azure Veritabanı Geçiş Hizmeti varsayılan olarak hedef veritabanını seçer.

    Hedef veritabanlarına harita ekran görüntüsü.

  3. Kaydet'i seçin, Geçiş özeti ekranındaki Etkinlik adı metin kutusunda geçiş etkinliği için bir ad belirtin ve ardından kaynak ve hedef ayrıntıların daha önce belirttiğinizle eşleştiğinden emin olmak için özeti gözden geçirin.

    Geçiş Özeti'nin ekran görüntüsü.

Geçişi çalıştırma

Geçişi çalıştır'ı seçin.

Geçiş etkinliği penceresi görüntülenir ve Etkinliğin DurumuBaşlatılıyor şeklindedir.

Geçişi izleme

  1. Geçiş etkinliği ekranında, Geçişin DurumuÇalışıyor olarak gösterilene kadar ekranı güncelleştirmek için Yenile'yi seçin.

    Etkinlik Durumu - çalışıyor ekran görüntüsü.

  2. VERITABANı ADı altında, Tam veri yükü ve Artımlı veri eşitleme işlemlerinin geçiş durumuna ulaşmak için belirli bir veritabanı seçin.

    Tam veri yükü ilk yük geçiş durumunu gösterirken Artımlı veri eşitleme değişiklik veri yakalama (CDC) durumunu gösterir.

    Envanter ekranının ekran görüntüsü - tam veri yükü.

    Stok ekranının ekran görüntüsü - artımlı veri eşitleme.

Tam geçiş gerçekleştirme

İlk Tam yükleme tamamlandıktan sonra veritabanları Tam Geçişe Hazır olarak işaretlenir.

  1. Veritabanı geçişini tamamlamaya hazır olduğunuzda Geçişi Başlat'ı seçin.

  2. Kaynak veritabanına gelen tüm işlemlerin durdurulmasını sağlamak için Bekleyen değişiklikler sayacının görünmesi 0 için bekleyin, Onayla onay kutusunu seçin ve uygula'yı seçin.

    Tam tamamlanmış geçiş ekranının ekran görüntüsü.

  3. Veritabanı geçiş durumu Tamamlandı olarak gösterildiğinde, uygulamalarınızı yeni hedef PostgreSQL için Azure Veritabanı veritabanına bağlayın.

RDS PostgreSQL'in şirket içi örneğini PostgreSQL için Azure Veritabanı çevrimiçi geçişiniz tamamlandı.