Déplacez les laboratoires et les plannings DevTest
Vous pouvez déplacer les laboratoires DevTest et leurs planifications associées vers une autre région ou un autre groupe de ressources. Vous pouvez déplacer des groupes de ressources via le portail Azure. Pour déplacer un labo, créez une copie d’un labo existant dans une autre région. Lorsque vous avez déplacé votre laboratoire et que vous disposez d'une machine virtuelle (VM) dans la région cible, vous pouvez déplacer vos plannings de laboratoire.
Dans cet article, vous apprendrez comment :
- Déplacez des ressources vers différents groupes de ressources.
- Exportez un modèle Azure Resource Manager (ARM) de votre labo.
- Modifiez le modèle en ajoutant ou en mettant à jour la région cible et d’autres paramètres.
- Déployez le modèle pour créer le nouveau labo dans la région cible.
- Configurez le nouveau labo.
- Déplacez les données vers le nouveau labo.
- Déplacez les planifications vers le nouveau labo.
- Supprimer les ressources dans la région source.
Prérequis
Vérifiez que les services et fonctionnalités utilisés par votre compte sont pris en charge dans la région cible.
Pour les fonctionnalités en préversion, vérifiez que votre abonnement figure dans la liste d’autorisation de la région cible.
DevTest Labs ne stocke pas et n’expose pas de mots de passe à partir du modèle ARM exporté. Vous devez connaître les mots de passe/secrets pour :
- les machines virtuelles
- les secrets stockés
- les jetons PAT du référentiel d’artefacts privé pour déplacer les référentiels privés en même temps que le labo.
Lors du déplacement d’une planification de labo, vérifiez qu’une machine virtuelle de calcul existe dans la région cible.
Déplacer un labo
La section suivante décrit comment déplacer des ressources vers un autre groupe de ressources et créer et personnaliser un modèle ARM pour déplacer un laboratoire d'une région à une autre.
Vous pouvez déplacer une planification sans déplacer de labo si vous avez une machine virtuelle dans la région cible. Si vous souhaitez déplacer une planification sans déplacer de labo, consultez Déplacer une planification.
Déplacez des groupes de ressources à l'aide du portail Azure
Le déplacement de ressources entre des groupes de ressources situés à différents emplacements est désormais possible de manière transparente dans DevTest Labs. Vous pouvez transférer sans effort n'importe quelle ressource d'un groupe à un autre au sein du même abonnement.
Pour commencer, sélectionnez la ressource que vous souhaitez déplacer. Sur la page Présentation de la ressource, vous trouverez le Groupe de ressources actuel affiché en haut. À côté du nom du groupe de ressources, vous verrez le mot (move)
entre parenthèses.
Cliquez sur le texte hypertexte move
, qui vous dirigera vers une nouvelle page où vous pourrez déplacer la ressource vers n’importe quel autre groupe de ressources au sein du même abonnement. Veuillez noter que le déplacement de la ressource ne modifiera pas son emplacement, même si le groupe de ressources de destination se trouve à un emplacement différent. Si vous ne déplacez pas de ressources via le portail Azure ou si vous effectuez un transfert vers un groupe de ressources dans un autre abonnement, des méthodes alternatives utilisant ARM sont décrites ci-dessous.
Déplacez les laboratoires vers une autre région
Lorsque vous déplacez un labo, vous devez suivre certaines étapes pour vous préparer au déplacement. Vous devez :
- Préparer le réseau virtuel
- Exporter un modèle ARM du labo
- Modifier le modèle
- Déployer le modèle pour déplacer le labo
- Configurer le nouveau labo
- Permuter les disques du système d’exploitation des machines virtuelles de calcul sous les nouvelles machines virtuelles
- Nettoyer le labo d’origine
Préparer le réseau virtuel
Pour commencer, exportez un modèle Resource Manager puis modifiez-le.
Connectez-vous au portail Azure.
Si vous n’avez pas de groupe de ressources dans la région cible, créez-en un maintenant.
Déplacez le réseau virtuel actuel vers la nouvelle région et le nouveau groupe de ressources à l’aide de la procédure décrite dans l’article « Déplacer un réseau virtuel Azure vers une autre région ».
Vous pouvez également créer un nouveau réseau virtuel, si vous n’avez pas besoin de conserver le réseau d’origine.
Exporter un modèle ARM du labo
Ensuite, vous exportez un modèle JSON contenant les paramètres qui décrivent le labo.
Pour exporter un modèle à l’aide du portail Azure :
Sélectionnez Toutes les ressources, puis sélectionnez le groupe de ressources pour le labo.
Sélectionnez Exporter le modèle.
Choisissez Télécharger dans Exporter le modèle.
Localisez le fichier .zip que vous avez téléchargé à partir du portail, puis décompressez-le dans le dossier de votre choix.
Ce fichier zip contient les fichiers .json qui composent le modèle et des scripts pour le déployer. Il contient toutes les ressources de votre labo figurant dans le format de modèle ARM, à l’exception des ressources de la Galerie d’images partagées.
Modifier le modèle
Pour que le modèle ARM puisse être déployé correctement dans la nouvelle région, vous devez modifier quelques parties du modèle.
Pour mettre à jour le modèle à l’aide du portail Azure :
Dans le portail Azure, sélectionnez Créer une ressource.
Dans Rechercher sur la Place de marché, tapez déploiement de modèle, puis appuyez sur Entrée.
Sélectionnez Déploiement de modèle.
Sélectionnez Créer.
Sélectionnez Générer votre propre modèle dans l’éditeur.
Sélectionnez Charger le fichier, puis suivez les instructions pour charger le fichier template.json que vous avez téléchargé dans la section précédente.
Dans l’éditeur, apportez les modifications suivantes au fichier template.json :
Remplacez le fichier d’origine
location
par la nouvelle région dans laquelle vous souhaitez effectuer le déploiement, par exemplewestus2
,southeastasia
, etc. Pour obtenir les codes d’emplacement des régions, consultez Emplacements Azure. Le code d’une région est le nom de la région en anglais et sans espace, Central US =centralus
."variables": {}, "resources": [ { "type": "microsoft.devtestlab/labs", "location": "centralus",
Si vous avez défini « Toutes les machines virtuelles dans un groupe de ressources » dans les « Paramètres de labo », mettez également à jour les valeurs suivantes dans le modèle ARM :
- Mettez à jour le
apiVersion
de lamicrosoft.devtestlab/labs
ressource vers2018-10-15-preview
. - Ajoutez
vmCreationResourceGroupId
à la sectionproperties
.
"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",
- Mettez à jour le
Recherchez la ressource
"type": "microsoft.devtestlab/labs/users"
. À partir de là, supprimez la sectionsecretStore
entière, y compris les paramètreskeyVaultld
etkeyVaultUri
.secretStore": { "keyVaultUri": "<vaultvalue>" "keyVaultld": "<id>" }
Recherchez la ressource
"type": "microsoft.devtestlab/labs/virtualnetworks"
. Si vous avez créé un nouveau réseau virtuel précédemment dans ces étapes, vous devez ajouter le nom de sous-réseau réel dans/subnets/[SUBNET_NAME]
. Si vous avez choisi de déplacer le réseau virtuel vers une nouvelle région, vous devez ignorer cette étape.Recherchez la ressource
"type": "microsoft.devtestlab/labs/virtualmachines"
.Sous « properties », ajoutez
"password": "RANDOM_PASSWORD"
Notes
Une propriété « password » est requise pour créer une nouvelle machine virtuelle. Nous avons entré un mot de passe aléatoire, car nous permuterons ultérieurement le disque du système d’exploitation avec la machine virtuelle d’origine.
Pour les machines virtuelles à IP partagée, ajoutez cet extrait de code sous « properties.networkInterface »,
Machine virtuelle Windows avec RDP :
"networkInterface": { "sharedPublicIpAddressConfiguration": { "inboundNatRules": [ { "transportProtocol": "tcp", "backendPort": 3389 } ] } }
Machine virtuelle Linux avec SSH :
"networkInterface": { "sharedPublicIpAddressConfiguration": { "inboundNatRules": [ { "transportProtocol": "tcp", "backendPort": 22 } ] } }
Sous les ressources
microsoft.devtestlab/labs/users/secrets
, le paramètre suivant est « properties ». RemplacezYOUR_STORED_PASSWORD
par votre mot de passe.Important
Utilisez secureString pour les valeurs de mot de passe.
"value": "YOUR_STORED_PASSWORD"
Sous les ressources
microsoft.devtestlab/labs/artifactsources
, le paramètre suivant est « properties ». RemplacezYOUR_STORED_PASSWORD
par votre mot de passe. properties.networkInterface, utilisez secureString pour les valeurs de mot de passe."securityToken": "YOUR_PAT_TOKEN_VALUE"
Dans l’éditeur, enregistrez le modèle.
Déployer le modèle pour déplacer le labo
Déployez le modèle pour créer un labo dans la région cible.
Dans la page Déploiement personnalisé, mettez à jour tous les paramètres avec les valeurs correspondantes définies dans le modèle.
Saisissez les valeurs suivantes :
Nom Valeur Abonnement Sélectionnez un abonnement Azure. Groupe de ressources Sélectionnez le nom du groupe de ressources que vous avez créé dans la dernière section. Lieu Sélectionnez un emplacement pour le labo. Par exemple, USA Centre. Nom du labo Doit être un autre nom. ID du réseau virtuel Il doit s’agir de celui qui a été déplacé, ou du nouveau que vous avez créé. Sélectionnez Revoir + créer.
Sélectionnez Create (Créer).
Sélectionnez l’icône représentant une cloche (notifications) en haut de l’écran pour afficher l’état du déploiement. Déploiement en cours doit s’afficher. Attendez la fin du déploiement.
Configurer le nouveau labo
Si la plupart des ressources de labo ont été répliquées dans la nouvelle région à l’aide du modèle ARM, quelques modifications doivent encore être déplacées manuellement.
- Rajoutez la Compute Gallery au labo s’il y en a dans l’original.
- Ajoutez les stratégies « Machines virtuelles par utilisateur », « Machines virtuelles par labo » et « Tailles de machines virtuelles autorisées » dans le labo déplacé
Permuter les disques du système d’exploitation des machines virtuelles de calcul sous les nouvelles machines virtuelles
Notez que les machines virtuelles figurant dans le nouveau labo ont les mêmes spécifications que celles de l’ancien labo. La seule différence réside dans leurs disques de système d’exploitation.
Créez un disque vide sous la nouvelle région.
Récupérez le nom du disque de système d’exploitation de machine virtuelle de calcul cible sous le nouveau labo. La machine virtuelle Compute et son disque se trouvent sous le groupe de ressources dans la page de la machine virtuelle du labo.
Utilisez AzCopy pour copier l’ancien contenu du disque dans les disques nouveaux ou vides dans la nouvelle région. Vous pouvez exécuter les commandes PowerShell à partir de votre Dev Box ou d’Azure Cloud Shell.
AzCopy est l’outil recommandé pour déplacer vos données. Elle est optimisée pour les performances. Cette méthode est plus rapide car les données sont copiées directement. AzCopy n’utilise donc pas la bande passante réseau de votre ordinateur. Utilisez AzCopy à la ligne de commande ou dans le cadre d’un script personnalisé. Consultez Bien démarrer avec 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
Après cela, vous disposerez d’un nouveau disque sous la nouvelle région.
- Remplacez le disque de système d’exploitation de la machine virtuelle de calcul dans le nouveau labo par le nouveau disque. Pour savoir comment procéder, consultez l’article « Remplacer le disque du système d’exploitation utilisé par une machine virtuelle Azure à l’aide de PowerShell ».
Déplacer une planification
Il existe deux méthodes pour déplacer une planification :
- Recréez manuellement les planifications sur les machines virtuelles déplacées. Ce processus peut prendre du temps et faire l’objet d’erreurs. Cette approche est surtout utile lorsque vous n’avez que quelques planifications et machines virtuelles.
- Exportez et redéployez les planifications à l’aide de modèles ARM.
Suivez les étapes suivantes pour exporter et redéployer votre planification dans une autre région Azure à l’aide d’un modèle ARM :
Connectez-vous au portail Azure.
Accédez au groupe de ressources source qui contient vos machines virtuelles.
Dans la page Vue d’ensemble du groupe de ressources, sous Ressources, sélectionnez Afficher les types masqués.
Sélectionnez toutes les ressources avec le type microsoft.devtestlab/schedules.
Sélectionnez Exporter le modèle.
Dans la page Exporter le modèle de groupe de ressources, sélectionnez Déployer.
Sélectionnez Modifier le modèle dans la page Déploiement personnalisé.
Dans le code du modèle, modifiez toutes les instances de
"location": "<old location>"
en"location": "<new location>"
, puis sélectionnez Enregistrer.Dans la page Déploiement personnalisé, entrez des valeurs qui correspondent à la machine virtuelle cible :
Name Valeur Abonnement Sélectionnez un abonnement Azure. Groupe de ressources Sélectionnez le nom du groupe de ressources. Région Sélectionnez un emplacement pour la planification de labo. Par exemple, USA Centre. Nom de la planification Doit être un nom global unique. VirtualMachine_xxx_externalId Doit être la machine virtuelle cible. Important
Chaque planification doit avoir un nom global unique ; vous devez modifier le nom de la planification pour le nouvel emplacement.
Sélectionnez Vérifier et créer pour créer le déploiement.
Une fois le déploiement terminé, vérifiez que la nouvelle planification est correctement configurée sur la nouvelle machine virtuelle.
Ignorer ou nettoyer
Après le déploiement, si vous souhaitez recommencer de zéro, supprimez le compte de labo et refaites les étapes décrites dans les sections Préparer et Déplacer de cet article.
Pour valider les modifications et terminer le déplacement, vous devez supprimer le labo d’origine.
Pour supprimer un labo à l’aide du portail Azure :
Sur le portail Azure, développez le menu de gauche pour ouvrir le menu des services, et sélectionnez DevTest Labs pour afficher la liste de labos.
Recherchez le labo cible à supprimer, puis faites un clic droit sur le bouton Plus (...) se trouvant à droite de la liste.
Sélectionnez Supprimer, puis confirmez.
Vous pouvez également choisir de nettoyer les planifications d’origine si elles ne sont plus utilisées. Accédez au groupe de ressources de planification d’origine (où vous avez exporté des modèles à partir de l’étape 5 ci-dessus) et supprimez la ressource de planification.
Étapes suivantes
Dans cet article, vous avez déplacé DevTest Labs d’une région à une autre et nettoyé les ressources d’approvisionnement. Pour en savoir plus sur le déplacement de ressources entre régions et la reprise d’activité après sinistre dans Azure, consultez :