Compartir por


Traslado de una instancia de DevTest Labs y programaciones a otra región

Puedes mover DevTest Labs y sus programaciones asociadas a otra región. Para trasladar un laboratorio, cree una copia de uno ya existente en otra región. Cuando hayas movido el laboratorio y tengas una máquina virtual (VM) en la región de destino, puedes mover las programaciones del laboratorio.

En este artículo aprenderá a:

  • Exportar una plantilla Azure Resource Manager (ARM) del laboratorio.
  • Modificar la plantilla agregando o actualizando la región de destino y otros parámetros.
  • Implementar la plantilla para crear un nuevo laboratorio en la región de destino.
  • Configurar el nuevo laboratorio.
  • Trasladar datos al nuevo laboratorio.
  • Mover las programaciones al laboratorio nuevo.
  • Eliminar los recursos en la región de origen.

Prerrequisitos

  • Asegúrese de que los servicios y las características que usa su cuenta se admitan en la región de destino.

  • En el caso de las características en versión preliminar, asegúrese de que la suscripción está en la lista de permitidos para la región de destino.

  • DevTest Labs no almacena ni expone contraseñas de la plantilla de ARM exportada. Necesitas saber las contraseñas/secretos para:

    • las máquinas virtuales,
    • los secretos almacenados, y
    • los tokens PAT del repositorio de artefactos privados si quiere trasladar los repositorios privados junto con el laboratorio.
  • Al mover una programación de laboratorio, asegúrate de que existe una máquina virtual de proceso en la región de destino.

Traslado de un laboratorio

En la sección siguiente se describe cómo crear y personalizar una plantilla de ARM para mover un laboratorio de una región a otra.

Puedes mover una programación sin mover un laboratorio, si tienes una máquina virtual en la región de destino. Si quieres mover una programación sin mover un laboratorio, consulta Movimiento de una programación.

Preparación para mover un laboratorio

Al mover un laboratorio, hay algunos pasos que debes seguir a fin de prepararte para el traslado. Necesita:

  • Preparar la red virtual
  • Exportar una plantilla de ARM del laboratorio
  • Modificación de la plantilla
  • Implementar la plantilla para mover el laboratorio
  • Configuración del nuevo laboratorio
  • Intercambiar los discos del sistema operativo de las VM de Compute en las nuevas VM
  • Limpiar el laboratorio de origen

Preparación de Virtual Network

Para comenzar, exporte y modifique una plantilla de Resource Manager.

  1. Inicie sesión en Azure Portal.

  2. Si todavía no existe un grupo de recursos en la región de destino, cree uno ahora.

  3. Mueve la instancia de Virtual Network a la nueva región y al grupo de recursos mediante los pasos incluidos en el artículo "Traslado de una red virtual de Azure a otra región".

    De forma alternativa, puede crear una red virtual nueva si no necesita conservar la original.

Exportación de una plantilla de ARM del laboratorio

A continuación, exportarás una plantilla JSON que contenga la configuración que describe el laboratorio.

Para exportar una plantilla mediante Azure Portal:

  1. Seleccione Todos los recursos y, a continuación, seleccione el grupo de recursos del laboratorio.

  2. Seleccione Exportar plantilla.

  3. Elige Descargar en la plantilla Exportar.

  4. Busque el archivo ZIP que descargó desde el portal y descomprímalo en la carpeta que prefiera.

    Este archivo ZIP contiene los archivos .json que componen la plantilla y los scripts para implementar la plantilla. Este contiene todos los recursos del laboratorio enumerados en formato de plantilla de ARM excepto los recursos del servicio Shared Image Gallery.

Modificación de la plantilla

Para que la plantilla de ARM se implemente correctamente en la nueva región, deberá cambiar algunas partes de la plantilla.

Para implementar la plantilla con Azure Portal, siga estos pasos:

  1. En Azure Portal, haga clic en Crear un recurso.

  2. En Buscar en Marketplace, escriba implementación de plantillas y, después, presione ENTRAR.

  3. Seleccione Implementación de plantillas.

    Captura de pantalla que muestra Azure Marketplace Portal con la implementación de plantilla seleccionada.

  4. Seleccione Crear.

  5. Seleccione Cree su propia plantilla en el editor.

  6. Seleccione Cargar archivo y, después, siga las instrucciones para cargar el archivo template.json que descargó en la última sección.

  7. En el editor, realice los siguientes cambios en el archivo template.json:

    1. Reemplace el valor original del parámetro location con el de la nueva región en la que quiere implementar la plantilla. Este valor podría ser westus2, southeastasia, u otro. Para obtener los códigos de ubicación de la región, consulte la página Ubicaciones de Azure. El código de una región es el nombre de esa región sin espacios. Por ejemplo, el código de Centro de EE. UU. = centralus

      "variables": {},
      "resources": [
        {
          "type": "microsoft.devtestlab/labs",
          "location": "centralus",
      
    2. Si tienes establecida la opción "Todas las máquinas virtuales en un grupo de recursos" en "Configuración del laboratorio", actualiza también los siguientes valores en la plantilla de ARM:

      • Actualice el valor del parámetro apiVersion del recurso microsoft.devtestlab/labs a 2018-10-15-preview.
      • Agregue vmCreationResourceGroupId a la sección 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. Busque el identificador del recurso "type": "microsoft.devtestlab/labs/users". Cuando lo encuentre, elimine toda la sección secretStore, incluidos los parámetros keyVaultld y keyVaultUri.

      secretStore": {
        "keyVaultUri": "<vaultvalue>"
        "keyVaultld": "<id>"
      }
      
    4. A continuación, busque el identificador del recurso "type": "microsoft.devtestlab/labs/virtualnetworks". Si ya creó una nueva red virtual durante estos pasos, deberá agregar el nombre de la subred actual en /subnets/[SUBNET_NAME]. Si, en cambio, planeas mover la red virtual a una nueva región, deberás omitir este paso.

    5. Ahora, busque el identificador del recurso "type": "microsoft.devtestlab/labs/virtualmachines".

      1. Agregue el parámetro "password": "RANDOM_PASSWORD" a la lista de propiedades ("properties")

        Nota:

        La propiedad "password" es necesaria para crear una nueva máquina virtual. Introduciremos una contraseña aleatoria, ya que más adelante intercambiaremos el disco del sistema operativo con la VM original.

      2. Si utiliza máquinas virtuales con IP compartidas, agregue el siguiente fragmento de código en "properties.networkInterface".

        En una VM de Windows con RDP:

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

        En una VM de Linux con SSH:

         "networkInterface": {
            "sharedPublicIpAddressConfiguration": {
              "inboundNatRules": [
                {
                  "transportProtocol": "tcp",
                  "backendPort": 22
                }
              ]
            }
          }
        
    6. En los recursos microsoft.devtestlab/labs/users/secrets, agregue el siguiente parámetro a las propiedades (en el archivo, "properties"). Reemplace YOUR_STORED_PASSWORD por la contraseña.

      Importante

      Use secureString para los valores de contraseña.

      "value": "YOUR_STORED_PASSWORD"
      
    7. En los recursos microsoft.devtestlab/labs/artifactsources, agregue el siguiente parámetro a las propiedades (en el archivo, "properties"). Reemplace YOUR_STORED_PASSWORD por la contraseña. De nuevo, use secureString para los valores de contraseña.

      "securityToken": "YOUR_PAT_TOKEN_VALUE"
      
    8. Guarde la plantilla en el editor.

Implementar la plantilla para mover el laboratorio

En esta sección, implementará la plantilla para crear un nuevo laboratorio en la región de destino.

  1. En la página Implementación personalizada, actualice todos los parámetros con los valores correspondientes definidos en la plantilla.

  2. Escriba los siguientes valores:

    Nombre Value
    Suscripción Seleccione una suscripción de Azure.
    Grupos de recursos Seleccione el nombre del grupo de recursos creado en la última sección.
    Ubicación Seleccione una ubicación para el laboratorio. Por ejemplo, Centro de EE. UU.
    Nombre de laboratorio Deberá ser un nombre diferente.
    Id. de red virtual Debe ser el que se movió o el nuevo que creaste.
  3. Seleccione Revisar + crear.

  4. Seleccione Crear.

  5. Seleccione el icono de campana (notificaciones) en la parte superior de la pantalla para ver el estado de implementación. Verá Implementación en curso. Espere hasta que se complete la implementación.

Configuración del nuevo laboratorio

Aunque la mayoría de los recursos de laboratorio se habrán replicado en la nueva región mediante la plantilla de ARM, todavía será necesario trasladar algunas ediciones manualmente.

  1. Vuelve a agregar Compute Gallery al laboratorio si hay alguno en el original.
  2. Asimismo, vuelva a agregar las directivas "Virtual Machines por usuario", "Virtual Machines por laboratorio" y "Tamaños de máquina virtual permitidos" al laboratorio que se va a trasladar.

Intercambiar los discos del sistema operativo de las VM de Compute en las nuevas VM

Tenga en cuenta que las VM del nuevo laboratorio tendrán las mismas especificaciones que las del laboratorio anterior. La única diferencia son sus discos del sistema operativo.

  1. Crear un disco vacío en la nueva región.

    • Obtenga el nombre del disco del sistema operativo de la máquina virtual de Compute de destino ubicada en el nuevo laboratorio. La máquina virtual de Compute y su disco se encuentran en el grupo de recursos de la página "Máquina virtual" del laboratorio.

    • Use la utilidad AzCopy para copiar el contenido del disco antiguo a los discos nuevos o vacíos de la nueva región. Puedes ejecutar los comandos de PowerShell desde los servicios Dev Box o Azure Cloud Shell.

      AzCopy es la herramienta preferida para trasladar los datos. Está optimizado para el rendimiento. Uno de los motivos por los que es más rápida, es porque los datos se copian directamente para que AzCopy no use el ancho de banda de red del equipo. Use AzCopy en la línea de comandos o como parte de un script personalizado. Consulte Introducción a 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
      

      Tras completar este paso, tendrá un nuevo disco en la nueva región.

    1. Intercambie el disco del sistema operativo de la VM de Compute ubicada en el nuevo laboratorio por el nuevo disco. Para obtener información sobre cómo hacerlo, consulte el artículo "Intercambio del disco del sistema operativo que se usa en una VM de Azure mediante PowerShell".

Traslado de una programación

Hay dos maneras de mover una programación:

  • Vuelva a crear manualmente las programaciones en las VM movidas. Este proceso puede tardar mucho tiempo y ser propenso a errores. Este enfoque es más útil cuando tiene algunas programaciones y VM.
  • Exporte y vuelva a implementar las programaciones mediante plantillas de ARM.

Siga estos pasos para exportar y volver a implementar la programación en otra región de Azure mediante una plantilla de ARM:

  1. Inicie sesión en Azure Portal.

  2. Vaya al grupo de recursos de origen que contiene las VM.

  3. En la página Información general del grupo de recursos, en Recursos, seleccione Mostrar tipos ocultos.

  4. Seleccione todos los recursos con el tipo microsoft.devtestlab/schedules.

  5. Seleccione Exportar plantilla.

    Captura de pantalla que muestra los recursos ocultos en un grupo de recursos, con programaciones seleccionadas.

  6. En la página Exportar plantilla de grupo de recursos, seleccione Implementar.

  7. En la página Implementación personalizada, seleccione Editar plantilla.

  8. En el código de plantilla, cambie todas las instancias de "location": "<old location>" a "location": "<new location>" y luego seleccione Guardar.

  9. En la página Implementación personalizada, escriba valores que coincidan con la VM de destino:

    Nombre Value
    Suscripción Seleccione una suscripción de Azure.
    Grupos de recursos Seleccione el nombre del grupo de recursos.
    Región Seleccione una ubicación para la programación de laboratorio. Por ejemplo, Centro de EE. UU.
    Nombre de programación Debe ser un nombre único global.
    VirtualMachine_xxx_externalId Debe ser la VM de destino.

    Captura de pantalla que muestra la página de implementación personalizada, con nuevos valores de ubicación para la configuración pertinente.

    Importante

    Cada programación debe tener un nombre único global; deberá cambiar el nombre de la programación de la nueva ubicación.

  10. Seleccione Revisar y crear para crear la implementación.

  11. Una vez completada la implementación, compruebe que la nueva programación está configurada correctamente en la nueva VM.

Descarte o limpieza

Si quiere empezar de nuevo después de realizar la implementación, puede eliminar el laboratorio de destino y repetir los pasos descritos en las secciones Preparación y Traslado de este artículo.

Para confirmar los cambios y completar el traslado, deberá eliminar el laboratorio original.

Para quitar un laboratorio mediante Azure Portal, siga estos pasos:

  1. En Azure Portal, expanda el menú de la izquierda para abrir el menú de servicios y elija DevTest Labs para mostrar la lista de laboratorios.

  2. Busque el laboratorio de destino que se va a eliminar y haga clic con el botón derecho sobre el botón Más (...), situado en la parte derecha de la lista.

  3. Seleccione Eliminar y confirme.

También puedes optar por limpiar las programaciones originales si ya no se usan. Vaya al grupo de recursos de programación original (donde exportó las plantillas del paso 5 anterior) y elimine el recurso de programación.

Pasos siguientes

En este artículo, moviste los laboratorios de DevTest de una región a otra y limpiaste los recursos de origen. Para obtener más información sobre cómo trasladar recursos entre regiones y la recuperación ante desastres en Azure, consulte: