Udostępnij za pośrednictwem


Przenoszenie laboratoriów DevTest Labs i harmonogramów

Możesz przenieść usługę DevTest Labs i skojarzone z nimi harmonogramy do innego regionu lub grupy zasobów. Grupy zasobów można przenosić za pośrednictwem witryny Azure Portal. Aby przenieść laboratorium, utwórz kopię istniejącego laboratorium w innym regionie. Po przeniesieniu laboratorium i utworzeniu maszyny wirtualnej w regionie docelowym możesz przenieść harmonogramy laboratorium.

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

  • Przenoszenie zasobów do różnych grup zasobów.
  • Wyeksportuj szablon 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 twoja 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 w celu przeniesienia prywatnych repozytoriów 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 przenoszenia zasobów do innej grupy zasobów oraz tworzenia i dostosowywania szablonu usługi ARM w celu przeniesienia laboratorium z jednego regionu do innego.

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

Przenoszenie grup zasobów przy użyciu witryny Azure Portal

Przenoszenie zasobów między grupami zasobów w różnych lokalizacjach jest teraz bezproblemowo włączone w usłudze DevTest Labs. Możesz bez wysiłku przenieść dowolny zasób z jednej grupy do innej w ramach tej samej subskrypcji.

Aby rozpocząć, wybierz zasób, który chcesz przenieść. Na stronie Przegląd zasobu znajdziesz bieżącą grupę zasobów wyświetlaną u góry. Obok nazwy grupy zasobów zobaczysz słowo (move) w nawiasach.

Kliknij tekst hiperlinku move , który przekierowuje Cię do nowej strony, na której można przenieść zasób do dowolnej innej grupy zasobów w ramach tej samej subskrypcji. Należy pamiętać, że przeniesienie zasobu nie spowoduje zmiany jego lokalizacji, nawet jeśli docelowa grupa zasobów znajduje się w innej lokalizacji. Jeśli nie przenosisz zasobów za pośrednictwem witryny Azure Portal lub jeśli przenosisz się do grupy zasobów w innej subskrypcji, alternatywne metody korzystające z usługi ARM zostały opisane poniżej.

Przenoszenie laboratoriów do innego regionu

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

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

Przygotowywanie sieci wirtualnej

Aby rozpocząć, wyeksportuj i zmodyfikuj szablon usługi Resource Manager.

  1. Zaloguj się w witrynie Azure Portal.

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

  3. Przenieś bieżącą sieć wirtualną 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 obszarze Eksportuj szablon.

  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 galerii obrazów udostępnionych.

Modyfikowanie szablonu

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

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

  1. W witrynie Azure Portal wybierz polecenie Utwórz zasób.

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

  3. Wybierz pozycję Wdrożenie szablonu.

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

  4. Wybierz pozycję Utwórz.

  5. Wybierz pozycję Utwórz 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 regionów, 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:

      • apiVersion microsoft.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 zdecydujesz się przenieść sieć wirtualną 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 przy użyciu protokołu SSH:

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

      Ważne

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

      "value": "YOUR_STORED_PASSWORD"
      
    7. W obszarze microsoft.devtestlab/labs/artifactsources zasobów następujący parametr ma wartość "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 odpowiednimi wartościami zdefiniowanymi w szablonie.

  2. Wprowadź następujące wartości:

    Nazwa/nazwisko 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 edycji nadal musi zostać przeniesionych 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ą te same specyfikacje co maszyny wirtualne 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 urządzenia Dev Box lub 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 szybsze, jest to, że dane są kopiowane bezpośrednio, więc narzędzie AzCopy nie korzysta z 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, gdy masz kilka 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 Eksportowanie szablonu grupy 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/nazwisko 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 jest 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 tego artykułu.

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

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

  1. W witrynie 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 wyczyszczone 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: