Share via


Mover o DevTest Labs e as programações para outra região

Você pode mover o DevTest Labs e seus agendamentos associados para outro motivo. Para mover um laboratório, crie uma cópia de um laboratório existente em outra região. Quando você move o laboratório e tem uma VM (máquina virtual) na região de destino, pode mover seus agendamentos de laboratório.

Neste artigo, você aprenderá como:

  • Exportar um modelo do ARM (Azure Resource Manager) de seu laboratório.
  • Modificar o modelo adicionando ou atualizando a região de destino e outros parâmetros.
  • Implantar o modelo para criar um laboratório na região de destino.
  • Configurar o novo laboratório.
  • Mover dados para o novo laboratório.
  • Transferir as programações para o novo laboratório.
  • Exclua os recursos na região de origem.

Pré-requisitos

  • Verifique se os serviços e recursos que sua conta usa têm suporte na região de destino.

  • Para obter as versões prévias do recurso, verifique se sua assinatura está incluída na lista de permitidos para a região de destino.

  • O DevTest Labs não armazena nem expõe as senhas do modelo do ARM exportado. Você saber as senhas/segredos de:

    • VMs
    • segredos armazenados
    • Tokens PAT dos repositórios de artefatos privados para movê-los junto com o laboratório.
  • Ao mover um agendamento de laboratório, verifique se existe uma VM de computação na região de destino.

Mover um laboratório

A seção a seguir descreve como criar e personalizar um modelo do ARM para mover um laboratório de uma região para outra.

Você pode mover uma agenda sem mover um laboratório, se tiver uma VM na região de destino. Se você quiser mover uma agenda sem mover um laboratório, consulte Mover uma agenda.

Preparar-se para mover um laboratório

Ao mover um laboratório, há algumas etapas que você deve seguir para se preparar para a mudança. Você precisa:

  • Preparar a rede virtual
  • Exportar um modelo do ARM do laboratório
  • Modificar o modelo
  • Implantar o modelo para mover o laboratório
  • Configurar o novo laboratório
  • Troque os discos do sistema operacional das VMs de Computação nas novas VMs
  • Limpar o laboratório original

Preparar a Rede Virtual

Para começar, exporte e modifique um modelo do Resource Manager.

  1. Entre no portal do Azure.

  2. Se você não tiver o Grupo de Recursos na região de destino, crie um agora.

  3. Mova a rede virtual atual para a nova região e grupo de recursos usando as etapas incluídas no artigo "Mover uma rede virtual do Azure para outra região".

    Como alternativa, você pode criar uma rede virtual se não precisar manter a original.

Exportar um modelo do ARM do laboratório

Em seguida, o senhor exporta um modelo JSON que contém configurações que descrevem o laboratório.

Para exportar um modelo com o portal do Azure:

  1. Selecione Todos os recursos e o grupo de recursos para o laboratório.

  2. Selecione Exportar modelo.

  3. Escolha Baixar em Exportar modelo.

  4. Localize o arquivo .zip que você baixou do portal e descompacte-o na pasta desejada.

    Esse arquivo zip contém os arquivos .json que consistem no modelo e nos scripts para implantar o modelo. Ele contém todos os recursos em seu laboratório listados no formato de modelo do ARM, exceto pelos recursos da Galeria de Imagens Compartilhadas.

Modificar o modelo

Para que o modelo do ARM seja implantado corretamente na nova região, você precisa alterar algumas partes do modelo.

Para atualizar o modelo usado o portal do Azure:

  1. No portal do Azure, selecione Criar um recurso.

  2. Em Pesquisar no Marketplace, digite implantação de modelo e pressione ENTER.

  3. Selecione Implantação de modelo.

    Captura de tela que mostra o Azure Marketplace com a implantação de modelo selecionada.

  4. Selecione Criar.

  5. Selecione Criar seu próprio modelo no editor.

  6. Selecione Carregar arquivo e em seguida siga as instruções para carregar o arquivo de modelo.json baixado na última seção.

  7. No editor, faça as seguintes alterações no arquivo template.json:

    1. Substitua o location original pela nova região na qual você deseja implantar, como westus2, southeastasia etc. Para obter códigos de localização de região, consulte Locais do Azure. O código de uma região é o nome da região sem espaços, por exemplo, EUA Central = centralus.

      "variables": {},
      "resources": [
        {
          "type": "microsoft.devtestlab/labs",
          "location": "centralus",
      
    2. Se você tiver "Todas as máquinas virtuais em um grupo de recursos" definido nas "Configurações do laboratório", também atualize os seguintes valores no modelo do ARM:

      • Atualize o apiVersion do recurso microsoft.devtestlab/labs para 2018-10-15-preview.
      • Adicione vmCreationResourceGroupId à seção properties.
      "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. Encontre o recurso "type": "microsoft.devtestlab/labs/users". Nele, remova toda a seção secretStore, incluindo os parâmetros keyVaultld e keyVaultUri.

      secretStore": {
        "keyVaultUri": "<vaultvalue>"
        "keyVaultld": "<id>"
      }
      
    4. Encontre o recurso "type": "microsoft.devtestlab/labs/virtualnetworks". Se você criou uma rede virtual anteriormente nessas etapas, deverá adicionar o nome da sub-rede real em /subnets/[SUBNET_NAME]. Se o senhor optar por mover a rede virtual para uma nova região, deve pular esta etapa.

    5. Encontre o recurso "type": "microsoft.devtestlab/labs/virtualmachines".

      1. Em "propriedades", adicione "password": "RANDOM_PASSWORD"

        Observação

        Uma propriedade de "senha" é necessária para criar uma VM. Inserimos uma senha aleatória porque, posteriormente, trocaremos o disco do sistema operacional pela VM original.

      2. Para máquinas virtuais com IP compartilhado, adicione este snippet em "properties.networkInterface",

        VM Windows com RDP:

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

        VM Linux com SSH:

         "networkInterface": {
            "sharedPublicIpAddressConfiguration": {
              "inboundNatRules": [
                {
                  "transportProtocol": "tcp",
                  "backendPort": 22
                }
              ]
            }
          }
        
    6. Nos recursos microsoft.devtestlab/labs/users/secrets, o parâmetro a seguir nas "propriedades". Substitua YOUR_STORED_PASSWORD pela sua senha.

      Importante

      Use secureString para os valores de senha.

      "value": "YOUR_STORED_PASSWORD"
      
    7. Nos recursos microsoft.devtestlab/labs/artifactsources, o parâmetro a seguir nas "propriedades". Substitua YOUR_STORED_PASSWORD pela sua senha. Novamente, use secureString para os valores de senha.

      "securityToken": "YOUR_PAT_TOKEN_VALUE"
      
    8. No editor, salve o modelo.

Implantar o modelo para mover o laboratório

Implante o modelo para criar um laboratório na região de destino.

  1. Na página Implantação personalizada, atualize todos os parâmetros com os valores correspondentes definidos no modelo.

  2. Insira os valores a seguir:

    Nome Valor
    Assinatura Selecione uma assinatura do Azure.
    Grupo de recursos Selecione o nome do grupo de recursos criado na última seção.
    Localidade Selecione um local para o laboratório. Por exemplo, Centro dos EUA.
    Nome do laboratório Deve ser um nome diferente.
    ID da Vnet Deve ser a que foi movida ou a nova que você criou.
  3. Selecione Examinar + criar.

  4. Selecione Criar.

  5. Selecione o ícone de sino (notificações) na parte superior da tela para ver o status da implantação. Você deverá ver a mensagem Implantação em andamento. Aguarde até a conclusão da implantação.

Configurar o novo laboratório

Embora a maioria dos recursos de laboratório tenha sido replicada na nova região usando o modelo do ARM, algumas edições ainda precisam ser movidas manualmente.

  1. Adicione a Galeria de Computação de volta ao laboratório, se houver alguma no original.
  2. Adicione as políticas de "Máquinas virtuais por usuário", "Máquinas virtuais por laboratório" e "Tamanhos de máquina virtual permitidos" de volta ao laboratório movido

Troque os discos do sistema operacional das VMs de Computação nas novas VMs

Observe que as VMs no novo laboratório têm as mesmas especificações que as do laboratório antigo. A única diferença são os discos do sistema operacional.

  1. Crie um disco vazio na nova região.

    • Obtenha o nome do disco do sistema operacional da VM de computação de destino no novo laboratório. Você pode encontrar a VM de computação e seu disco no grupo de recursos na página Máquina Virtual do laboratório.

    • Use AzCopy para copiar o conteúdo do disco antigo para os discos novos/vazios na nova região. Você pode executar os comandos do PowerShell no Computador de Desenvolvimento ou no Azure Cloud Shell.

      O AzCopy é a ferramenta preferencial para mover seus dados. Ela é otimizada para desempenho. Um fator que a torna mais rápida é que os dados são copiados diretamente, de modo que AzCopy não usa a largura de banda da rede de seu computador. Use o AzCopy na linha de comando ou como parte de um script personalizado. Confira Introdução ao 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
      

      Depois disso, você terá um novo disco na nova região.

    1. Troque o disco do sistema operacional da VM de computação no novo laboratório pelo novo disco. Para saber como, consulte o artigo "Alterar o disco do SO usado por uma VM do Azure usando o PowerShell".

Mover uma agenda

Há dois modos de mover um agendamento:

  • Recriar os agendamentos manualmente nas VMs movidas. Esse processo pode ser demorado e propenso a erros. Essa abordagem é mais útil quando há um número pequeno de agendamentos e de VMs.
  • Exportar e reimplantar os agendamentos usando modelos do ARM.

Use as seguintes etapas para exportar e reimplantar o agendamento em outra região do Azure usando um modelo do ARM:

  1. Entre no portal do Azure.

  2. Acesse o grupo de recursos de origem que continha as VMs.

  3. Na página Visão Geral do Grupo de Recursos, em Recursos, selecione Mostrar tipos ocultos.

  4. Selecione todos os recursos com o tipo microsoft.devtestlab/schedules.

  5. Selecione Exportar modelo.

    Captura de tela mostrando os recursos ocultos em um grupo de recursos, com agendas selecionadas.

  6. Na página Exportar modelo de grupo de recursos, selecione Implantar.

  7. Na página Implantação personalizada, selecione Editar modelo.

  8. No código do modelo, altere todas as instâncias de "location": "<old location>" para "location": "<new location>" e selecione Salvar.

  9. Na página Implantação personalizada, insira valores que correspondam à VM de destino:

    Nome Valor
    Assinatura Selecione uma assinatura do Azure.
    Grupo de recursos Selecione o nome do grupo de recursos.
    Região Selecione uma localização para o agendamento de laboratório. Por exemplo, Centro dos EUA.
    Nome do agendamento Precisa ser um nome global exclusivo.
    VirtualMachine_xxx_externalId Precisar ser a VM de destino.

    Captura de tela mostrando a página de implantação personalizada, com novos valores de localização para as configurações relevantes.

    Importante

    Cada agendamento precisa ter um nome global exclusivo. Você precisará alterar o nome do agendamento para a nova localização.

  10. Selecione Examinar e criar para criar a implantação.

  11. Quando a implantação for concluída, verifique se o novo agendamento está configurado corretamente na nova VM.

Descartar ou limpar

Após a implantação, se você quiser começar novamente, poderá excluir o laboratório de destino e repetir as etapas descritas nas seções Preparar e Mover deste artigo.

Para confirmar as alterações e concluir a movimentação, exclua o laboratório original.

Para remover um laboratório usando o portal do Azure:

  1. No portal do Azure, expanda o menu à esquerda para abrir o menu de serviços e escolha DevTest Labs para exibir a lista de laboratórios.

  2. Localize o laboratório de destino a ser excluído e clique com o botão direito do mouse no botão Mais (...) no lado direito da lista.

  3. Selecione Excluir e confirme.

O senhor também pode optar por limpar as programações originais se elas não forem mais usadas. Acesse o grupo de recursos de agendamento original (de onde você exportou os modelos na etapa 5 acima) e exclua o recurso de agendamento.

Próximas etapas

Neste artigo, você moveu o DevTest Labs de uma região para outra e limpou os recursos de origem. Para saber mais sobre como mover recursos entre regiões e recuperação de desastres no Azure, confira: