Aracılığıyla paylaş


Öğretici: Amazon Aurora PostgreSQL'den geçiş hizmetiyle PostgreSQL için Azure Veritabanı çevrimiçi geçiş

Bu makalede PostgreSQL veritabanınızı Amazon Aurora'dan çevrimiçi PostgreSQL için Azure Veritabanı geçirme işlemi açıklanır.

PostgreSQL için Azure Veritabanı'daki geçiş hizmeti, Azure portalı ve Azure CLI ile tümleştirilmiş tam olarak yönetilen bir hizmettir. PostgreSQL için Azure Veritabanı geçiş yolculuğunuzu basitleştirmek için tasarlanmıştır.

Bu öğreticide şunları yaptınız:

  • Önkoşulları tamamlama
  • Geçişi başlatma
  • Geçişi izleme
  • Tam geçiş başlatma
  • Geçişi doğrulama

Önkoşullar

PostgreSQL için Azure Veritabanı'da geçiş hizmetini kullanarak bir geçişe başlamadan önce aşağıdaki önkoşulları tamamlamak önemlidir. Bu önkoşullar özellikle çevrimiçi geçiş senaryoları için tasarlanmıştır.

Kaynak sürümü doğrulama

Kaynak PostgreSQL sunucu sürümü 9.5 veya üzeri olmalıdır. Kaynak PostgreSQL sürümü 9.5'ten eskiyse, geçişi başlatmadan önce sürümü 9.5 veya sonraki bir sürüme yükseltin.

Kaynak kurulumu için test_decoding yükleme

  • test_decoding eklentisi, mantıksal kod çözme mekanizması aracılığıyla Önceden Yazma Günlüğü (WAL) alır. Eklenti, WAL kodunu, gerçekleştirilen işlemlerin metin gösterimlerine çözer.
  • PostgreSQL için Amazon RDS'de test_decoding eklentisi önceden yüklenmiştir ve mantıksal çoğaltma için hazırdır. Mantıksal çoğaltma yuvalarını kolayca ayarlayabilir ve WAL değişikliklerini akışla aktarabilirsiniz; örneğin, değişiklik verisi yakalama (CDC) veya dış sistemlere çoğaltma için.

test_decoding eklentisi hakkında daha fazla bilgi için PostgreSQL belgelerine bakın.

Hedef kurulumu yapılandırma

Geçişe başlamadan önce Azure'da bir PostgreSQL için Azure Veritabanı örneği oluşturmanız gerekir. PostgreSQL için Azure Veritabanı - Esnek Sunucu için sağlanan SKU kaynakla eşleşmelidir.

Daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı örneği oluşturma.

CDC'yi kaynak olarak etkinleştirme

  • test_decoding mantıksal kod çözme eklentisi, değiştirilen kayıtları kaynaktan yakalar.

  • Geçiş kullanıcısının çoğaltma izinlerine erişmesine izin vermek için aşağıdaki komutu yürütebilirsiniz:

    GRANT rds_replication TO <username>;
    
  • Kaynak PostgreSQL örneğinde, yeni bir parametre grubu oluşturarak veritabanı kümeleri parametre grubunda aşağıdaki parametreleri değiştirin:

    • rds.logical_replication seçeneğini 1 olarak ayarlayın.
    • değerinden büyük 1bir değere ayarlayınmax_replication_slots. Değer, geçiş için seçtiğiniz veritabanı sayısından büyük olmalıdır.
    • değerinden büyük 1bir değere ayarlayınmax_wal_senders. Değerin değeriyle en az aynı değerin max_replication_slotsyanı sıra örneğinizde zaten kullanılan gönderenlerin sayısı olmalıdır.
    • parametresi, wal_sender_timeout belirtilen sayıda milisaniyeden daha uzun olan etkin olmayan çoğaltma bağlantılarını sonlandırır. Amazon Aurora PostgreSQL örneği için varsayılan değer: 30000 milliseconds (30 seconds). değerinin ayarlanıp 0 (zero) zaman aşımı mekanizması devre dışı bırakılır ve geçiş için geçerli bir ayardır.
  • Hedef esnek sunucuda, çevrimiçi geçişin günlükleri depolamak için depolama alanının dolmasını önlemek için sağlanan yönetilen diski kullanarak tablespace alanınızda yeterli depolama alanı olduğundan emin olun. Geçiş süresi boyunca sunucu parametresini azure.enable_temp_tablespaces_on_local_ssd devre dışı bırakın. Geçiş sonrasında parametresini özgün duruma geri yükleyin.

Ağ kurulumunu yapılandırma

Geçiş hizmetinin düzgün çalışması için ağ kurulumu çok önemlidir. Kaynak PostgreSQL sunucusunun PostgreSQL için Azure Veritabanı hedef sunucuyla iletişim kuraadığından emin olun.

Ağ kurulumu hakkında bilgi için bkz . Geçiş hizmeti için ağ senaryoları.

Uzantıları etkinleştirme

geçiş hizmetini PostgreSQL için Azure Veritabanı kullanarak geçişin başarılı olmasını sağlamak için kaynak PostgreSQL örneğinizdeki uzantıları doğrulamanız gerekebilir. Uzantılar, uygulamanız için gerekli olabilecek işlevler ve özellikler sağlar. Geçiş işlemini başlatmadan önce kaynak PostgreSQL örneğindeki uzantıları doğruladığınızdan emin olun.

PostgreSQL için Azure Veritabanı - Esnek Sunucu'nun hedef örneğinde, kaynak PostgreSQL örneğinde tanımlanan desteklenen uzantıları etkinleştirin.

Daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı uzantılar.

Not

Parametresinde herhangi bir değişiklik shared_preload_libraries yaptığınızda yeniden başlatma gerekir.

Sunucu parametrelerini denetleme

Sunucu parametreleri otomatik olarak hedef ortama geçirilmez ve el ile yapılandırılması gerekir.

  • Kaynak PostgreSQL veritabanındaki sunucu parametre değerlerini PostgreSQL için Azure Veritabanı örneğiyle eşleştirin. Azure portalında Sunucu parametreleri'ne gidin ve değerleri el ile güncelleştirin.

  • Parametre değişikliklerini kaydedin ve gerekirse yeni yapılandırmayı uygulamak için PostgreSQL için Azure Veritabanı örneğini yeniden başlatın.

Kullanıcıları ve rolleri denetleme

PostgreSQL için Azure Veritabanı geçiş yaptığınızda, el ile müdahale gerektirdiğinden kullanıcıların ve rollerin geçişini ayrı ayrı ele almak önemlidir.

  • Kullanıcı ve rollerin el ile geçişi: Kullanıcılar ve ilişkili rolleri el ile PostgreSQL için Azure Veritabanı örneğine geçirilmelidir. Bu işlemi kolaylaştırmak için pg_dumpall yardımcı programını bayrağıyla birlikte --globals-only kullanarak roller ve kullanıcı hesapları gibi genel nesneleri dışarı aktarabilirsiniz.

    Aşağıdaki kodu yürütün. değerini <username> gerçek kullanıcı adıyla değiştirin ve değerini çıkış dosyası için kullanmak istediğiniz adla değiştirin <filename> .

    pg_dumpall --globals-only -U <username> -f <filename>.sql
    
  • Süper kullanıcı rollerinde kısıtlama: PostgreSQL için Azure Veritabanı süper kullanıcı rollerini desteklemez. Geçiş öncesinde süper kullanıcı izinleri kaldırılmalıdır. İzinleri ve rolleri uygun şekilde ayarladığınızdan emin olun.

Bu adımları tamamlayarak, süper kullanıcı kısıtlamalarıyla ilgili sorunlar olmadan kullanıcı hesaplarının ve rollerinin doğru şekilde PostgreSQL için Azure Veritabanı geçirildiğinden emin olabilirsiniz.

Hedefte yüksek kullanılabilirlik (güvenilirlik) ve okuma amaçlı çoğaltmaları devre dışı bırakma

Geçişi başlatmadan önce hedef ortamda yüksek kullanılabilirliği (güvenilirlik) ve okuma amaçlı çoğaltmaları devre dışı bırakmanız kritik önem taşır. Bu özelliklerin yalnızca geçiş tamamlandıktan sonra etkinleştirilmesi gerekir.

Geçişi başlatma

Azure portalını veya Azure CLI'yi kullanarak geçiş yapabilirsiniz.

Azure portalı, geçişte size yol gösterecek basit ve sezgisel bir sihirbaz tabanlı deneyim sunar. Bu öğreticide özetlenen adımları tamamlayarak veritabanınızı sorunsuz bir şekilde PostgreSQL için Azure Veritabanı Esnek Sunucu'ya aktarabilir ve güçlü özelliklerinden ve ölçeklenebilirlik özelliklerinden yararlanabilirsiniz.

Azure portalını kullanarak geçiş yapmak için önce geçiş görevini yapılandırın. Ardından, kaynağa ve hedefe bağlanın ve geçişi başlatın.

Geçiş görevini yapılandırma

Azure portalında geçiş görevini yapılandırmak için:

  1. Web tarayıcınızı açın ve Azure portalına gidin. Oturum açmak için kimlik bilgilerinizi girin.

  2. PostgreSQL için Azure Veritabanı - Esnek Sunucu örneğine gidin.

  3. Hizmet menüsünde Geçiş'i seçin.

    Geçiş seçiminin ekran görüntüsü.

  4. Amazon Aurora'dan esnek bir sunucuya geçmek için Oluştur'u seçin.

    Geçiş hizmetini ilk kez kullandığınızda, ilk geçişinizi başlatmak için bir istem içeren boş bir kılavuz görüntülenir. Esnek sunucu hedefinize geçişler zaten oluşturulduysa kılavuzda geçiş girişimiyle ilgili bilgiler bulunur.

  5. Geçiş ayarlamak üzere bir dizi sekmede adım adım ilerleyebilmek için Oluştur'u seçin.

    Azure portalında geçiş seçiminin görüntüsü.

Ayarlama

Aşağıdaki bilgileri girin veya seçin:

  • Geçiş adı: Bu esnek sunucu hedefine yapılan her geçiş için benzersiz bir tanımlayıcı girin. Geçiş adında yalnızca alfasayısal karakterler ve kısa çizgiler (-) kullanabilirsiniz. Ad kısa çizgiyle başlayamaz ve hedef sunucu için benzersiz olmalıdır. Aynı esnek sunucu hedefine yapılan iki geçiş aynı ada sahip olamaz.

  • Kaynak sunucu türü: Bulut tabanlı PostgreSQL hizmeti, şirket içi kurulum veya sanal makine gibi PostgreSQL kaynağınıza karşılık gelen kaynak türünü seçin.

  • Geçiş seçeneği: Geçiş öncesi doğrulama için aşağıdaki seçeneklerden birini belirleyin:

    • Doğrula'yı seçin. Sunucunuzun ve veritabanınızın hedef kaynağa geçiş için hazır olup olduğunu denetler.
    • Geçiş. Doğrulamaları atlar ve geçişi başlatır.
    • Doğrulama ve Geçirme. Geçişi tetiklemeden önce doğrulama gerçekleştirir. Doğrulama hatası yoksa geçiş tetiklenir.

    Geçiş öncesi doğrulamalar için Doğrula veya Doğrula ve Geçir seçeneğini belirlemeniz iyi bir yöntemdir.

    Daha fazla bilgi için bkz . Ön geçiş doğrulamaları.

  • Geçiş modu: Geçiş için modu seçin. Varsayılan seçenek Çevrimdışı'dır.

İleri: Kaynağa bağlan'ı seçin.

Azure portalında geçiş Kurulumu sekmesinin ekran görüntüsü.

Çalışma zamanı sunucusunu seçin

Geçiş çalışma zamanı sunucusu, geçiş hizmetinin özel bir özelliğidir. Çalışma zamanı sunucusu, geçiş sırasında bir aracı sunucu işlevi görür. Hedef sunucu olmayan PostgreSQL için Azure Veritabanı - Esnek Sunucu'nun ayrı bir örneğidir. Çalışma zamanı sunucusu, veritabanlarının yalnızca özel ağ üzerinden erişilebilen bir kaynak ortamdan geçişini kolaylaştırır.

Daha fazla bilgi için bkz . Geçiş çalışma zamanı sunucusu.

Geçiş Çalışma Zamanı Sunucusu sekmesinin ekran görüntüsü.

Kaynağa bağlanma

Kaynağa bağlan sekmesinde, veritabanı kaynağı için aşağıdaki bilgileri girin veya seçin:

  • Sunucu adı: Kaynak PostgreSQL örneğinin ana bilgisayar adını veya IP adresini girin.
  • Bağlantı noktası: Kaynak sunucunun bağlantı noktası numarasını girin.
  • Sunucu yöneticisi oturum açma adı: Kaynak PostgreSQL sunucusunun kullanıcı adını girin.
  • Parola: Kaynak PostgreSQL sunucusunun parolasını girin.
  • SSL modu: Desteklenen değerler Tercih Et ve Gerektir'tir. Kaynak PostgreSQL sunucusundaki Güvenli Yuva Katmanı (SSL) kapalı olduğunda Tercih Et'i seçin. Kaynak sunucudaki SSL açıksa, Gerektir'i seçin. SSL değerleri postgresql.conf dosyasında ayarlanır.
  • Bağlantıyı Sına: Hedef ve kaynak arasında bir bağlantı testi başlatır. Bağlantı başarılı olduğunda, hedef ve kaynak arasındaki ağ sorunlarını belirlemek ve kaynağın kullanıcı adını ve parolasını doğrulamak için sonraki adıma gidin. Test bağlantısı kurmak birkaç dakika sürer.

Başarılı bir test bağlantısının ardından İleri: Geçiş hedeflerini seçin'i seçin.

Kaynağa bağlan sekmesinin ekran görüntüsü.

Geçiş hedefini seçin

Geçiş hedefini seçin sekmesinde abonelik, kaynak grubu ve sunucu adının yanı sıra esnek sunucu hedefi için aşağıdaki bilgileri girin veya seçin:

  • Yönetici kullanıcı adı: Hedef PostgreSQL sunucusunun yönetici kullanıcı adı.
  • Parola: Hedef PostgreSQL sunucusunun parolası.
  • Özel FQDN/IP (İsteğe Bağlı): Özel FQDN/IP alanı isteğe bağlıdır ve hedef özel bir DNS sunucusunun arkasında olduğunda veya özel DNS ad alanlarına sahip olduğunda kullanılabilir, böylece yalnızca belirli FQDN'ler veya IP adresleri aracılığıyla erişilebilir. Örneğin, özel DNS sunucusu DNS bölgesini içeriyorsa veya bu bölgenin sorgularını FQDN'nin Azure genel veya özel DNS bölgesinde çözümlendiği konumuna 168.63.129.16iletirse, bu , veya 198.1.0.2flexibleserver.example.comgibi flexibleserver.postgres.database.azure.combir PostgreSQL FQDN'sini içerebilir.postgres.database.azure.com
  • Bağlantıyı Sına: Hedef ve kaynak arasında bir bağlantı testi başlatır. Bağlantı başarılı olduğunda, hedef ve kaynak arasındaki ağ sorunlarını belirlemek ve hedef sunucunun kullanıcı adını ve parolasını doğrulamak için sonraki adıma gidin. Test bağlantısı kurmak birkaç dakika sürer.

Başarılı bir test bağlantısının ardından İleri: Geçiş için veritabanlarını seçin'i seçin.

Hedef geçişe bağlan sekmesinin ekran görüntüsü.

Geçiş için veritabanlarını seçme

Geçiş için veritabanı seçin sekmesinde, kaynak PostgreSQL sunucunuzdan geçirmek için kullanıcı veritabanları listesinden seçim yapın.

Veritabanlarını seçtikten sonra İleri: Özet'i seçin.

Geçiş için veritabanlarını seçin sekmesinin ekran görüntüsü.

Özet

Özet sekmesi, doğrulama veya geçiş oluşturmaya yönelik tüm kaynak ve hedef ayrıntılarını özetler. Ayrıntıları gözden geçirin ve Doğrulamayı ve Geçişi Başlat'ı seçin.

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

Geçişi izleme

Doğrulamayı ve Geçişi Başlat'ı seçtikten birkaç saniye sonra doğrulama veya geçiş oluşturma işleminin başarılı olduğunu belirten bir bildirim görüntülenir. Esnek Sunucu örneği Geçiş bölmesine yönlendirilirsiniz. Durum girdisi InProgress ve alt durum PerformingPreRequisiteSteps şeklindedir. İş akışının geçiş altyapısını ayarlaması ve ağ bağlantılarını denetlemesi 2-3 dakika sürer.

Geçişi izleme bölmesinin ekran görüntüsü.

Geçişleri görüntüleyen kılavuzda şu sütunlar bulunur:

  • Ad
  • Statü
  • Geçiş modu
  • Geçiş türü
  • Kaynak sunucu
  • Kaynak sunucu türü
  • Veritabanları
  • Süre
  • Başlangıç saati

Girişler başlangıç saatinin azalan sırasına göre görüntülenir ve en son girdi en üstte yer alır. Doğrulama veya geçiş çalıştırmasının durumunu yenilemek için menü çubuğunda Yenile'yi seçebilirsiniz.

Geçiş ayrıntıları

İlişkili ayrıntıları görmek için geçiş listesinden geçişin adını seçin.

Kurulum sekmesinde Doğrula ve Geçir geçiş seçeneğini belirleyin. Bu senaryoda, doğrulamalar geçiş başlamadan önce tamamlanır. PerformingPreRequisiteSteps alt durumu tamamlandıktan sonra iş akışı Doğrulama Sürüyor alt durumuna geçer.

  • Doğrulamada hatalar varsa, geçiş Başarısız durumuna geçer.

  • Doğrulama herhangi bir hata olmadan tamamlanırsa geçiş başlatılır ve iş akışı Verileri Geçirme alt durumuna geçer.

Doğrulama ayrıntılarını örnek düzeyinde ve veritabanı düzeyinde de kontrol edebilirsiniz:

  • Örnek düzeyinde doğrulama:

    • Uzantıların PostgreSQL için Azure Veritabanı - Esnek Sunucu örneğinin sunucu parametrelerinde etkinleştirilip etkinleştirilmediğini görmek için kaynak sürüm (PostgreSQL version >= 9.5sunucu parametresi denetimi) için bağlantı denetimiyle ilgili doğrulamayı denetleyin.
  • Veritabanı düzeyinde doğrulama:

    • PostgreSQL için Azure Veritabanı - Esnek Sunucu'da uzantılar ve harmanlamalar desteğiyle ilgili tek tek veritabanlarının doğrulanıp doğrulanma olmadığını denetleyin.

Geçiş ve doğrulama için geçerli durumu geçiş ayrıntıları bölmesinde görebilirsiniz.

Ayrıntılar geçişinin ekran görüntüsü.

Aşağıdaki tablolarda bazı olası geçiş durumları ve alt durumlar açıklanmaktadır.

Geçiş durumları

Durum Açıklama
InProgress Geçiş altyapısı kurulumu devam ediyor veya gerçek veri geçişi devam ediyor.
İptal Edildi Geçiş iptal edilir veya silinir.
Başarısız oldu Geçiş başarısız oldu.
Doğrulama başarısız oldu Doğrulama başarısız oldu.
Başarılı Geçiş başarılı oldu ve tamamlandı.
WaitingForUserAction Yalnızca çevrimiçi geçişlerde geçerlidir. Kullanıcının tam geçiş gerçekleştirmesi bekleniyor.

Geçiş alt eyaletleri

Alt Durum Açıklama
PerformingPreRequisiteSteps Veri geçişi için altyapı kurulumu devam ediyor.
Doğrulama Sürüyor Doğrulama devam ediyor.
MigratingData Veri geçişi devam ediyor.
TamamlanıyorMigration Geçiş, tamamlanma işleminin son aşamalarındadır.
Tamamlandı Geçiş tamamlandı.
Başarısız oldu Geçiş başarısız oldu.

Doğrulama alt eyaletleri

Alt Durum Açıklama
Başarısız oldu Doğrulama başarısız oldu.
Başarılı Doğrulama başarılı oldu.
Uyarı Doğrulama bir uyarı gösterir.

Tam geçiş başlatma

Geçir ve Doğrula ve Geçir her ikisi de görünürse, çevrimiçi geçişi tamamlamak için tam geçişi başlatmanın ek adımı gerekir. Temel verilerin kopyalanması ve kopyalanması tamamlandıktan sonra geçiş WaitingForUserAction durumuna ve WaitingForCutoverTrigger alt durumuna geçer. Bu durumda, kullanıcı geçişi seçerek portaldan tam geçişi tetikleyebilir.

Tam geçişi başlatmadan önce şunların sağlanması önemlidir:

  • Kaynağa yazma işlemleri durdurulur.
  • Değer latency 0'a düşer veya 0'a yakın.

Değeri geçiş ayrıntıları bölmesinde alabilirsiniz latency :

Tam geçiş bölmesinin ekran görüntüsü.

değeri, latency hedefin kaynakla en son ne zaman eşitlendiğini gösterir. Bu noktada kaynağa yazma durdurulabilir ve tam geçiş başlatılabilir. Kaynak sunucuda yoğun trafik varsa, 0'a yaklaşabilmesi latency için önce yazmaları durdurmanızı öneririz. Ardından tam geçişi başlatın.

Tam geçiş işlemi, kaynaktan hedefe bekleyen tüm değişiklikleri uygular ve geçişi tamamlar. için sıfır olmayan bir değerle latencybile tam geçişi tetiklerseniz, çoğaltma o anda durur. Tam geçiş noktası hedefe uygulanana kadar tüm veriler kaynaktadır. Örneğin, tam geçiş noktasında gecikme süresi 15 dakikaysa, son 15 dakikadaki tüm değiştirilen veriler hedefe uygulanır. Tam geçişin tamamlanması için gereken süre, bu 15 dakika boyunca gerçekleşen değişikliklerin kapsamına bağlıdır. Bu nedenle, tam geçişi tetiklemeden önce gecikme süresinin sıfıra veya sıfıra yakın olmasını öneririz.

Geçiş sırasında tam geçişi onayladığınız iletişim kutusunu gösteren ekran görüntüsü.

Verileri Geçirme alt durumu veya tam geçiş (çevrimiçi geçişte) başarıyla tamamlandığında geçiş Başarılı durumuna geçer. Verileri Geçirme alt durumunda bir sorun varsa, geçiş Başarısız durumuna geçer.

Azure portalında başarılı bir geçişin sonuçlarını gösteren ekran görüntüsü.

Geçişi doğrulama

Veritabanı geçişi tamamlandığında, kaynak ve hedef arasındaki verileri el ile doğrulayın. Hedef veritabanındaki tüm nesnelerin başarıyla oluşturulduğunu doğrulayın.

Geçiş sonrasında şu görevleri tamamlayabilirsiniz:

  • Esnek sunucunuzdaki verileri doğrulayın ve kaynak örneğin tam bir kopyası olduğundan emin olun.
  • Doğrulamadan sonra esnek sunucunuzda gerektiğinde yüksek kullanılabilirlik seçeneğini etkinleştirin.
  • Esnek sunucunun SKU'sunu (sürümü) uygulamanızın gereksinimlerine uyacak şekilde değiştirin. Bu değişiklik, veritabanı sunucusunun yeniden başlatılmasını gerektirir.
  • Kaynak örnekteki varsayılan değerlerinden herhangi bir sunucu parametresini değiştirirseniz, bu sunucu parametresi değerlerini esnek sunucuya kopyalayın.
  • Etiketler, uyarılar ve güvenlik duvarı kuralları (varsa) gibi diğer sunucu ayarlarını kaynak örnekten esnek sunucuya kopyalayın.
  • bağlantı dizesi esnek bir sunucuya işaret etmek için uygulamanızda değişiklikler yapın.
  • Performans ayarlaması gerekip gerekmediğini görmek için veritabanı performansını yakından izleyin.