Przenoszenie usługi DevTest Labs i harmonogramów do innego regionu

Możesz przenieść usługę DevTest Labs i skojarzone z nimi harmonogramy do innego powodu. Aby przenieść laboratorium, utwórz kopię istniejącego laboratorium w innym regionie. Po przeniesieniu laboratorium i korzystaniu z maszyny wirtualnej w regionie docelowym możesz przenieść harmonogramy laboratorium.

W tym artykule omówiono sposób wykonywania następujących zadań:

  • Eksportowanie szablonu usługi Azure Resource Manager (ARM) laboratorium.
  • Zmodyfikuj szablon, dodając lub aktualizując region docelowy i inne parametry.
  • Wdróż szablon, aby utworzyć nowe laboratorium w regionie docelowym.
  • Skonfiguruj nowe laboratorium.
  • Przenieś dane do nowego laboratorium.
  • Przenieś harmonogramy do nowego laboratorium.
  • Usuń zasoby w regionie źródłowym.

Wymagania wstępne

  • Upewnij się, że usługi i funkcje używane przez konto są obsługiwane w regionie docelowym.

  • W przypadku funkcji w wersji zapoznawczej upewnij się, że subskrypcja jest dozwolona dla regionu docelowego.

  • Usługa DevTest Labs nie przechowuje ani nie ujawnia haseł z wyeksportowanego szablonu usługi ARM. Musisz znać hasła/wpisy tajne dla:

    • maszyny wirtualne
    • przechowywane wpisy tajne
    • Tokeny pat prywatnych repozytoriów artefaktów, aby przenieść prywatne repozytoria razem z laboratorium.
  • Podczas przenoszenia harmonogramu laboratorium upewnij się, że maszyna wirtualna obliczeniowa istnieje w regionie docelowym.

Przenoszenie laboratorium

W poniższej sekcji opisano sposób tworzenia i dostosowywania szablonu usługi ARM w celu przeniesienia laboratorium z jednego regionu do innego.

Harmonogram można przenieść bez przenoszenia laboratorium, jeśli masz maszynę wirtualną w regionie docelowym. Jeśli chcesz przenieść harmonogram bez przenoszenia laboratorium, zobacz Przenoszenie harmonogramu.

Przygotowanie do przeniesienia laboratorium

Podczas przenoszenia laboratorium należy wykonać kilka kroków, aby przygotować się do przeniesienia. Musisz:

  • Przygotowywanie sieci wirtualnej
  • Eksportowanie szablonu usługi ARM laboratorium
  • Modyfikowanie szablonu
  • Wdrażanie szablonu w celu przeniesienia laboratorium
  • Konfigurowanie nowego laboratorium
  • Zamiana dysków systemu operacyjnego maszyn wirtualnych obliczeniowych na nowych maszynach wirtualnych
  • Czyszczenie oryginalnego laboratorium

Przygotowywanie Virtual Network

Aby rozpocząć pracę, wyeksportuj i zmodyfikuj szablon Resource Manager.

  1. Zaloguj się w witrynie Azure Portal.

  2. Jeśli nie masz grupy zasobów w regionie docelowym, utwórz je teraz.

  3. Przenieś bieżące Virtual Network do nowego regionu i grupy zasobów, wykonując kroki zawarte w artykule "Przenoszenie sieci wirtualnej platformy Azure do innego regionu".

    Alternatywnie możesz utworzyć nową sieć wirtualną, jeśli nie musisz zachować oryginalnej sieci.

Eksportowanie szablonu usługi ARM laboratorium

Następnie wyeksportujesz szablon JSON zawierający ustawienia opisujące laboratorium.

Aby wyeksportować szablon przy użyciu witryny Azure Portal:

  1. Wybierz pozycję Wszystkie zasoby, a następnie wybierz grupę zasobów dla laboratorium.

  2. Wybierz pozycję Eksportuj szablon.

  3. Wybierz pozycję Pobierz w szablonie Eksportuj.

  4. Znajdź plik .zip pobrany z portalu i rozpakuj ten plik do wybranego folderu.

    Ten plik zip zawiera pliki json, które składają się na szablon i skrypty do wdrożenia szablonu. Zawiera wszystkie zasoby w laboratorium wymienione w formacie szablonu usługi ARM, z wyjątkiem zasobów Shared Image Gallery.

Modyfikowanie szablonu

Aby szablon usługi ARM został poprawnie wdrożony w nowym regionie, należy zmienić kilka części szablonu.

Aby zaktualizować szablon przy użyciu Azure Portal:

  1. W Azure Portal wybierz pozycję Utwórz zasób.

  2. W obszarze Wyszukaj w witrynie Marketplace wpisz wdrożenie szablonu, a następnie naciśnij klawisz ENTER.

  3. Wybierz pozycję Wdrożenie szablonu.

    Zrzut ekranu przedstawiający Azure Marketplace z wybranym wdrożeniem szablonu.

  4. Wybierz przycisk Utwórz.

  5. Wybierz pozycję Skompiluj własny szablon w edytorze.

  6. Wybierz pozycję Załaduj plik, a następnie postępuj zgodnie z instrukcjami, aby załadować plik template.json pobrany w ostatniej sekcji.

  7. W edytorze wprowadź następujące zmiany w pliku template.json :

    1. Zastąp oryginał location nowym regionem, w którym chcesz wdrożyć, na przykład westus2, southeastasiaitp. Aby uzyskać kody lokalizacji regionu, zobacz Lokalizacje platformy Azure. Kod regionu to nazwa regionu bez spacji , Środkowe stany USA = centralus.

      "variables": {},
      "resources": [
        {
          "type": "microsoft.devtestlab/labs",
          "location": "centralus",
      
    2. Jeśli masz ustawioną opcję "Wszystkie maszyny wirtualne w jednej grupie zasobów" w obszarze "Ustawienia laboratorium", zaktualizuj również następujące wartości w szablonie usługi ARM:

      • apiVersionmicrosoft.devtestlab/labs Zaktualizuj zasób na 2018-10-15-preview.
      • Dodaj vmCreationResourceGroupId do properties sekcji.
      "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" Znajdź zasób. W tym miejscu usuń całą secretStore sekcję, w tym keyVaultld parametry i keyVaultUri .

      secretStore": {
        "keyVaultUri": "<vaultvalue>"
        "keyVaultld": "<id>"
      }
      
    4. "type": "microsoft.devtestlab/labs/virtualnetworks" Znajdź zasób. Jeśli utworzono nową sieć wirtualną wcześniej w tych krokach, musisz dodać rzeczywistą nazwę podsieci w pliku /subnets/[SUBNET_NAME]. Jeśli wybrano opcję przeniesienia sieci wirtualnej do nowego regionu, należy pominąć ten krok.

    5. "type": "microsoft.devtestlab/labs/virtualmachines" Znajdź zasób.

      1. W obszarze "properties" dodaj "password": "RANDOM_PASSWORD"

        Uwaga

        Do utworzenia nowej maszyny wirtualnej jest wymagana właściwość "password". Wprowadzamy losowe hasło, ponieważ później zamienimy dysk systemu operacyjnego na oryginalną maszynę wirtualną.

      2. W przypadku udostępnionych maszyn wirtualnych IP dodaj ten fragment kodu w obszarze "properties.networkInterface",

        Maszyna wirtualna z systemem Windows z protokołem RDP:

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

        Maszyna wirtualna z systemem Linux z protokołem SSH:

         "networkInterface": {
            "sharedPublicIpAddressConfiguration": {
              "inboundNatRules": [
                {
                  "transportProtocol": "tcp",
                  "backendPort": 22
                }
              ]
            }
          }
        
    6. W obszarze microsoft.devtestlab/labs/users/secrets zasobów następujący parametr to "properties". Zastąp ciąg YOUR_STORED_PASSWORD hasłem.

      Ważne

      Użyj funkcji secureString dla wartości haseł.

      "value": "YOUR_STORED_PASSWORD"
      
    7. W obszarze microsoft.devtestlab/labs/artifactsources zasobów następujący parametr to "properties". Zastąp ciąg YOUR_STORED_PASSWORD hasłem. Ponownie użyj funkcji secureString dla wartości haseł.

      "securityToken": "YOUR_PAT_TOKEN_VALUE"
      
    8. W edytorze zapisz szablon.

Wdrażanie szablonu w celu przeniesienia laboratorium

Wdróż szablon, aby utworzyć nowe laboratorium w regionie docelowym.

  1. Na stronie Wdrożenie niestandardowe zaktualizuj wszystkie parametry przy użyciu odpowiednich wartości zdefiniowanych w szablonie.

  2. Podaj następujące wartości:

    Nazwa Wartość
    Subskrypcja Wybierz subskrypcję platformy Azure.
    Grupa zasobów Wybierz nazwę grupy zasobów utworzoną w ostatniej sekcji.
    Lokalizacja Wybierz lokalizację laboratorium. Na przykład Środkowe stany USA.
    Nazwa laboratorium Musi być inną nazwą.
    Identyfikator sieci wirtualnej Musi być przeniesiony lub nowy, który został utworzony.
  3. Wybierz pozycję Przejrzyj i utwórz.

  4. Wybierz pozycję Utwórz.

  5. Wybierz ikonę dzwonka (powiadomienia) w górnej części ekranu, aby wyświetlić stan wdrożenia. Powinien zostać wyświetlony komunikat Wdrożenie jest w toku. Poczekaj na zakończenie wdrożenia.

Konfigurowanie nowego laboratorium

Chociaż większość zasobów laboratorium została zreplikowana w nowym regionie przy użyciu szablonu usługi ARM, kilka zmian nadal trzeba przenieść ręcznie.

  1. Dodaj galerię obliczeniową z powrotem do laboratorium, jeśli znajduje się w nim oryginalna.
  2. Dodaj zasady "Maszyny wirtualne na użytkownika", "Maszyny wirtualne na laboratorium" i "Dozwolone rozmiary maszyn wirtualnych" z powrotem do przeniesionego laboratorium

Wymiana dysków systemu operacyjnego maszyn wirtualnych obliczeniowych na nowych maszynach wirtualnych

Zwróć uwagę, że maszyny wirtualne w ramach nowego laboratorium mają taką samą specyfikację jak te w starym laboratorium. Jedyną różnicą jest ich dyski systemu operacyjnego.

  1. Utwórz pusty dysk w nowym regionie.

    • Pobierz docelową nazwę dysku systemu operacyjnego maszyny wirtualnej obliczeniowej w nowym laboratorium. Maszynę wirtualną obliczeniową i jej dysk można znaleźć w grupie Zasobów na stronie Maszyna wirtualna laboratorium.

    • Użyj narzędzia AzCopy , aby skopiować starą zawartość dysku do nowych/pustych dysków w nowym regionie. Polecenia programu PowerShell można uruchamiać z poziomu usługi Dev Box lub z usługi Azure Cloud Shell.

      Narzędzie AzCopy jest preferowanym narzędziem do przenoszenia danych. Program jest zoptymalizowany pod kątem wydajności. Jednym ze sposobów, w jaki jest szybszy, jest to, że dane są kopiowane bezpośrednio, więc narzędzie AzCopy nie używa przepustowości sieci komputera. Użyj polecenia AzCopy w wierszu polecenia lub jako część niestandardowego skryptu. Zobacz Wprowadzenie do narzędzia AzCopy.

      # 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
      

      Następnie będziesz mieć nowy dysk w nowym regionie.

    1. Zamień dysk systemu operacyjnego maszyny wirtualnej obliczeniowej w nowym laboratorium na nowy dysk. Aby dowiedzieć się, jak to zrobić, zobacz artykuł "Zmienianie dysku systemu operacyjnego używanego przez maszynę wirtualną platformy Azure przy użyciu programu PowerShell".

Przenoszenie harmonogramu

Istnieją dwa sposoby przenoszenia harmonogramu:

  • Ręcznie utwórz ponownie harmonogramy na przeniesionych maszynach wirtualnych. Ten proces może być czasochłonny i podatny na błędy. Takie podejście jest najbardziej przydatne w przypadku kilku harmonogramów i maszyn wirtualnych.
  • Wyeksportuj i ponownie wdróż harmonogramy przy użyciu szablonów usługi ARM.

Wykonaj następujące kroki, aby wyeksportować i ponownie wdrożyć harmonogram w innym regionie świadczenia usługi Azure przy użyciu szablonu usługi ARM:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do źródłowej grupy zasobów, która przechowywała maszyny wirtualne.

  3. Na stronie Przegląd grupy zasobów w obszarze Zasoby wybierz pozycję Pokaż ukryte typy.

  4. Wybierz wszystkie zasoby z typem microsoft.devtestlab/schedules.

  5. Wybierz pozycję Eksportuj szablon.

    Zrzut ekranu przedstawiający ukryte zasoby w grupie zasobów z wybranymi harmonogramami.

  6. Na stronie szablonu Eksportuj grupę zasobów wybierz pozycję Wdróż.

  7. Na stronie Wdrożenie niestandardowe wybierz pozycję Edytuj szablon.

  8. W kodzie szablonu zmień wszystkie wystąpienia "location": "<old location>" elementu na "location": "<new location>" , a następnie wybierz pozycję Zapisz.

  9. Na stronie Wdrożenie niestandardowe wprowadź wartości zgodne z docelową maszyną wirtualną:

    Nazwa Wartość
    Subskrypcja Wybierz subskrypcję platformy Azure.
    Grupa zasobów Wybierz nazwę grupy zasobów.
    Region Wybierz lokalizację harmonogramu laboratorium. Na przykład Środkowe stany USA.
    Nazwa harmonogramu Musi być globalnie unikatową nazwą.
    VirtualMachine_xxx_externalId Musi być docelową maszyną wirtualną.

    Zrzut ekranu przedstawiający stronę wdrożenia niestandardowego z nowymi wartościami lokalizacji dla odpowiednich ustawień.

    Ważne

    Każdy harmonogram musi mieć globalnie unikatową nazwę; Musisz zmienić nazwę harmonogramu dla nowej lokalizacji.

  10. Wybierz pozycję Przejrzyj i utwórz , aby utworzyć wdrożenie.

  11. Po zakończeniu wdrażania sprawdź, czy nowy harmonogram został poprawnie skonfigurowany na nowej maszynie wirtualnej.

Odrzucanie lub czyszczenie

Jeśli po wdrożeniu chcesz rozpocząć od nowa, możesz usunąć laboratorium docelowe i powtórzyć kroki opisane w sekcjach Przygotowywanie i przenoszenie w tym artykule.

Aby zatwierdzić zmiany i zakończyć przenoszenie, musisz usunąć oryginalne laboratorium.

Aby usunąć laboratorium przy użyciu Azure Portal:

  1. W Azure Portal rozwiń menu po lewej stronie, aby otworzyć menu usług, a następnie wybierz pozycję DevTest Labs, aby wyświetlić listę laboratoriów.

  2. Znajdź laboratorium docelowe do usunięcia, a następnie kliknij prawym przyciskiem myszy przycisk Więcej (...) po prawej stronie listy.

  3. Wybierz pozycję Usuń i potwierdź.

Możesz również wyczyścić oryginalne harmonogramy, jeśli nie są już używane. Przejdź do oryginalnej grupy zasobów harmonogramu (w której wyeksportowano szablony z kroku 5 powyżej) i usuń zasób harmonogramu.

Następne kroki

W tym artykule przeniesiono usługę DevTest Labs z jednego regionu do drugiego i oczyszczono zasoby źródłowe. Aby dowiedzieć się więcej na temat przenoszenia zasobów między regionami i odzyskiwaniem po awarii na platformie Azure, zobacz: