Azure DocumentDB geçiş uzantısını (genel önizleme) kullanarak MongoDB'yi çevrimiçi Azure DocumentDB'ye geçirme

Bu öğreticide, mongoDB'nin şirket içi veya bulut örneğinden Azure DocumentDB'ye geçiş işleri oluşturmak ve yönetmek için Visual Studio Code'daki Azure DocumentDB Geçiş Uzantısı'nı kullanacaksınız. Bu uzantı, hizmet kesintisi olmadan geçişleri gerçekleştirmek için geliştirici dostu bir arabirim sağlar. Uzantı, ek altyapı gereksinimini ortadan kaldırır ve hangi veritabanlarının ve koleksiyonların geçirildiği üzerinde güvenli bağlantı, sıfır maliyetli kullanım ve ayrıntılı denetim sunar.

Bu makalenin odak noktası, doğrudan Visual Studio Code içinde geçiş adımlarını basitleştirmek için uzantının tümleşik iş akışını kullanmaktır. Bu yaklaşım, minimum karmaşıklık ve maksimum güvenilirlik ile kolaylaştırılmış, yönetilen bir deneyim istediğiniz senaryolar için idealdir.

Önkoşullar

  • Mevcut bir Azure DocumentDB kümesi

Geçişe başlamadan önce Azure DocumentDB hesabınızı ve mevcut MongoDB örneğinizi geçiş için hazırlayın.

MongoDB örneği (kaynak)

  • Kaynak örneğinizle hedef hesabınız arasında uyumsuzluklar ve uyarılar olup olmadığını belirlemek için geçiş öncesi değerlendirmesini tamamlayın.
  • readAnyDatabase ve clusterMonitor izinlerine sahip bir kullanıcı ekleyin, ancak önceden mevcut değilse. Uzantıda geçiş işleri oluştururken bu kimlik bilgilerini kullanırsınız.

Azure DocumentDB (hedef)

  • Azure DocumentDB account'ın kimlik bilgilerini toplayın.
  • Kullanıcının , , createCollectiondropCollection, , createIndexve insert izinlerine sahip listCollectionsolduğundan emin olun.

Gerekli en düşük izinler

Geçiş işleri oluşturmak ve çalıştırmak için aşağıdaki asgari rolleri kullanın.

En düşük rol Scope Bağlantı modu için geçerlidir Amaç
Reader Subscription Genel ve özel Abonelikleri ve kaynak gruplarını listeleyin. Her geçiş işi için gereklidir.
Azure Veritabanı Geçiş Hizmeti Katkı Sağlayıcı Kaynak Grubu Genel ve özel Azure Veritabanı Geçiş Hizmeti (DMS) oluşturun. Her geçiş için yeni bir DMS oluşturmanız gerekmez. Bölge başına bir DMS yeterlidir.
Contributor Subscription Genel ve özel DMS'yi aboneliğe kaydedin. Bu tek seferlik bir etkinliktir ve başka bir kullanıcıya devredilebilir.
Kullanıcı Erişimi Yöneticisi Sanal ağ Sadece Özel DMS nesne sorumlusuna Ağ Katkıda Bulunanı rolünü atayın. Bu, sanal ağ başına tek seferlik bir etkinliktir ve başka bir kullanıcıya devredilebilir.
Contributor Azure DocumentDB Genel ve özel Geçiş işini tetikleyin.

Sağlayıcı kayıt ayrıntıları için bkz. Aboneliğinizde Microsoft.DataMigration kaynak sağlayıcısını kaydetme.

Önemli

Microsoft Entra ID kimlik doğrulaması şu anda geçiş işlerinde desteklenmiyor. Lütfen yerel DocumentDB kimlik doğrulamayı kullanın.

Geçişi gerçekleştirme

Geçiş boyutlandırma, hız ve tam geçiş hakkında planlama yönergeleri için Geçiş en iyi uygulamaları bölümüne bakın.

Kaynağa bağlan

  1. VS Code için DocumentDB uzantısını açın.
  2. Geçirmek istediğiniz MongoDB sunucusunu Belge VERITABANı Bağlantıları listesine ekleyin.
  3. Yeni Bağlantı Ekle'yi seçin.
  4. Gezinti çubuğunda Bağlantı Dizesi'ni seçin.
  5. Bağlantı dizesini yapıştırın: mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256
  6. DocumentDB Bağlantıları'ndan bağlantıyı seçin ve bağlanmak için genişletin.

Geçiş Uzantısını Çağırma

DocumentDB Bağlantıları'ndan Geçiş Uzantısı'nı çağırabilirsiniz.

  1. Genişletilmiş (bağlı) bağlantıya sağ tıklayın.

  2. Bağlam menüsünden Veri Geçişi'ni seçin.

    Visual Studio Code bağlam menüsünün ekran görüntüsü.

  3. Komut paletinden Migration to Azure DocumentDB öğesini seçin. Visual Studio Code'deki komut paletinde yer alan geçiş araçlarının ekran görüntüsü.

  4. Ardından Azure DocumentDB'ye Göç Et seçeneğini seçin. Visual Studio Code'da geçiş seçeneğini gösteren komut paletinin ekran görüntüsü.

  5. Geçiş sihirbazı, işlemde size yol gösterir.

Geçiş işi oluştur

Geçiş işi, bir koleksiyon grubunu kaynaktan varış noktası Azure DocumentDB’ye geçirmek için kullanılır. Geçiş işi oluşturma sihirbazının altı adımı vardır.

1. Adım: İş oluşturma

Bu adımda, işin temel ayrıntılarını sağlarsınız.

  • İş Adı: Geçiş işini tanımlamak için kullanıcı dostu bir ad sağlayın.

  • Geçiş Modu: Kullanım örneğiniz için en uygun geçiş modunu seçin.

    • Çevrimiçi geçiş, işlem sırasında güncellemelerin de aktarılmasını sağlayarak toplama verilerini kopyalar. Bu yöntem, iş sürekliliği için sürekli işlemlere olanak sağlayan en düşük kapalı kalma süresiyle avantajlıdır. Devam eden işlemler kritik öneme sahip olduğunda ve kapalı kalma süresini azaltmak öncelikliyse bu seçeneği kullanın.
    • Çevrimdışı geçiş, başlangıçta veritabanının anlık görüntüsünü yakalar ve daha basit ve öngörülebilir bir yaklaşım sunar. Veritabanının statik bir kopyasının kullanılması kabul edilebilir olduğunda ve gerçek zamanlı güncelleştirmeler gerekli olmadığında iyi çalışır.

    Önemli

    MongoDB'den çevrimiçi geçişlerin başarılı olmasını sağlamak için Kaynak MongoDB sunucusunda ChangeStream'in etkinleştirilmesi gerekir. ChangeStream olmadan, ilk geçişten sonra verilerde yapılan değişiklikler yakalanmaz. Bu nedenle, çevrimiçi geçiş modunu yalnızca kaynak MongoDB sunucunuzda ChangeStream özelliği etkinleştirilmişse kullanın.

  • Bağlantı: Kuruluşunuzun güvenlik yetkisine ve ağ kurulumuna bağlı olarak Genel ve Özel'i seçin.

    • Kaynak ve hedef sunuculara genel IP'ler aracılığıyla İnternet üzerinden erişildiğinde Genel'i kullanın. Dış erişilebilirlik gerektiren hizmetler için destek sağlar.
    • Kaynak veya hedef sunuculara yalnızca sanal ağ içindeki özel IP'ler aracılığıyla erişilebiliyorsa Özel'i kullanın. Genel İnternet'e maruz kalma durumunu ortadan kaldırarak güvenliği artırır.

Devam etmek için İleri'yi seçin.

Sihirbazda iş oluşturma adımının ekran görüntüsü.

2. Adım: Hedefi seçme

Bu adımda, mevcut bir Azure DocumentDB hesabını seçer ve bağlantı dizesi sağlarsınız.

  1. Açılan listeden aboneliği, kaynak grubunu ve Azure DocumentDB hesabını seçin.

  2. Azure DocumentDB hesabına bağlantı dizesi sağlayın.

  3. Azure DocumentDB güvenlik duvarında ekranda listelenen IP'ye izin verildiğinden emin olun.

  4. Devam etmek için İleri'yi seçin.

Sihirbazda hedef adımı seçme işleminin ekran görüntüsü.

3. Adım: Veritabanı Geçiş Hizmeti(DMS) seçeneğini belirleyin

Azure Veritabanı Geçiş Hizmeti, yerel kaynaklara güvenmek yerine veri aktarımı için bulut altyapısını kullanarak Azure veri platformlarına veri geçiren bir hizmettir. Açılan listeden mevcut bir Azure Veritabanı Geçiş Hizmeti örneğini seçin veya yeni bir geçiş hizmeti oluşturmak için DMS oluştur seçin.

Önemli

Microsoft.DataMigration kaynak sağlayıcısının aboneliğinizde kayıtlı olduğundan emin olun. Bunu abonelik başına yalnızca bir kez yapmanız gerekir.

Devam etmek için İleri'yi seçin.

Sihirbazın Veritabanı Taşıma Hizmeti adımının ekran görüntüsü.

4. Adım: Bağlantıyı yapılandırma

Bu ekran, 1. Adımda seçtiğiniz bağlantı moduna bağlıdır.

Genel bağlantı

Genel bağlantıda, geçiş işi genel İnternet'i kullanarak kaynağınıza ve hedefinize bağlanır. İletişimi etkinleştirmek için kaynak ve hedef güvenlik duvarlarını güncelleştirmeniz gerekir. DMS sunucularından iletişimi etkinleştirmek için, ekranda listelenen IP adreslerini kaynak ve hedef güvenlik duvarlarına ekleyin. Ağ modeli hakkında daha fazla bilgi için bkz. Genel bağlantı. Güvenlik duvarı yapılandırma kılavuzu için bkz. configure Azure DocumentDB kümesi güvenlik duvarı.

Sihirbazdaki genel bağlantı yapılandırma adımının ekran görüntüsü.

Özel bağlantı

Özel bağlantıda, geçiş işi kendi sanal ağı içinde çalışır. Sanal ağlarınızla güvenli bir şekilde iletişim kurmak için sanal ağ eşlemesini kullanırız. Ağ modeli hakkında daha fazla bilgi için bkz. Özel bağlantı.

  1. Araç, biri kaynak, diğeri hedef için iki sanal ağ ile eşlemeye olanak tanır. Ağ yapılandırmanıza bağlı olarak açılan listeden aboneliği, kaynak grubunu ve sanal ağları seçin.

  2. DMS Yapılandırması bölümünde, sanal ağlarınızla çakışmayan bir CIDR aralığı seçin.

  3. Sanal ağ tümleştirmesini etkinleştirmek için ekranda sağlanan PowerShell betiklerini çalıştırın.

  4. Devam etmek için İleri'yi seçin.

Sihirbazdaki özel bağlantı yapılandırma adımının ekran görüntüsü.

5. Adım: Koleksiyonları seçme

Bu adımda, geçiş işine dahil edilecek koleksiyonları seçersiniz. Sağlanan arama seçeneklerini kullanarak koleksiyon listesinden seçim yapın. Hedefte zaten var olan koleksiyonlar, Hedefte Var sütununda otomatik olarak Evet olarak işaretlenir.

Tip

Geçiş işi oluşturulduktan sonra koleksiyon listesi eklenemez, bu yüzden eklemek istediğiniz tüm koleksiyonları seçtiğinizden emin olun.

Devam etmek için İleri'yi seçin.

Sihirbazdaki koleksiyon seçme adımının ekran görüntüsü.

6. Adım: Onaylayın ve başlatın

Geçişi Başlat'ı seçmeden önce geçiş işi ayrıntılarını gözden geçirin. Ayrıntıların güncelleştirilmiş olması gerekiyorsa Ayrıntıları Düzenle düğmesini kullanın.

Geçiş işi başarıyla oluşturulduktan sonra otomatik olarak Varolan İşleri Görüntüle sayfasına yönlendirilirsiniz

Tip

Veri geçiş görevleri Azure Veritabanı Geçiş Hizmeti üzerinde çalıştırılır. Bu nedenle, veri geçişi sırasında kaynak ve hedef ortamlara bağlanmanız gerekmez. Durum, panoda sık aralıklarla güncelleştirilir.

Mevcut geçiş işlerini izleme

Başlatılan işlerin geçiş durumunu izlemek için Varolan İşleri Görüntüle sekmesini kullanın. İşler seçilen DMS'ye göre listelenir. Seçiminizi değiştirmek için DMS'yi Değiştir düğmesini kullanın.

Durum, sık aralıklarla otomatik olarak güncelleştirilir. Seçili koleksiyon anlık görüntüleri hedefe kopyalandıktan sonra çevrimdışı işler otomatik olarak tamamlanır. Ancak çevrimiçi geçişlerin manuel olarak tamamlanması gerekir.

Var olan işleri görüntüle ekranının ekran görüntüsü.

Koleksiyona göre durumu görüntülemek için tablodan bir satır seçin.

Çevrimdışı geçiş için koleksiyon açısından durumu gösteren ekran görüntüsü.

Çevrimiçi geçişleri izleme

Çevrimdışı geçişlerin aksine çevrimiçi geçişler otomatik olarak tamamlanmaz. Bunun yerine, Cutover seçilerek elle sonlandırılana kadar sürekli çalışırlar.

Çevrimiçi geçişi tamamlamak için aşağıdaki adımları verilen sırada izleyin:

  1. Tüm koleksiyonlar için ilk veri yükü tamamlandıktan sonra Tam Geçiş düğmesi etkinleştirilir. Bu aşamada, iş çoğaltma sürecindedir ve kaynak örnekten hedef örneğe sürekli olarak kopyalanarak, en son değişikliklerle güncel kalmasını sağlar.

  2. Kesimi gerçekleştirmeye hazır olduğunuzda, geçiş yapılan kaynak koleksiyonlara gelen tüm işlemleri durdurun.

  3. Çoğaltma Boşluğu, son güncelleştirme ile geçerli saat arasındaki zaman aralığını gösterir.

  4. Tablodaki çoğaltma değişikliklerini izleyin ve Çalınan Çoğaltma Değişiklikleri ölçümü sabit olana kadar bekleyin. Kararlı Replikasyon Değişiklikleri Uygulandı ölçümü, kaynaktan gelen tüm güncelleştirmelerin hedefe başarıyla kopyalandığını gösterir.

  5. Çoğaltma aralığı tüm koleksiyonlar için en düşük düzeyde olduğunda ve Çalınan Çoğaltma Değişiklikleri ölçümü kararlı olduğunda Tam Geçiş'i seçin.

  6. Kaynak ve hedef koleksiyonlar arasında satır sayısının aynı olduğunu el ile doğrulayın.

Uyarı

Kaynak ve hedefin eşitlendiğini doğrulamadan tam geçiş işleminin gerçekleştirilmesi veri kaybına neden olabilir.

Çevrimiçi geçiş için koleksiyon açısından durumu gösteren ekran görüntüsü

Geçiş senaryoları

Azure DocumentDB Geçiş Uzantısı, Azure'da çalışan MongoDB örnekleri, şirket içi veri merkezleri ve diğer bulut sağlayıcıları dahil olmak üzere çeşitli kaynak ortamları destekler. Uzantı, farklı ağ yapılandırmalarını ve güvenlik gereksinimlerini karşılamak için esnek bağlantı seçenekleri sağlar.

Desteklenen kaynak ortamlar

Aşağıdaki tabloda desteklenen geçiş kaynakları özetlenmektedir:

Kaynak ortam Description
Azure ortamında Azure Sanal Makineler veya Azure barındırılan diğer hizmetlerde çalışan MongoDB örnekleri
On-premises Yerel veri merkezinizde veya özel altyapınızda çalışan MongoDB sunucuları
Diğer bulut sağlayıcıları Diğer bulut platformlarında barındırılan MongoDB örnekleri

Genel bağlantı

Genel bağlantı modunda, Azure Veritabanı Geçiş Hizmeti (DMS) genel İnternet üzerinden kaynak ve hedef sunucularınıza bağlanır. DMS, hem kaynak hem de hedef sunucularda güvenlik duvarı izin verme listelerine eklediğiniz statik IP adresleri sağlar. DMS, belirli bir bölgedeki tüm geçişler için paylaşılan bir genel sanal ağ kullanır. Bu sanal ağ müşteriler arasında paylaşılsa da, iş düzeyinde yalıtımı sağlamak amacıyla her geçiş işi, kendi izole edilmiş özel bir işçi düğümünde çalışır.

Genel bağlantıyı şu durumlarda kullanın:

  • Kaynak ve hedef sunucularınıza genel IP adresleri üzerinden erişilebilir.
  • Kuruluşunuzun güvenlik ilkeleri genel İnternet üzerinden bağlantılara izin verir.
  • Sanal ağ yapılandırması olmadan daha basit bir kuruluma ihtiyacınız vardır.

Genel bağlantı için ağ mimarisini gösteren diyagram.

Genel bağlantıyı etkinleştirmek için:

  1. Geçiş sihirbazında bağlantı modu olarak Genel'i seçin.

  2. Sihirbazda görüntülenen statik IP adreslerini not edin.

  3. Bu IP adreslerini kaynak MongoDB sunucunuzdaki güvenlik duvarı izin verme listesine ekleyin.

  4. Bu IP adreslerini Azure DocumentDB güvenlik duvarı ekleyin.

Özel bağlantı

Özel bağlantı modunda DMS, her geçiş işi için ayrılmış bir özel sanal ağ sağlar ve bunu kaynak ve hedef sanal ağlarınızla eşler. Bu, her işin hem izole işçi düğümlerine hem de izole bir ağa sahip olduğu anlamına gelir ve böylece işler arasında trafik geçişi olmadan, müşteriler arasında paylaşılan ağ yolları olmamasını sağlar.

Uzantı en fazla iki sanal ağı destekler:

  • Kaynak sanal ağ: Kaynak MongoDB sunucunuzun erişilebilir olduğu sanal ağ.
  • Target sanal ağı: Azure DocumentDB kümenizin erişilebilir olduğu sanal ağ.

Aşağıdaki durumlarda özel bağlantı kullanın:

  • Kaynak veya hedef sunucularınıza genel İnternet üzerinden erişilemez.
  • Kuruluşunuzun tüm trafiğin özel ağlardan akmasını gerektirir.
  • İnternet'in genel kullanıma açık olmasını önlemeniz gerekir.

Diğer bulut sağlayıcılarından veya şirket içinden

Azure ile kaynak ortamınız arasında başka bir bulutta veya şirket içinde ağ bağlantısını ayarlamak için tercih ettiğiniz VPN araçlarını kullanın.

Başka bir bulut sağlayıcısından veya şirket içinden özel bağlantı için ağ mimarisini gösteren diyagram.

Azure'da özel bir uç noktadan

Kaynak ve hedef sanal ağlar için özel uç noktalar ayarlayın.

Azure içinde özel bağlantı için ağ mimarisini gösteren diyagram

Özel bağlantıyı etkinleştirmek için:

  1. Geçiş sihirbazında bağlantı modu olarak Özel'i seçin.

  2. Kaynak ortamınız için aboneliği, kaynak grubunu ve sanal ağı seçin.

  3. Hedef ortamınız için aboneliği, kaynak grubunu ve sanal ağı seçin.

  4. DMS Yapılandırması bölümünde, mevcut sanal ağlarınızla çakışmayan bir CIDR aralığı seçin.

  5. Sanal ağ tümleştirmesini ve eşlemesini etkinleştirmek için sihirbazda sağlanan PowerShell betiklerini çalıştırın.

Önemli

Özel erişim kullanırken, tek bir sanal ağ aynı anda yalnızca bir etkin geçiş işini destekleyebilir. Birden çok eşzamanlı iş çalıştırmak için her iş için farklı sanal ağlar kullanın.

Aboneliğinizde Microsoft.DataMigration kaynak sağlayıcısını kaydedin.

Microsoft.DataMigration kaynak sağlayıcısının aboneliğinizde kayıtlı olduğundan emin olmak için şu adımları izleyebilirsiniz:

Azure portalı

  1. Azure portalına gidin ve aboneliğinize gidin.

  2. Sol taraftaki menüde Ayarlar'ın altında Kaynak sağlayıcıları'nı seçin.

  3. Üstteki arama kutusuna Microsoft.DataMigration yazıp arayın.

  4. Kayıtlı değilse seçin ve Kaydet düğmesini seçin.

Azure CLI

  1. Azure Cloud Shell veya yerel terminalinizi açın.

  2. Aşağıdaki komutu çalıştırarak kaynak sağlayıcısını kaydedin:

    az provider register --namespace Microsoft.DataMigration
    

PowerShell

  1. Azure Cloud Shell veya yerel PowerShell'inizi açın.

  2. Aşağıdaki komutu çalıştırarak kaynak sağlayıcısını kaydedin:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
    

FAQ

Azure DocumentDB görünümleri desteklerken koleksiyon seçme ekranı adımında görünümler neden eksik?

Azure DocumentDB, yeni görünümlerin oluşturulmasını destekler. Ancak geçiş uzantısı mevcut görünümlerin geçirilmesi için destek sağlamaz.

Geçiş tamamlandıktan sonra görünümleri istediğiniz zaman yeniden oluşturabilirsiniz.

MongoDB'den Azure DocumentDB'ye geçirilirken hangi koleksiyonlar ve veritabanları atlanır?

Aşağıdaki veritabanları ve koleksiyonlar MongoDB için iç olarak kabul edilir:

Kategori Description
Veritabanları admin, yerel, sistem yapılandırması
Koleksiyonlar Ön eki olan herhangi bir koleksiyon system.

Geçiş görevleri makinemde yerel olarak çalışır mı?

VS Code'daki geçiş sihirbazı, yerel makinenizden hem kaynak hem de hedef ortamlara ağ bağlantısı gerektirir. Bu bağlantı, veritabanlarını ve koleksiyonları listelemek ve geçiş işini göndermek için kullanılır. İş gönderildikten sonra VS Code'ı kapatabilir veya kaynak ve hedef ortamların bağlantısını kesebilirsiniz.

Veri geçişi tamamen Azure Veritabanı Geçiş Hizmeti (DMS) tarafından yürütülür ve tüm veri taşıma işlemlerini yöneten Azure barındırılan bir hizmettir. DMS, iş yürütme için yerel makinenize veya VS Code'a güvenmediğinden, iş gönderildikten sonra yerel bağlantı gerekmez.

Geçiş sırasında veritabanlarını ve koleksiyonları yeniden adlandırabilir miyim?

Uzantı, geçiş sırasında veritabanı ve koleksiyonun yeniden adlandırılmasını desteklemez.

Bağlantı sorunlarını önlemek için kaynak sunucu güvenlik duvarlarımı nasıl yapılandırmalıyım?

Gerekli ağ yapılandırması seçili bağlantı moduna bağlıdır:

  • Genel mod: İletişimi etkinleştirmek için sihirbazda hem kaynak hem de hedef güvenlik duvarlarında görüntülenen IP adreslerine izin vermelisiniz.
  • Özel mod: DMS sunucularının sanal ağ içindeki kaynak ve hedef uç noktalarla güvenli bir şekilde iletişim kurabilmesi için sanal ağ tümleştirmesini etkinleştirmeniz gerekir.

Ayrıca VS Code bağlantısına da bakın

Tek bir geçişte kaç veritabanı ve koleksiyon geçirebilirim?

Tek bir geçişe sınırsız sayıda koleksiyon ekleyebilirsiniz.

Aynı anda kaç geçiş işi çalıştırabilirim?

Genel erişimi kullanırken birden çok geçiş işi çalıştırabilirsiniz. Ancak , özel erişim kullanılırken tek bir sanal ağ aynı anda yalnızca bir etkin işi destekleyebilir. Özel erişimle birden çok iş çalıştırmak için her iş için farklı sanal ağ kullanmanız gerekir.

Uzantı ne tür günlükler oluşturur?

Uzantı hataları, uyarıları ve diğer tanılama günlüklerini varsayılan günlük dizinine kaydeder:

  • Windows - C:\Users\<username>\.dmamongo\logs\
  • Linux - ~/.dmamongo/logs
  • Macos - /Users/<username>/.dmamongo/logs

Sonraki Adımlar