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.
Zaloguj się w witrynie Azure Portal.
Jeśli nie masz grupy zasobów w regionie docelowym, utwórz je teraz.
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:
Wybierz pozycję Wszystkie zasoby, a następnie wybierz grupę zasobów dla laboratorium.
Wybierz pozycję Eksportuj szablon.
Wybierz pozycję Pobierz w szablonie Eksportuj.
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:
W Azure Portal wybierz pozycję Utwórz zasób.
W obszarze Wyszukaj w witrynie Marketplace wpisz wdrożenie szablonu, a następnie naciśnij klawisz ENTER.
Wybierz pozycję Wdrożenie szablonu.
Wybierz przycisk Utwórz.
Wybierz pozycję Skompiluj własny szablon w edytorze.
Wybierz pozycję Załaduj plik, a następnie postępuj zgodnie z instrukcjami, aby załadować plik template.json pobrany w ostatniej sekcji.
W edytorze wprowadź następujące zmiany w pliku template.json :
Zastąp oryginał
location
nowym regionem, w którym chcesz wdrożyć, na przykładwestus2
,southeastasia
itp. 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",
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 na2018-10-15-preview
.- Dodaj
vmCreationResourceGroupId
doproperties
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",
"type": "microsoft.devtestlab/labs/users"
Znajdź zasób. W tym miejscu usuń całąsecretStore
sekcję, w tymkeyVaultld
parametry ikeyVaultUri
.secretStore": { "keyVaultUri": "<vaultvalue>" "keyVaultld": "<id>" }
"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."type": "microsoft.devtestlab/labs/virtualmachines"
Znajdź zasób.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ą.
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 } ] } }
W obszarze
microsoft.devtestlab/labs/users/secrets
zasobów następujący parametr to "properties". Zastąp ciągYOUR_STORED_PASSWORD
hasłem.Ważne
Użyj funkcji secureString dla wartości haseł.
"value": "YOUR_STORED_PASSWORD"
W obszarze
microsoft.devtestlab/labs/artifactsources
zasobów następujący parametr to "properties". Zastąp ciągYOUR_STORED_PASSWORD
hasłem. Ponownie użyj funkcji secureString dla wartości haseł."securityToken": "YOUR_PAT_TOKEN_VALUE"
W edytorze zapisz szablon.
Wdrażanie szablonu w celu przeniesienia laboratorium
Wdróż szablon, aby utworzyć nowe laboratorium w regionie docelowym.
Na stronie Wdrożenie niestandardowe zaktualizuj wszystkie parametry przy użyciu odpowiednich wartości zdefiniowanych w szablonie.
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. Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
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.
- Dodaj galerię obliczeniową z powrotem do laboratorium, jeśli znajduje się w nim oryginalna.
- 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.
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.
- 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:
Zaloguj się w witrynie Azure Portal.
Przejdź do źródłowej grupy zasobów, która przechowywała maszyny wirtualne.
Na stronie Przegląd grupy zasobów w obszarze Zasoby wybierz pozycję Pokaż ukryte typy.
Wybierz wszystkie zasoby z typem microsoft.devtestlab/schedules.
Wybierz pozycję Eksportuj szablon.
Na stronie szablonu Eksportuj grupę zasobów wybierz pozycję Wdróż.
Na stronie Wdrożenie niestandardowe wybierz pozycję Edytuj szablon.
W kodzie szablonu zmień wszystkie wystąpienia
"location": "<old location>"
elementu na"location": "<new location>"
, a następnie wybierz pozycję Zapisz.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ą. Ważne
Każdy harmonogram musi mieć globalnie unikatową nazwę; Musisz zmienić nazwę harmonogramu dla nowej lokalizacji.
Wybierz pozycję Przejrzyj i utwórz , aby utworzyć wdrożenie.
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:
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.
Znajdź laboratorium docelowe do usunięcia, a następnie kliknij prawym przyciskiem myszy przycisk Więcej (...) po prawej stronie listy.
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:
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla