Movimiento de DevTest Labs y programaciones
Puedes mover DevTest Labs y sus programaciones asociadas a otra región o grupo de recursos. Puede mover grupos de recursos mediante Azure Portal. Para trasladar un laboratorio, cree una copia de uno ya existente en otra región. Cuando haya movido el laboratorio y tenga una máquina virtual en la región de destino, puede mover las programaciones del laboratorio.
En este artículo aprenderá a:
- Mover los recursos a un grupo de recursos distinto.
- 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 mover recursos a otro grupo de recursos y 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.
Movimiento de grupos de recursos mediante Azure Portal
El movimiento de los recursos entre grupos de recursos en diferentes ubicaciones ahora está habilitado sin problemas en DevTest Labs. Puede transferir sin esfuerzo cualquier recurso de un grupo a otro dentro de la misma suscripción.
Para comenzar, seleccione el recurso que desea mover. En la página Información general del recurso, encontrará el grupo de recursos actual que se muestra en la parte superior. Junto al nombre del grupo de recursos, verá la palabra (move)
entre paréntesis.
Haga clic en el texto con hipervínculo move
, que le dirigirá a una nueva página donde puede reubicar el recurso en cualquier otro grupo de recursos de la misma suscripción. Tenga en cuenta que mover el recurso no cambiará su ubicación, incluso si el grupo de recursos de destino está en otra ubicación. Si no va a mover recursos a través de Azure Portal o si va a transferir a un grupo de recursos en otra suscripción, se describen los métodos alternativos mediante ARM.
Movimiento de laboratorios a otra región
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.
Inicie sesión en Azure Portal.
Si todavía no existe un grupo de recursos en la región de destino, cree uno ahora.
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:
Seleccione Todos los recursos y, a continuación, seleccione el grupo de recursos del laboratorio.
Seleccione Exportar plantilla.
Elige Descargar en la plantilla Exportar.
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:
En Azure Portal, haga clic en Crear un recurso.
En Buscar en Marketplace, escriba implementación de plantillas y, después, presione ENTRAR.
Seleccione Implementación de plantillas.
Seleccione Crear.
Seleccione Cree su propia plantilla en el editor.
Seleccione Cargar archivo y, después, siga las instrucciones para cargar el archivo template.json que descargó en la última sección.
En el editor, realice los siguientes cambios en el archivo template.json:
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 serwestus2
,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",
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 recursomicrosoft.devtestlab/labs
a2018-10-15-preview
. - Agregue
vmCreationResourceGroupId
a la secciónproperties
.
"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",
- Actualice el valor del parámetro
Busque el identificador del recurso
"type": "microsoft.devtestlab/labs/users"
. Cuando lo encuentre, elimine toda la secciónsecretStore
, incluidos los parámetroskeyVaultld
ykeyVaultUri
.secretStore": { "keyVaultUri": "<vaultvalue>" "keyVaultld": "<id>" }
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.Ahora, busque el identificador del recurso
"type": "microsoft.devtestlab/labs/virtualmachines"
.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.
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 } ] } }
En los recursos
microsoft.devtestlab/labs/users/secrets
, agregue el siguiente parámetro a las propiedades (en el archivo, "properties"). ReemplaceYOUR_STORED_PASSWORD
por la contraseña.Importante
Use secureString para los valores de contraseña.
"value": "YOUR_STORED_PASSWORD"
En los recursos
microsoft.devtestlab/labs/artifactsources
, agregue el siguiente parámetro a las propiedades (en el archivo, "properties"). ReemplaceYOUR_STORED_PASSWORD
por la contraseña. De nuevo, use secureString para los valores de contraseña."securityToken": "YOUR_PAT_TOKEN_VALUE"
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.
En la página Implementación personalizada, actualice todos los parámetros con los valores correspondientes definidos en la plantilla.
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. Seleccione Revisar + crear.
Seleccione Crear.
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.
- Vuelve a agregar Compute Gallery al laboratorio si hay alguno en el original.
- 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.
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.
- 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:
Inicie sesión en Azure Portal.
Vaya al grupo de recursos de origen que contiene las VM.
En la página Información general del grupo de recursos, en Recursos, seleccione Mostrar tipos ocultos.
Seleccione todos los recursos con el tipo microsoft.devtestlab/schedules.
Seleccione Exportar plantilla.
En la página Exportar plantilla de grupo de recursos, seleccione Implementar.
En la página Implementación personalizada, seleccione Editar plantilla.
En el código de plantilla, cambie todas las instancias de
"location": "<old location>"
a"location": "<new location>"
y luego seleccione Guardar.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. Importante
Cada programación debe tener un nombre único global; deberá cambiar el nombre de la programación de la nueva ubicación.
Seleccione Revisar y crear para crear la implementación.
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:
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.
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.
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: