Aracılığıyla paylaş


DevTest Labs ve zamanlamalarını başka bir bölgeye taşıma

DevTest Labs ve ilişkili zamanlamalarını başka bir bölgeye taşıyabilirsiniz. Laboratuvarı taşımak için başka bir bölgede var olan bir laboratuvarın kopyasını oluşturun. Laboratuvarınızı taşıdığınızda ve hedef bölgede bir sanal makineniz (VM) olduğunda laboratuvar zamanlamalarınızı taşıyabilirsiniz.

Bu makalede şunları öğreneceksiniz:

  • Laboratuvarınızın Azure Resource Manager (ARM) şablonunu dışarı aktarın.
  • Hedef bölgeyi ve diğer parametreleri ekleyerek veya güncelleştirerek şablonu değiştirin.
  • Hedef bölgede yeni laboratuvarı oluşturmak için şablonu dağıtın.
  • Yeni laboratuvarı yapılandırın.
  • Verileri yeni laboratuvara taşıma.
  • Zamanlamaları yeni laboratuvara taşıyın.
  • Kaynak bölgedeki kaynakları silin.

Önkoşullar

  • Hesabınızın kullandığı hizmetlerin ve özelliklerin hedef bölgede desteklendiğinden emin olun.

  • Önizleme özellikleri için aboneliğinizin hedef bölge için izin verilenler listesine eklendiğinden emin olun.

  • DevTest Labs, dışarı aktarılan ARM şablonundaki parolaları depolamaz veya kullanıma sunmaz. Parolaları/gizli dizileri bilmeniz gerekir:

    • VM'ler
    • Depolanan Gizli Diziler
    • Özel depoları laboratuvarla birlikte taşımak için özel Yapıt Depolarının PAT belirteçleri.
  • Laboratuvar zamanlamasını taşırken hedef bölgede bir İşlem VM'sinin bulunduğundan emin olun.

Laboratuvarı taşıma

Aşağıdaki bölümde, laboratuvarı bir bölgeden diğerine taşımak için ARM şablonunun nasıl oluşturulacağı ve özelleştirileceği açıklanmaktadır.

Hedef bölgede bir VM'niz varsa, bir zamanlamayı laboratuvarı taşımadan taşıyabilirsiniz. Laboratuvarı taşımadan bir zamanlamayı taşımak istiyorsanız bkz . Zamanlamayı taşıma.

Laboratuvarı taşımaya hazırlanma

Bir laboratuvarı taşırken, taşımaya hazırlanmak için gerçekleştirmeniz gereken bazı adımlar vardır. Şunları yapmanız gerekir:

  • Sanal ağı hazırlama
  • Laboratuvarın ARM şablonunu dışarı aktarma
  • Şablonu değiştirme
  • Laboratuvarı taşımak için şablonu dağıtma
  • Yeni laboratuvarı yapılandırma
  • İşlem VM'lerinin işletim sistemi disklerini yeni VM'ler altında değiştirme
  • Orijinal laboratuvarı temizleme

Sanal Ağ hazırlama

Başlamak için Resource Manager şablonunu dışarı aktarın ve değiştirin.

  1. Azure Portal’ında oturum açın.

  2. Hedef bölge altında Kaynak Grubunuz yoksa şimdi bir tane oluşturun.

  3. "Azure sanal ağını başka bir bölgeye taşıma" makalesinde yer alan adımları kullanarak geçerli Sanal Ağ yeni bölgeye ve kaynak grubuna taşıyın.

    Alternatif olarak, özgün ağı tutmanız gerekmiyorsa yeni bir sanal ağ oluşturabilirsiniz.

Laboratuvarın ARM şablonunu dışarı aktarma

Ardından, bir JSON şablonunu dışarı aktardığınızda laboratuvarı açıklayan ayarlar bulunur.

Şablonu Azure portalını kullanarak dışarı aktarmak için:

  1. Tüm kaynaklar'ı ve ardından laboratuvarın kaynak grubunu seçin.

  2. Şablonu dışarı aktar'ı seçin.

  3. Şablonu dışarı aktar'da İndir'i seçin.

  4. Portaldan indirdiğiniz .zip dosyasını bulun ve bu dosyanın sıkıştırmasını istediğiniz bir klasöre açın.

    Bu zip dosyası, şablonu dağıtmak için şablonu ve betikleri oluşturan .json dosyalarını içerir. Paylaşılan Görüntü Galerisi kaynakları dışında, laboratuvarınızın altındaki ARM şablonu biçiminde listelenen tüm kaynakları içerir.

Şablonu değiştirme

ARM şablonunun yeni bölgede doğru dağıtılabilmesi için şablonun birkaç bölümünü değiştirmeniz gerekir.

Azure portalını kullanarak şablonu güncelleştirmek için:

  1. Azure portalda Kaynak oluştur’u seçin.

  2. Market içinde ara alanına şablon dağıtımı yazın ve ENTER tuşuna basın.

  3. Şablon dağıtımı'nı seçin.

    Şablon dağıtımının seçili olduğu Azure Market gösteren ekran görüntüsü.

  4. Oluştur'u belirleyin.

  5. Düzenleyicide kendi şablonunuzu oluşturun'u seçin.

  6. Dosya yükle'yi seçin ve ardından yönergeleri izleyerek son bölümde indirdiğiniz template.json dosyasını yükleyin.

  7. Düzenleyicide, template.json dosyasında aşağıdaki değişiklikleri yapın:

    1. Özgün location öğesini, dağıtmak istediğiniz yeni bölgeyle (, vbwestus2southeastasia.) değiştirin. Bölge konum kodlarını almak için bkz. Azure Konumları. Bölge kodu, orta ABD = centralus olan boşluk içermeyen bölge adıdır.

      "variables": {},
      "resources": [
        {
          "type": "microsoft.devtestlab/labs",
          "location": "centralus",
      
    2. "Laboratuvar ayarları" içinde "Tek bir kaynak grubundaki tüm sanal makineler" ayarlandıysa ARM şablonunda aşağıdaki değerleri de güncelleştirin:

      • apiVersion Kaynağın değerini microsoft.devtestlab/labs olarak 2018-10-15-previewgüncelleştirin.
      • properties bölümüne ekleyinvmCreationResourceGroupId.
      "variables": {},
      "resources": [
        {
          "type": "microsoft.devtestlab/labs",
          "apiVersion": "2018-10-15-preview",
          "name": "[parameters('labs_lj_dtl_rgsettings_name')]",
          "location": "<regionName>",
          "properties": {
            "vmCreationResourceGroupId": "/subscriptions/<subscriptionID>/resourceGroups/<myResourceGroup>",
            "labStorageType": "Premium",
      
    3. "type": "microsoft.devtestlab/labs/users" Kaynağı bulun. Burada ve parametreleri de dahil olmak üzere keyVaultld bölümün keyVaultUri tamamını secretStore kaldırın.

      secretStore": {
        "keyVaultUri": "<vaultvalue>"
        "keyVaultld": "<id>"
      }
      
    4. "type": "microsoft.devtestlab/labs/virtualnetworks" Kaynağı bulun. Bu adımların başlarında yeni bir sanal ağ oluşturduysanız, gerçek alt ağ adını içine /subnets/[SUBNET_NAME]eklemeniz gerekir. Sanal ağı yeni bir bölgeye taşımayı seçtiyseniz bu adımı atlamalısınız.

    5. "type": "microsoft.devtestlab/labs/virtualmachines" Kaynağı bulun.

      1. "Özellikler" altında, "password": "RANDOM_PASSWORD"

        Not

        Yeni bir VM oluşturmak için bir "parola" özelliği gereklidir. Daha sonra işletim sistemi diskini özgün VM ile değiştiracağımız için rastgele bir parola gireceğiz.

      2. Paylaşılan IP sanal makineleri için bu kod parçacığını "properties.networkInterface" altına ekleyin,

        RDP ile Windows VM:

        "networkInterface": {
          "sharedPublicIpAddressConfiguration": {
            "inboundNatRules": [
              {
                "transportProtocol": "tcp",
                "backendPort": 3389
              }
            ]
          }
        }
        

        SSH ile Linux VM:

         "networkInterface": {
            "sharedPublicIpAddressConfiguration": {
              "inboundNatRules": [
                {
                  "transportProtocol": "tcp",
                  "backendPort": 22
                }
              ]
            }
          }
        
    6. microsoft.devtestlab/labs/users/secrets Kaynakların altında aşağıdaki "properties" parametresini kullanın. YOUR_STORED_PASSWORD yerine parolanızı yazın.

      Önemli

      Parola değerleri için secureString kullanın.

      "value": "YOUR_STORED_PASSWORD"
      
    7. microsoft.devtestlab/labs/artifactsources Kaynakların altında aşağıdaki "properties" parametresini kullanın. YOUR_STORED_PASSWORD yerine parolanızı yazın. Yine parola değerleri için secureString kullanın.

      "securityToken": "YOUR_PAT_TOKEN_VALUE"
      
    8. Düzenleyicide şablonu kaydedin.

Laboratuvarı taşımak için şablonu dağıtma

Hedef bölgede yeni bir laboratuvar oluşturmak için şablonu dağıtın.

  1. Özel dağıtım sayfasında, tüm parametreleri şablonda tanımlanan karşılık gelen değerlerle güncelleştirin.

  2. Aşağıdaki değerleri girin:

    Veri Akışı Adı Değer
    Abonelik Bir Azure aboneliği seçin.
    Kaynak grubu Son bölümde oluşturduğunuz kaynak grubu adını seçin.
    Konum Laboratuvar için bir konum seçin. Örneğin Orta ABD.
    Laboratuvar Adı Farklı bir ad olmalıdır.
    Sanal ağ kimliği Taşınan veya oluşturduğunuz yeni olmalıdır.
  3. Gözden geçir ve oluştur’u seçin.

  4. Oluştur'u belirleyin.

  5. Dağıtım durumunu görmek için ekranın en üstündeki zil simgesini (bildirimler) seçin. Dağıtım işleminin devam ediyor olduğunu göreceksiniz. Dağıtım tamamlanana kadar bekleyin.

Yeni laboratuvarı yapılandırma

Çoğu Laboratuvar kaynağı ARM şablonu kullanılarak yeni bölge altında çoğaltılmış olsa da, birkaç düzenlemenin el ile taşınması gerekir.

  1. Özgün galeride varsa İşlem Galerisi'ni laboratuvara geri ekleyin.
  2. "Kullanıcı başına sanal makineler", "Laboratuvar başına sanal makineler" ve "İzin verilen Sanal makine boyutları" ilkelerini taşınan laboratuvara geri ekleyin

İşlem VM'lerinin işletim sistemi disklerini yeni VM'ler altında değiştirme

Yeni Laboratuvar altındaki VM'lerin eski Laboratuvar'ın altındakilerle aynı özelliklere sahip olduğunu unutmayın. Tek fark işletim sistemi diskleridir.

  1. Yeni bölge altında boş bir disk oluşturun.

    • Yeni Laboratuvar altında hedef İşlem VM işletim sistemi disk adını alın. İşlem VM'sini ve diskini laboratuvarın Sanal Makine sayfasındaki Kaynak grubunun altında bulabilirsiniz.

    • Eski disk içeriğini yeni bölgedeki yeni/boş disklere kopyalamak için AzCopy kullanın. PowerShell komutlarını Dev Box'ınızdan veya Azure Cloud Shell'den çalıştırabilirsiniz.

      AzCopy, verilerinizi taşımak için tercih edilen araçtır. Performans için iyileştirilmiştir. Daha hızlı bir yöntem, verilerin doğrudan kopyalandığından AzCopy'nin bilgisayarınızın ağ bant genişliğini kullanmamasıdır. AzCopy'yi komut satırında veya özel betik içinde kullanabilirsiniz. Bkz. AzCopy ile çalışmaya başlama.

      # Fill in the source/target disk names and their resource group names
      $sourceDiskName = "SOURCE_DISK"
      $sourceRG = "SOURCE_RG"
      $targetDiskName = "TARGET_DISK"
      $targetRG = "TARGET_RG"
      $targetRegion = "TARGET_LOCATION"
      
      # Create an empty target disk from the source disk
      $sourceDisk = Get-AzDisk -ResourceGroupName $sourceRG -DiskName $sourceDiskName
      $targetDiskconfig = New-AzDiskConfig -SkuName $sourceDisk.Sku.Name -UploadSizeInBytes $($sourceDisk.DiskSizeBytes+512) -Location $targetRegion -OsType $sourceDisk.OsType -CreateOption 'Upload'
      $targetDisk = New-AzDisk -ResourceGroupName $targetRG -DiskName $targetDiskName -Disk $targetDiskconfig
      
      # Copy the disk content from source to target
      $sourceDiskSas = Grant-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName -DurationInSecond 1800 -Access 'Read'
      $targetDiskSas = Grant-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName -DurationInSecond 1800 -Access 'Write'
      azcopy copy $sourceDiskSas.AccessSAS $targetDiskSas.AccessSAS --blob-type PageBlob
      Revoke-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName
      Revoke-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName
      

      Bundan sonra, yeni bölge altında yeni bir diske sahip olursunuz.

    1. İşlem VM'sinin işletim sistemi diskini yeni laboratuvar altında yeni diskle değiştirin. Nasıl yapılacağını öğrenmek için "PowerShell kullanarak Azure VM tarafından kullanılan işletim sistemi diskini değiştirme" makalesine bakın.

Zamanlamayı taşıma

Zamanlamayı taşımanın iki yolu vardır:

  • Taşınan VM'lerde zamanlamaları el ile yeniden oluşturun. Bu işlem zaman alabilir ve hataya açık olabilir. Bu yaklaşım en çok birkaç zamanlamanız ve VM'niz olduğunda kullanışlıdır.
  • ARM şablonlarını kullanarak zamanlamaları dışarı aktarın ve yeniden dağıtın.

ARM şablonu kullanarak zamanlamanızı başka bir Azure bölgesinde dışarı aktarmak ve yeniden dağıtmak için aşağıdaki adımları kullanın:

  1. Azure Portal’ında oturum açın.

  2. VM'lerinizi barındıran kaynak kaynak grubuna gidin.

  3. Kaynak Grubuna Genel Bakış sayfasındaki Kaynaklar'ın altında Gizli türleri göster'i seçin.

  4. microsoft.devtestlab/schedules türündeki tüm kaynakları seçin.

  5. Şablonu dışarı aktar'ı seçin.

    Zamanlamaların seçili olduğu bir kaynak grubundaki gizli kaynakları gösteren ekran görüntüsü.

  6. Kaynak grubu şablonunu dışarı aktar sayfasında Dağıt'ı seçin.

  7. Özel dağıtım sayfasında Şablonu düzenle'yi seçin.

  8. Şablon kodunda öğesinin tüm örneklerini "location": "<old location>" olarak "location": "<new location>" değiştirin ve kaydet'i seçin.

  9. Özel dağıtım sayfasında, hedef VM ile eşleşen değerleri girin:

    Veri Akışı Adı Değer
    Abonelik Bir Azure aboneliği seçin.
    Kaynak grubu Kaynak grubu adını seçin.
    Bölge Laboratuvar zamanlaması için bir konum seçin. Örneğin Orta ABD.
    Zamanlama Adı Genel olarak benzersiz bir ad olmalıdır.
    VirtualMachine_xxx_externalId Hedef VM olmalıdır.

    İlgili ayarlar için yeni konum değerlerini içeren özel dağıtım sayfasını gösteren ekran görüntüsü.

    Önemli

    Her zamanlamanın genel olarak benzersiz bir adı olmalıdır; yeni konumun zamanlama adını değiştirmeniz gerekir.

  10. Dağıtımı oluşturmak için Gözden geçir ve oluştur'u seçin.

  11. Dağıtım tamamlandığında, yeni vm'de yeni zamanlamanın doğru yapılandırıldığını doğrulayın.

Atma veya temizleme

Dağıtımdan sonra, yeniden başlamak isterseniz hedef laboratuvarı silebilir ve bu makalenin Hazırlama ve Taşıma bölümlerinde açıklanan adımları yineleyebilirsiniz.

Değişiklikleri işlemek ve taşıma işlemini tamamlamak için özgün laboratuvarı silmeniz gerekir.

Azure portalını kullanarak laboratuvarı kaldırmak için:

  1. Azure portalında sol taraftaki menüyü genişleterek hizmet menüsünü açın ve laboratuvar listesini görüntülemek için DevTest Labs'i seçin.

  2. Silinecek hedef laboratuvarı bulun ve listenin sağ tarafındaki Diğer düğmesine (...) sağ tıklayın.

  3. Sil'i seçin ve onaylayın.

Artık kullanılmadıysa özgün zamanlamaları temizlemeyi de seçebilirsiniz. Özgün zamanlama kaynak grubuna gidin (yukarıdaki 5. adımda şablon dışarı aktardığınız yer) ve zamanlama kaynağını silin.

Sonraki adımlar

Bu makalede DevTest Labs'i bir bölgeden diğerine taşıdınız ve kaynak kaynakları temizlediyseniz. Kaynakları bölgeler arasında taşıma ve Azure'da olağanüstü durum kurtarma hakkında daha fazla bilgi edinmek için bkz: