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 yeni geçiş hizmetini PostgreSQL için Azure Veritabanı kullanmanızı öneririz. Bu hizmet, çeşitli kaynak ortamları destekleyerek süreci basitleştirir ve PostgreSQL için Azure Veritabanı sorunsuz bir geçiş sağlar.

Azure Veritabanı Geçiş Hizmeti kullanarak veritabanlarını RDS PostgreSQL örneğinden PostgreSQL için Azure Veritabanı geçiş sırasında kaynak veritabanı çevrimiçi kalırken geçirebilirsiniz. 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 Azure Veritabanı Geçiş Hizmeti fiyatlandırma sayfasına bakın. 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. Kapalı kalma süresini geçişten sonra yeni ortama geçme 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 Postgre SQL 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 Sunucu örneği 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 bir 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ğini filtreleme hakkında ayrıntılı bilgi için Ağ güvenlik grupları ile ağ trafiğini filtreleme makalesine bakın.

  • Windows Güvenlik Duvarınızı veritabanı altyapısı erişimi için 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.

  • hedef veritabanlarına Azure Veritabanı Geçiş Hizmeti erişime 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. Azure Veritabanı Geçiş Hizmeti kaynağından kaynağa bağlanmak için ana kullanıcı adını kullanın. Ana kullanıcı hesabı dışında bir hesap kullanıyorsanız, hesabın rds_superuser rolüne ve rds_replication rolüne sahip olması gerekir. rds_replication rolü, 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. Şemayı kaynak veritabanından ayıklayın ve tablo şemaları, dizinler ve saklı yordamlar gibi tüm veritabanı nesnelerinin geçişini tamamlamak için hedef veritabanına uygulayın.

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

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

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

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

  3. Şemayı PostgreSQL için Azure Veritabanı 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ı etkinleştirme/devre dışı bırakma işlemlerini dahili olarak işler ve tetikler. 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öster'in 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öster'in 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'in 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 arayın ve açılan listeden Azure Veritabanı Geçiş Hizmeti 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 örneği oluştur'un ekran görüntüsü.

  3. Geçiş Hizmeti oluşturun ekranında hizmet için bir ad belirtin, aboneliği ve yeni ya da var olan bir kaynak grubunu seçin.

  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 Azure portalını kullanarak sanal ağ oluşturma makalesine bakın.

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

    Azure Veritabanı Geçiş Hizmeti örnek ayarlarını yapılandır'ın 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 portalda Tüm hizmetler'i seçin, Azure Veritabanı Geçiş Hizmeti araması yapın ve Azure Veritabanı Geçiş Hizmeti'ni seçin.

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

  2. Azure Veritabanı Geçiş Hizmeti ekranında, oluşturduğunuz Azure Veritabanı Geçiş Hizmeti örneğin 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ı'i 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ığı hedef PostgreSQL için Azure Veritabanı sunucusu için 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ıyla eşleyin ekranında geçiş yapılacak kaynak ve hedef veritabanları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 eşle'nin 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ın önceden belirttiğiniz ayrıntılarla eşleştiğinden emin olmak üzere ö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 açılır ve etkinliğin Durum bilgisi Başlatılıyor olarak belirlenir.

Geçişi izleme

  1. Geçiş etkinliği ekranında Yenile'yi seçerek, gösterilen verileri, geçişin Durum bilgisi Çalıştırılıyor olana kadar güncelleştirebilirsiniz.

    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 Tam Geçişi Başlat seçeneğini belirleyin.

  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 tam ekran 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ı.