FAQ d’Azure DevTest LabsAzure DevTest Labs FAQ

Obtenez des réponses aux questions les plus fréquemment posées sur Azure DevTest Labs.Get answers to some of the most common questions about Azure DevTest Labs.

Billet de blogBlog post

Notre blog de l'équipe DevTest Labs est fermé depuis 20 mars 2019.Our DevTest Labs Team blog has been retired as of 20 March 2019. 

Où puis-je suivre les mises à jour des fonctionnalités à présent ?Where can I track feature updates from now on?

À partir de maintenant, nous publierons des mises à jour de fonctionnalités et des billets de blog informatifs sur le blog Azure et le site Mises à jour Azure.From now on, we'll be posting feature updates and informative blog posts on the Azure blog and Azure updates. Ces billets de blog contiendront également des liens vers notre documentation si nécessaire.These blog posts will also link to our documentation wherever required.

Abonnez-vous au Blog Azure DevTest Labs et aux mises à jour Azure DevTest Labs pour rester informé sur les nouvelles fonctionnalités dans DevTest Labs.Subscribe to the DevTest Labs Azure Blog and DevTest Labs Azure updates to stay informed about new features in DevTest Labs.

Qu’advidendra-t-il des billets de blog existants ?What happens to the existing blog posts?

Nous travaillons actuellement sur la migration des billets de blog existants (à l’exclusion des informations relatives aux pannes et autres défaillances) vers notre Documentation DevTest Labs.We're currently working on migrating existing blog posts (excluding outage updates) to our DevTest Labs documentation. Lorsque le blog MSDN sera obsolète, il redirigera vers la documentation DevTest Labs.When the MSDN blog is deprecated, it will be redirected to the documentation overview for DevTest Labs. Une fois redirigé, vous pouvez rechercher le titre de l’article de votre choix en utilisant le champ « Filtrer par titre ».Once redirected, you can search for the article you're looking for in the 'Filter by' title. Nous n’avons pas encore migré tous les billets pour le moment, mais nous devrions avoir terminé cette opération d’ici la fin du mois.We haven't migrated all posts yet, but should be done by end of this month. 

Où voir les informations relatives aux pannes et autres défaillances ?Where do I see outage updates?

Désormais, nous publierons ces informations sur notre compte Twitter.We'll be posting outage updates using our Twitter handle from now onwards. Suivez-nous sur Twitter pour obtenir les dernières informations relatives aux pannes et autres défaillances connues.Follow us on Twitter to get latest updates on outages and known bugs.

TwitterTwitter

Notre compte Twitter : @azlabservicesOur Twitter handle: @azlabservices

GénéralitésGeneral

Que dois-je faire si je n’ai pas trouvé de réponse à ma question ici ?What if my question isn't answered here?

Si votre question n’est pas répertoriée ici, faites-le-nous savoir pour que nous puissions vous aider à trouver une réponse.If your question isn't listed here, let us know, so we can help you find an answer.

Qu’est-ce qu’un compte Microsoft ?What is a Microsoft account?

Un compte Microsoft est un compte que vous utilisez pour la plupart des opérations effectuées avec les services et les périphériques Microsoft.A Microsoft account is an account you use for almost everything you do with Microsoft devices and services. Il s’agit d’une adresse e-mail et d’un mot de passe que vous utilisez pour vous connecter à Skype, Outlook.com, OneDrive, Windows Phone, Azure et Xbox Live.It’s an email address and password that you use to sign into Skype, Outlook.com, OneDrive, Windows phone, Azure, and Xbox Live. Quand vous utilisez un compte unique, vos fichiers, photos, contacts et paramètres vous suivent sur n’importe quel appareil.A single account means that your files, photos, contacts, and settings can follow you on any device.

Notes

Auparavant, les comptes Microsoft étaient désignées sous le terme de comptes « Windows Live ID ».A Microsoft account used to be called a Windows Live ID.

Pourquoi dois-je utiliser Azure DevTest Labs ?Why should I use Azure DevTest Labs?

Azure DevTest Labs peut faire gagner du temps et de l’argent à votre équipe.Azure DevTest Labs can save your team time and money. Les développeurs peuvent créer leurs propres environnements à l’aide de plusieurs bases différentes.Developers can create their own environments by using several different bases. Ils peuvent également utiliser des artefacts pour déployer et configurer des applications rapidement.They also can use artifacts to quickly deploy and configure applications. À l’aide de formules et d’images personnalisées, vous pouvez enregistrer des machines virtuelles en tant que modèles et les reproduire facilement au sein de l’équipe.By using custom images and formulas, you can save virtual machines (VMs) as templates, and easily reproduce them across the team. En outre, DevTest Labs offre plusieurs stratégies configurables que les administrateurs de laboratoire peuvent utiliser pour réduire le gaspillage et gérer les environnements d’une équipe.DevTest Labs also offers several configurable policies that lab administrators can use to reduce waste and manage a team's environments. Ces stratégies comprennent l’arrêt automatique, le seuil de coût, le nombre maximal de machines virtuelles par utilisateur et la taille maximale de machine virtuelle.These policies include auto-shutdown, cost threshold, maximum VMs per user, and maximum VM size. Pour plus de détails sur DevTest Labs, consultez la présentation ou la vidéo d’introduction.For a more in-depth explanation of DevTest Labs, see the overview or the introductory video.

Que signifie « libre-service sans problème » ?What does "worry-free self-service" mean?

« Libre-service sans problème » signifie que les développeurs et les testeurs créent leurs propres environnements en fonction des besoins.Worry-free self-service means that developers and testers create their own environments as needed. Les administrateurs ont l’assurance que DevTest Labs peut aider définir les accès adéquats, à réduire le gaspillage et les coûts de contrôle.Administrators have the security of knowing that DevTest Labs can help set the appropriate access, minimize waste and control costs. Les administrateurs peuvent spécifier quelles tailles de machine virtuelle sont autorisées, le nombre maximal de machines virtuelles et le moment où les machines virtuelles sont démarrées et arrêtées.Administrators can specify which VM sizes are allowed, the maximum number of VMs, and when VMs are started and shut down. DevTest Labs facilite également la surveillance des coûts et la définition des alertes afin que vous soyez informé sur l’utilisation des ressources du laboratoire.DevTest Labs also makes it easy to monitor costs and set alerts, to help you stay aware of how lab resources are being used.

Comment puis-je Azure DevTest Labs ?How can I use DevTest Labs?

DevTest Labs vous est utile dès que vous voulez créer des environnements de test ou de développement, les reproduire ou les gérer rapidement à l’aide des stratégies de réduction des coûts.DevTest Labs is useful anytime you require dev or test environments, and want to reproduce them quickly, or manage them by using cost-saving policies. Voici quelques scénarios pour lesquels nos clients utilisent DevTest Labs :Here are some scenarios that our customers use DevTest Labs for:

  • Gérer les environnements de développement et de test en un seul emplacement.Manage dev and test environments in one place. Utiliser des stratégies pour réduire les coûts et créer des images personnalisées pour partager des builds au sein de l’équipe.Use policies to reduce costs and create custom images to share builds across the team.
  • Développer une application à l’aide d’images personnalisées pour enregistrer l’état du disque tout au long des étapes de développement.Develop an application by using custom images to save the disk state throughout the development stages.
  • Suivre les coûts par rapport à la progression.Track cost in relation to progress.
  • Créer des environnements de test en série pour des tests d’assurance qualité.Create mass test environments for quality assurance testing.
  • Utiliser des artefacts et des formules pour configurer et reproduire facilement une application dans divers environnements.Use artifacts and formulas to easily configure and reproduce an application in various environments.
  • Distribuer des machines virtuelles pour des hackathons (travail de test ou de développement collaboratif), puis les déprovisionner facilement quand l’événement se termine.Distribute VMs for hackathons (collaborative dev or test work), and then easily deprovision them when the event ends.

Combien me coûte DevTest Labs ?How am I billed for DevTest Labs?

DevTest Labs est un service gratuit.DevTest Labs is a free service. La création de laboratoires et la configuration de stratégies, de modèles et d’artefacts dans DevTest Labs ne coûtent rien.Creating labs and configuring policies, templates, and artifacts in DevTest Labs is free. Vous payez uniquement pour les ressources Azure utilisées dans vos laboratoires, telles que les machines virtuelles, les comptes de stockage et les réseaux virtuels.You pay only for the Azure resources used in your labs, such as VMs, storage accounts, and virtual networks. Pour plus de détails sur le coût des ressources de laboratoire, consultez la page sur la tarification Azure DevTest Labs.For more information about the cost of lab resources, see Azure DevTest Labs pricing.

SécuritéSecurity

Quels sont les différents niveaux de sécurité dans DevTest Labs ?What are the different security levels in DevTest Labs?

L’accès à la sécurité est déterminé par le contrôle d’accès en fonction du rôle (RBAC).Security access is determined by Role-Based Access Control (RBAC). Pour savoir comment l’accès est déterminé, vous devez saisir les différences entre une autorisation, un rôle et une étendue, comme défini par RBAC.To learn how access works, it helps to learn the differences between a permission, a role, and a scope, as defined by RBAC.

  • Permission : Une autorisation est un accès défini pour une action spécifique.Permission: A permission is a defined access to a specific action. Par exemple, une autorisation peut être en lecture seule pour toutes les machines virtuelles.For example, a permission can be read access to all VMs.
  • Rôle : Un rôle est un jeu d’autorisations qui peuvent être regroupées et attribuées à un utilisateur.Role: A role is a set of permissions that can be grouped and assigned to a user. Par exemple, un utilisateur détenteur du rôle propriétaire de l’abonnement a accès à toutes les ressources au sein d’un abonnement.For example, a user with a subscription owner role has access to all resources within a subscription.
  • Étendue : Une étendue est un niveau dans la hiérarchie d’une ressource Azure.Scope: A scope is a level within the hierarchy of an Azure resource. Par exemple, une étendue peut être un groupe de ressources, un même laboratoire ou l’ensemble de l’abonnement.For example, a scope can be a resource group, a single lab, or the entire subscription.

Dans l’étendue de DevTest Labs, il existe deux types de rôles qui définissent des autorisations utilisateur :Within the scope of DevTest Labs, there are two types of roles that define user permissions:

  • Propriétaire de laboratoire : Un propriétaire de laboratoire a accès à toutes les ressources du laboratoire.Lab owner: A lab owner has access to all resources in the lab. Le propriétaire d’un laboratoire peut modifier les stratégies, lire et écrire sur toutes les machines virtuelles, changer le réseau virtuel et ainsi de suite.A lab owner can modify policies, read and write to any VMs, change the virtual network, and so on.
  • Utilisateur de laboratoire : Un utilisateur de laboratoire peut afficher toutes les ressources de laboratoire, telles que les machines virtuelles, les stratégies et les réseaux virtuels.Lab user: A lab user can view all lab resources, such as VMs, policies, and virtual networks. Cependant, il ne peut pas modifier les stratégies ou les machines virtuelles créées par d’autres utilisateurs.However, a lab user can't modify policies or any VMs that were created by other users.

Vous pouvez également créer des rôles personnalisés dans DevTest Labs.You also can create custom roles in DevTest Labs. Pour découvrir comment créer des rôles personnalisés dans DevTest Labs, consultez Accorder des autorisations à des utilisateurs sur des stratégies de laboratoire spécifiques.To learn how to create custom roles in DevTest Labs, see Grant user permissions to specific lab policies.

Étant donné que les étendues sont hiérarchiques, quand un utilisateur dispose d’autorisations pour une certaine étendue, il reçoit automatiquement ces autorisations pour chaque niveau d’étendue inférieur dans l’étendue.Because scopes are hierarchical, when a user has permissions at a certain scope, the user is automatically granted those permissions at every lower-level scope in the scope. Par exemple, si un utilisateur se voit affecter le rôle de propriétaire d’abonnement, il a accès à toutes les ressources dans un abonnement.For instance, if a user is assigned the role of subscription owner, the user has access to all resources in a subscription. Ces ressources incluent les machines virtuelles, les réseaux virtuels et les laboratoires.These resources include VMs, virtual networks, and labs. Un propriétaire d’abonnement hérite automatiquement du rôle de propriétaire de laboratoire.A subscription owner automatically inherits the role of lab owner. Toutefois, l’inverse n’est pas vrai.However, the opposite is not true. Un propriétaire de laboratoire a accès à un laboratoire, qui est une étendue inférieure au niveau d’abonnement.A lab owner has access to a lab, which is a lower scope than the subscription level. Ainsi, un propriétaire de laboratoire ne peut pas voir les machines virtuelles, les réseaux virtuels ou toutes les autres ressources qui sont en dehors du laboratoire.So, a lab owner can't see VMs, virtual networks, or any other resources that are outside the lab.

Comment définir le contrôle d’accès en fonction du rôle pour les environnements DevTest Labs afin de garantir la gouvernance de l’informatique pendant le travail des développeurs/testeurs ?How do I define role-based access control for my DevTest Labs environments to ensure that IT can govern while developers/test can do their work?

Il existe un modèle assez large, mais le détail dépend de votre organisation.There is a broad pattern, however the detail depends on your organization.

Le centre informatique doit posséder uniquement ce qui est nécessaire et donner aux équipes de projet et d’application le niveau de contrôle dont elles ont besoin.Central IT should own only what is necessary and enable the project and application teams to have the needed level of control. En règle générale, cela signifie que le centre informatique possède l’abonnement et gère les fonctions informatiques clés telles que les configurations de mise en réseau.Typically, it means that central IT owns the subscription and handles core IT functions such as networking configurations. L’ensemble de propriétaires pour un abonnement doit être réduit.The set of owners for a subscription should be small. Ces propriétaires peuvent désigner des propriétaires supplémentaires, si nécessaire, ou appliquer des stratégies de niveau abonnement, par exemple « aucune adresse IP publique ».These owners can nominate additional owners when there's a need, or apply subscription-level policies, for example “No Public IP”.

Un sous-ensemble d’utilisateurs peut nécessiter un accès à un abonnement, comme le support de niveau 1 ou 2.There may be a subset of users that require access across a subscription, such as Tier1 or Tier 2 support. Dans ce cas, nous vous recommandons d’accorder à ces utilisateurs l’accès contributeur afin qu’ils puissent gérer les ressources, mais pas attribuer des accès aux utilisateurs ou ajuster les stratégies.In this case, we recommend that you give these users the contributor access so that they can manage the resources, but not provide user access or adjust policies.

La ressource DevTest Labs doit appartenir à des propriétaires proches de l’équipe de projet/d’application,The DevTest Labs resource should be owned by owners who are close to the project/application team. car ils comprennent leurs exigences en matière de machines et de logiciels requis.It's because they understand their requirements for machines, and required software. Dans la plupart des organisations, le propriétaire de cette ressource DevTest Labs est souvent le responsable de projet/développement.In most organizations, the owner of this DevTest Labs resource is commonly the project/development lead. Ce propriétaire peut gérer les utilisateurs et les stratégies dans l’environnement de laboratoire, ainsi que toutes les machines virtuelles dans l’environnement DevTest Labs.This owner can manage users and policies within the lab environment and can manage all VMs in the DevTest Labs environment.

Les membres de l’équipe de projet/d’application doivent être ajoutés au rôle Utilisateurs de DevTest Labs.The project/application team members should be added to the DevTest Labs Users role. Ces utilisateurs peuvent créer des machines virtuelles (alignées sur les stratégies du laboratoire et de l’abonnement).These users can create virtual machines (in-line with the lab and subscription-level policies). Ils peuvent également gérer leurs propres machines virtuelles.They can also manage their own virtual machines. Ils ne peuvent pas gérer les machines virtuelles qui appartiennent à d’autres utilisateurs.They can't manage virtual machines that belong to other users.

Pour plus d’informations, consultez la documentation Structure d’entreprise Azure : gouvernance normative de l’abonnement.For more information, see Azure enterprise scaffold – prescriptive subscription governance documentation.

Comment faire pour créer un rôle pour permettre aux utilisateurs d’effectuer une tâche spécifique ?How do I create a role to allow users to do a specific task?

Pour savoir comment créer des rôles personnalisés et assigner des autorisations à un rôle, consultez l’article complet Accorder des autorisations à des utilisateurs sur des stratégies de laboratoire spécifiques.For a comprehensive article about how to create custom roles and assign permissions to a role, see Grant user permissions to specific lab policies. Voici un exemple de script qui crée le rôle Utilisateur avancé DevTest Labs, qui a l’autorisation de démarrer et d’arrêter toutes les machines virtuelles dans le laboratoire :Here's an example of a script that creates the role DevTest Labs Advanced User, which has permission to start and stop all VMs in the lab:

$policyRoleDef = Get-AzRoleDefinition "DevTest Labs User"
$policyRoleDef.Actions.Remove('Microsoft.DevTestLab/Environments/*')
$policyRoleDef.Id = $null
$policyRoleDef.Name = "DevTest Labs Advanced User"
$policyRoleDef.IsCustom = $true
$policyRoleDef.AssignableScopes.Clear()
$policyRoleDef.AssignableScopes.Add("subscriptions/<subscription Id>")
$policyRoleDef.Actions.Add("Microsoft.DevTestLab/labs/virtualMachines/Start/action")
$policyRoleDef.Actions.Add("Microsoft.DevTestLab/labs/virtualMachines/Stop/action")
$policyRoleDef = New-AzRoleDefinition -Role $policyRoleDef  

Comment une organisation peut-elle veiller à la mise en place des stratégies de sécurité de l’entreprise ?How can an organization ensure corporate security policies are in place?

Une organisation peut s’en charger en prenant les mesures suivantes :An organization may achieve it by doing the following actions:

  • Élaboration et publication d’une stratégie de sécurité exhaustive.Developing and publishing a comprehensive security policy. La stratégie énonce les règles d’utilisation acceptable en ce qui a trait à l’utilisation des logiciels et des ressources du cloud.The policy articulates the rules of acceptable use associated with the using software, cloud assets. Elle définit également ce qui la contrevient de façon évidente.It also defines what clearly violates the policy.
  • Développer une image personnalisée, des artefacts personnalisés et un processus de déploiement permettant l’orchestration dans le domaine de la sécurité qui est défini avec un répertoire actif.Develop a custom image, custom artifacts, and a deployment process that allows for orchestration within the security realm that is defined with active directory. Cette démarche permet de faire respecter les limites de l’entreprise et d’établir un ensemble commun de contrôles en matière d’environnement.This approach enforces the corporate boundary and sets a common set of environmental controls. Il s’agit des contrôles relatifs à l’environnement qu’un développeur peut prendre en compte dans le cadre de l’élaboration et du suivi d’un cycle de vie de développement sécurisé dans l’ensemble de son processus.These controls against the environment a developer can consider as they develop and follow a secure development lifecycle as part of their overall process. L’objectif n’est pas de fournir un environnement qui soit trop contraignant et susceptible d’entraver le développement, mais un ensemble raisonnable de contrôles.The objective also is to provide an environment that isn't overly restrictive that may hinder development, but a reasonable set of controls. Les stratégies de groupe de l’unité d’organisation (OU) qui héberge les machines virtuelles du laboratoire peuvent constituer un sous-ensemble de toutes les stratégies de groupe qui se trouvent en production.The group policies at the organization unit (OU) that contains lab virtual machines could be a subset of the total group policies that are found in production. Elles peuvent également constituer un ensemble supplémentaire permettant de limiter de façon appropriée tous les risques identifiés.Alternatively, they can be an additional set to properly mitigate any identified risks.

Comment une organisation peut-elle garantir l’intégrité des données de telle sorte que les développeurs distants ne puissent ni supprimer du code ni installer de logiciels malveillants ou non approuvés ?How can an organization ensure data integrity to ensure that remoting developers can't remove code or introduce malware or unapproved software?

Il existe plusieurs niveaux de contrôle pour atténuer les risques liés aux consultants externes, aux entrepreneurs ou aux employés qui se connectent à distance afin de collaborer dans DevTest Labs.There are several layers of control to mitigate the threat from external consultants, contractors, or employees that are remoting in to collaborate in DevTest Labs.

Comme indiqué précédemment, la première étape consiste à élaborer et à définir une stratégie d’utilisation acceptable qui décrit clairement les sanctions en cas de violation de celle-ci.As stated previously, the first step must have an acceptable use policy drafted and defined that clearly outlines the consequences when someone violates the policy.

La première couche de contrôles de l’accès à distance consiste à appliquer une stratégie d’accès à distance via une connexion VPN qui n’est pas directement connectée au laboratoire.The first layer of controls for remote access is to apply a remote access policy through a VPN connection that isn't directly connected to the lab.

La deuxième couche de contrôles consiste à appliquer un ensemble d’objets de stratégie de groupe qui empêchent de copier-coller sur le bureau distant.The second layer of controls is to apply a set of group policy objects that prevent copy and paste through remote desktop. Une stratégie de réseau peut être implémentée afin de ne pas autoriser les services sortants de l’environnement comme les services FTP et RDP ne faisant pas partie de l’environnement.A network policy could be implemented to not allow outbound services from the environment such as FTP and RDP services out of the environment. Le routage défini par l’utilisateur peut contraindre l’ensemble du trafic réseau Azure à revenir en local, mais le routage ne peut pas tenir compte de toutes les URL susceptibles d’autoriser des téléchargements de données sans un contrôle via proxy permettant d’analyser les contenus et les sessions.User-defined routing could force all Azure network traffic back to on-premises, but the routing couldn't account for all URLs that might allow uploading of data unless controlled through a proxy to scan content and sessions. Les adresses IP publiques peuvent être restreintes au sein du réseau virtuel prenant en charge DevTest Labs afin d’éviter le pontage d’une ressource réseau externe.Public IPs could be restricted within the virtual network supporting DevTest Labs to not allow bridging of an external network resource.

En définitive, le même type de restrictions doit être appliqué dans toute l’organisation qui doit également tenir compte de toutes les méthodes possibles de supports amovibles ou d’URL externes susceptibles d’accepter une publication de contenu.Ultimately, the same type of restrictions needs to be applied across the organization, which would account for all possible methods of removable media or external URLs that could accept a post of content. Consultez votre professionnel de la sécurité afin d’examiner et de mettre en œuvre une stratégie en matière de sécurité.Consult with your security professional to review and implement a security policy. Pour obtenir davantage de suggestions, consultez la section Cybersécurité Microsoft.For more recommendations, see Microsoft Cyber Security.

Configuration du laboratoireLab configuration

Comment puis-je créer un laboratoire à partir d’un modèle Resource Manager ?How do I create a lab from a Resource Manager template?

Nous offrons un dépôt GitHub de modèles Azure Resource Manager de laboratoire que vous pouvez déployer tels quels ou modifier pour créer des modèles personnalisés pour vos laboratoires.We offer a GitHub repository of lab Azure Resource Manager templates that you can deploy as-is or modify to create custom templates for your labs. À chaque modèle est associé un lien que vous pouvez utiliser pour déployer le laboratoire tel quel dans votre propre abonnement Azure.Each template has a link to deploy the lab as it's in your own Azure subscription. Ou bien, vous pouvez personnaliser le modèle et effectuer le déploiement à l’aide de PowerShell ou de l’interface de ligne de commande Azure.Or, you can customize the template and deploy by using PowerShell or Azure CLI.

Puis-je créer toutes les machines virtuelles dans un groupe de ressources commun au lieu d'avoir chaque machine dans son propre groupe de ressources ?Can I have all virtual machines to be created in a common resource group instead having each machine in its own resource group?

Oui, en tant que propriétaire de laboratoire, vous pouvez soit laisser le laboratoire gérer l'attribution des groupes de ressources pour vous, soit faire créer toutes les machines virtuelles dans un groupe de ressources commun que vous spécifiez.Yes, as a lab owner, you can either let the lab handle resource group allocation for you or have all virtual machines created in a common resource group that you specify.

Scénario de groupe de ressources distinct :Separate resource group scenario:

  • DevTest Labs crée un groupe de ressources pour chaque machine virtuelle d’IP publique/privée que vous lancezDevTest Labs creates a new resource group for every public/private IP virtual machine you spin up
  • DevTest Labs crée un groupe de ressources pour les machines d’IP partagées qui appartiennent à la même taille.DevTest Labs creates a resource group for shared IP machines that belong to the same size.

Scénario de groupe de ressources courant :Common resource group scenario:

Comment gérer une convention d’affectation de noms au sein de mon environnement DevTest Labs ?How do I maintain a naming convention across my DevTest Labs environment?

Vous souhaitez peut-être appliquer les conventions d’affectation de noms actuelles aux opérations d’Azure, et les rendre cohérentes au sein de l’environnement DevTest Labs.You may want to extend current enterprise naming conventions to Azure operations and make them consistent across the DevTest Labs environment. Lors du déploiement de DevTest Labs, nous vous recommandons de disposer de stratégies de démarrage spécifiques.When deploying DevTest Labs, we recommend that you have specific starting policies. Pour déployer ces stratégies, vous utilisez un script central et des modèles JSON qui permettent d’assurer la cohérence.You deploy these policies by a central script and JSON templates to enforce consistency. Les stratégies d’affectation de noms peuvent être implémentées par le biais des stratégies Azure appliquées au niveau de l’abonnement.Naming policies can be implemented through Azure policies applied at the subscription level. Pour accéder à des exemples JSON pour Azure Policy, consultez la section Exemples Azure Policy.For JSON samples for Azure Policy, see Azure Policy samples.

Combien de laboratoires puis-je créer sous le même abonnement ?How many labs can I create under the same subscription?

Il n’existe pas de limite spécifique concernant le nombre de laboratoires qui peuvent être créés par abonnement.There isn't a specific limit on the number of labs that can be created per subscription. Toutefois, la quantité de ressources utilisées par abonnement est limitée.However, the amount of resources used per subscription is limited. Vous pouvez consulter des articles pour en savoir plus sur les quotas et les limites associés aux abonnements Azure et sur la façon d’augmenter ces limites.You can read about the limits and quotas for Azure subscriptions and how to increase these limits.

Combien de machines virtuelles puis-je créer par laboratoire ?How many VMs can I create per lab?

Il n’existe aucune limite spécifique concernant le nombre de machines virtuelles qui peuvent être créées par laboratoire.There is no specific limit on the number of VMs that can be created per lab. Toutefois, les ressources (cœurs de machines virtuelles, adresses IP publiques, etc.) utilisées sont limitées par abonnement.However, the resources (VM cores, public IP addresses, and so on) that are used are limited per subscription. Vous pouvez consulter des articles pour en savoir plus sur les quotas et les limites associés aux abonnements Azure et sur la façon d’augmenter ces limites.You can read about the limits and quotas for Azure subscriptions and how to increase these limits.

Comment faire pour déterminer le taux d’utilisateurs par laboratoire et le nombre total de laboratoires nécessaires dans une organisation ?How do I determine the ratio of users per lab and the overall number of labs that are needed across an organization?

Nous recommandons que les unités commerciales et les groupes de développement associés au même projet de développement soient rattachés au même laboratoire.We recommend that business units and development groups that are associated with the same development project are associated with the same lab. Cela permet d’appliquer les mêmes types de stratégies, d’images et de stratégies d’arrêt aux deux groupes.It allows for same types of policies, images, and shutdown policies to be applied to both groups.

Vous serez peut-être amené à prendre en compte des limites géographiques.You may also need to consider geographic boundaries. Par exemple, les développeurs du nord-est des États-Unis (US) peuvent utiliser un laboratoire configuré dans USA Est2.For example, developers in the North East United States (US) may use a lab provisioned in East US2. Par ailleurs, les développeurs de Dallas (Texas) et Denver (Colorado) peuvent être redirigés afin d’utiliser une ressource de USA Centre Sud.And, developers in Dallas, Texas, and Denver, Colorado may be directed to use a resource in US South Central. S’il existe un travail collaboratif avec un tiers externe, les développeurs peuvent être affectés à un laboratoire qui n’est pas utilisé par les développeurs internes.If there is a collaborative effort with an external third party, they could be assigned to a lab that is not used by internal developers.

Vous pouvez également utiliser un labo pour un projet spécifique au sein d’Azure DevOps Projects.You may also use a lab for a specific project within Azure DevOps Projects. Vous appliquez ensuite la sécurité via un groupe Azure Active Directory spécifié, qui autorise l’accès aux deux ensembles de ressources.Then, you apply security through a specified Azure Active Directory group, which allows access to both set of resources. Le réseau virtuel attribué au laboratoire peut constituer une autre limite permettant de consolider les utilisateurs.The virtual network assigned to the lab can be another boundary to consolidate users.

Comment empêcher la suppression des ressources au sein d’un laboratoire ?How can we prevent the deletion of resources within a lab?

Nous vous recommandons de définir des autorisations appropriées au niveau du laboratoire afin que seuls les utilisateurs autorisés puissent supprimer des ressources ou modifier les stratégies de laboratoire.We recommend that you set proper permissions at the lab level so that only authorized users can delete resources or change lab policies. Les développeurs doivent être placés dans le groupe DevTest Labs Users (Utilisateurs DevTest Labs).Developers should be placed within the DevTest Labs Users group. Le développeur en chef ou le responsable de l’infrastructure doit correspondre au titre de DevTest Labs Owner (Propriétaire DevTest Labs).The lead developer or the infrastructure lead should be the DevTest Labs Owner. Nous vous conseillons de ne pas avoir plus de deux propriétaires de laboratoire.We recommend you have only two lab owners. Cette stratégie s’étend au référentiel de code pour éviter toute corruption.This policy extends towards the code repository to avoid corruption. Les utilisateurs du laboratoire sont autorisés à se servir des ressources, mais ne peuvent pas mettre à jour des stratégies de laboratoire.Lab users have rights to use resources but can't update lab policies. Consultez l’article suivant, qui répertorie les rôles et les droits dont chaque groupe intégré dispose au sein d’un laboratoire : Ajouter des propriétaires et des utilisateurs dans Azure DevTest Labs.See the following article that lists the roles and rights that each built-in group has within a lab: Add owners and users in Azure DevTest Labs.

  1. Dans le Portail Microsoft Azure, accédez au laboratoire.In the Azure portal, go to the lab.
  2. Copiez l’URL du laboratoire dans votre navigateur, puis partagez-la avec les utilisateurs de votre laboratoire.Copy the lab URL from your browser, and then share it with your lab users.

Notes

Si un utilisateur du laboratoire est un utilisateur externe qui a un compte Microsoft, mais qui n’est pas membre de l’instance Active Directory de votre organisation, il peut voir un message d’erreur quand il tente d’accéder au lien partagé.If a lab user is an external user who has a Microsoft account, but who is not a member of your organization's Active Directory instance, the user might see an error message when they try to access the shared link. Si un utilisateur externe voit un message d’erreur, demandez-lui de sélectionner d’abord son nom dans le coin supérieur droit du portail Azure.If an external user sees an error message, ask the user to first select their name in the upper-right corner of the Azure portal. Ensuite, dans la section Annuaire du menu, l’utilisateur peut sélectionner l’annuaire où se trouve le laboratoire.Then, in the Directory section of the menu, the user can select the directory where the lab exists.

Machines virtuellesVirtual machines

Pourquoi ne puis-je pas voir certaines machines virtuelles dans la page Machines virtuelles alors que je peux les voir dans DevTest Labs ?Why can't I see VMs on the Virtual Machines page that I see in DevTest Labs?

Quand vous créez une machine virtuelle dans DevTest Labs, l’autorisation d’accéder à cette machine virtuelle vous est accordée.When you create a VM in DevTest Labs, you're given permission to access that VM. Vous pouvez voir la machine virtuelle à la fois dans la page Laboratoires et dans la page Machines virtuelles.You can view the VM both on the labs page and on the Virtual Machines page. Les utilisateurs assignés au rôle DevTest Labs Owner (Propriétaire DevTest Labs) peuvent voir toutes les machines virtuelles qui ont été créées dans le laboratoire dans la page panneau All Virtual Machines (Toutes les machines virtuelles) du laboratoire.Users assigned to the DevTest Labs Owner role can see all VMs that were created in the lab on the lab's All Virtual Machines page. Toutefois, les utilisateurs détenteurs du rôle DevTest Labs User (Utilisateur de laboratoire DevTest Labs) ne reçoivent pas automatiquement l’accès en lecture aux ressources des machines virtuelles créées par d’autres utilisateurs.However, users who have the DevTest Labs User role are not automatically granted read access to VM resources that other users have created. Ainsi, ces machines virtuelles ne sont pas affichées dans la page Machines virtuelles.So, those VMs are not displayed on the Virtual Machines page.

Comment puis-je créer plusieurs machines virtuelles à partir du même modèle en une seule fois ?How do I create multiple VMs from the same template at once?

Vous avez deux options pour créer simultanément plusieurs machines virtuelles à partir du même modèle :You have two options for simultaneously creating multiple VMs from the same template:

Comment puis-je déplacer mes machines virtuelles Azure existantes dans mon laboratoire DevTest Labs ?How do I move my existing Azure VMs into my DevTest Labs lab?

Pour copier vos machines virtuelles existantes vers DevTest Labs :To copy your existing VMs to DevTest Labs:

  1. Copiez le fichier de disque dur virtuel de votre machine virtuelle existante à l’aide d’un script Windows PowerShell.Copy the VHD file of your existing VM by using a Windows PowerShell script.
  2. Créez l’image personnalisée dans votre laboratoire DevTest Labs.Create the custom image inside your DevTest Labs lab.
  3. Créez une machine virtuelle dans le laboratoire à partir de votre image personnalisée.Create a VM in the lab from your custom image.

Puis-je attacher plusieurs disques à mes machines virtuelles ?Can I attach multiple disks to my VMs?

Oui, vous pouvez attacher plusieurs disques à vos machines virtuelles.Yes, you can attach multiple disks to your VMs.

Si je souhaite utiliser une image de système d’exploitation Windows pour mon test, dois-je acheter un abonnement MSDN ?If I want to use a Windows OS image for my testing, do I have to purchase an MSDN subscription?

Pour utiliser des images de système d’exploitation client Windows (Windows 7 ou une version ultérieure) à des fins de développement ou de test dans Azure, vous devez suivre l’une de ces procédures :To use Windows client OS images (Windows 7 or a later version) for your development or testing in Azure, take one of the following steps:

Pour plus d’informations sur les crédits Azure pour chaque offre de MSDN, consultez Crédit Azure mensuel pour les abonnés Visual Studio.For more information about the Azure credits for each MSDN offering, see Monthly Azure credit for Visual Studio subscribers.

Comment puis-je automatiser le processus de suppression de toutes les machines virtuelles dans mon laboratoire ?How do I automate the process of deleting all the VMs in my lab?

En tant que propriétaire du laboratoire, vous pouvez supprimer des machines virtuelles de votre laboratoire dans le Portail Microsoft Azure.As a lab owner, you can delete VMs from your lab in the Azure portal. Vous pouvez également supprimer toutes les machines virtuelles de votre laboratoire à l’aide d’un script PowerShell.You also can delete all the VMs in your lab by using a PowerShell script. Dans l’exemple suivant, sous le commentaire Values to change (Valeurs à changer), modifiez les valeurs des paramètres.In the following example, under the values to change comment, modify the parameter values. Vous pouvez récupérer les valeurs subscriptionId, labResourceGroup et labName à partir du volet Laboratoire du Portail Microsoft Azure.You can retrieve the subscriptionId, labResourceGroup, and labName values from the lab pane in the Azure portal.

# Delete all the VMs in a lab.

# Values to change:
$subscriptionId = "<Enter Azure subscription ID here>"
$labResourceGroup = "<Enter lab's resource group here>"
$labName = "<Enter lab name here>"

# Sign in to your Azure account.
Connect-AzAccount

# Select the Azure subscription that has the lab. This step is optional
# if you have only one subscription.
Select-AzSubscription -SubscriptionId $subscriptionId

# Get the lab that has the VMs that you want to delete.
$lab = Get-AzResource -ResourceId ('subscriptions/' + $subscriptionId + '/resourceGroups/' + $labResourceGroup + '/providers/Microsoft.DevTestLab/labs/' + $labName)

# Get the VMs from that lab.
$labVMs = Get-AzResource | Where-Object {
          $_.ResourceType -eq 'microsoft.devtestlab/labs/virtualmachines' -and
          $_.Name -like "$($lab.Name)/*"}

# Delete the VMs.
foreach($labVM in $labVMs)
{
    Remove-AzResource -ResourceId $labVM.ResourceId -Force
}

EnvironnementsEnvironments

Comment puis-utiliser des modèles Resource Manager dans mon environnement DevTest Labs ?How can I use Resource Manager templates in my DevTest Labs Environment?

Vous déployez vos modèles Resource Manager dans un environnement DevTest Labs en suivant les étapes décrites dans l’article Utiliser Azure DevTest Labs pour les environnements de test de machine virtuelle et PaaS.You deploy your Resource Manager templates into a DevTest Labs environment by using steps mentioned in the Environments feature in DevTest Labs article. Globalement, vous intégrez vos modèles Resource Manager dans un référentiel Git (Azure Repos ou GitHub), et ajoutez un référentiel privé pour vos modèles au labo.Basically, you check your Resource Manager templates into a Git Repository (either Azure Repos or GitHub), and add a private repository for your templates to the lab. Ce scénario peut ne pas répondre à vos besoins si vous hébergez des machines de développement dans DevTest Labs, mais il peut être utile si vous créez un environnement intermédiaire représentatif de l’environnement de production.This scenario may not be useful if you're using DevTest Labs to host development machines but may be useful if you're building a staging environment, which is representative of production.

Notez également que le nombre de machines virtuelles par labo ou par option d’utilisateur ne limite que le nombre de machines créées dans le labo et non par les environnements (modèles Resource Manager).It's also worth noting that the number of virtual machines per lab or per user option only limits the number of machines natively created in the lab itself, and not by any environments (Resource Manager templates).

Images personnaliséesCustom Images

Comment puis-je créer un processus facilement répétable pour intégrer mes images organisationnelles personnalisées dans un environnement DevTest Labs ?How can I set up an easily repeatable process to bring my custom organizational images into a DevTest Labs environment?

Regardez cette vidéo sur le modèle Image Factory.See this video on Image Factory pattern. Ce scénario est avancé et les scripts fournis le sont à titre d’exemple.This scenario is an advanced scenario, and the scripts provided are sample scripts only. Si des modifications s’imposent, vous devez gérer et actualiser les scripts utilisés dans votre environnement.If any changes are required, you need to manage and maintain the scripts used in your environment.

Pour plus d’informations sur la création d’un modèle Image Factory, consultez créer un modèle Image Factory personnalisé dans Azure DevTest Labs.For detailed information on creating an image factory, see Create a custom image factory in Azure DevTest Labs.

Quelle est la différence entre une image personnalisée et une formule ?What is the difference between a custom image and a formula?

Une image personnalisée est une image managée.A custom image is a managed image. Une formule est une image que vous pouvez configurer avec des paramètres supplémentaires, puis enregistrer et reproduire.A formula is an image that you can configure with additional settings, and then save and reproduce. Une image personnalisée peut être préférable si vous souhaitez créer rapidement plusieurs environnements à l’aide de la même image de base, immuable.A custom image might be preferable if you want to quickly create several environments by using the same basic, immutable image. Une formule peut être préférable si vous souhaitez reproduire la configuration de votre machine virtuelle avec les tout derniers bits, dans le cadre d’un sous-réseau ou d’un réseau virtuel ou pour obtenir une machine virtuelle d’une taille spécifique.A formula might be better if you want to reproduce the configuration of your VM with the latest bits, as part of a virtual network or subnet, or as a VM of a specific size. Pour plus de détails, consultez Comparaison entre les images personnalisées et les formules dans DevTest Labs.For a more in-depth explanation, see Comparing custom images and formulas in DevTest Labs.

Quand dois-je utiliser une formule ou une image personnalisée ?When should I use a formula vs. custom image?

En général, les facteurs décisifs dans ce scénario sont le coût et la réutilisation.Typically, the deciding factor in this scenario is cost and reuse. Si, dans votre situation, de nombreux utilisateurs/laboratoires requièrent une image avec beaucoup de logiciels sur l’image de base, vous pouvez réduire les coûts en créant une image personnalisée.If you have a scenario where many users/labs require an image with a lot of software on top of the base image, then you could reduce costs by creating a custom image. Cela signifie que l’image est créée une seule fois.It means that the image is created once. Elle réduit la durée de configuration de la machine virtuelle et le coût lié à l’exécution de la machine virtuelle pendant la configuration.It reduces the setup time of the virtual machine and the cost incurred due to the virtual machine running when setup occurs.

Cependant, la fréquence des modifications apportées à votre package logiciels est un facteur supplémentaire à prendre en compte.However, an additional factor to note is the frequency of changes to your software package. Si vous générez des builds quotidiennes et s’il faut que les logiciels résident sur les machines virtuelles de vos utilisateurs, envisagez d’utiliser une formule au lieu d’une image personnalisée.If you run daily builds and require that software to be on your users’ virtual machines, consider using a formula instead of a custom image.

Pour plus de détails, consultez Comparaison entre les images personnalisées et les formules dans DevTest Labs.For a more in-depth explanation, see Comparing custom images and formulas in DevTest Labs.

Comment puis-je automatiser le processus de téléchargement des fichiers de disque dur virtuel pour créer des images personnalisées ?How do I automate the process of uploading VHD files to create custom images?

Pour automatiser le chargement des fichiers de VHD afin de créer des images personnalisées, vous avez deux options :To automate uploading VHD files to create custom images, you have two options:

  • Utiliser AzCopy pour copier ou charger des fichiers de VHD sur le compte de stockage qui est associé au laboratoire.Use AzCopy to copy or upload VHD files to the storage account that's associated with the lab.
  • Utiliser l’explorateur de stockage Azure.Use Azure Storage Explorer. L’Explorateur de stockage est une application autonome qui s’exécute sur Windows, OSX et Linux.Storage Explorer is a standalone app that runs on Windows, OS X, and Linux.

Pour trouver le compte de stockage de destination associé à votre laboratoire :To find the destination storage account that's associated with your lab:

  1. Connectez-vous au Portail Azure.Sign in to the Azure portal.
  2. Dans le menu de gauche, sélectionnez Groupes de ressources.On the left menu, select Resource Groups.
  3. Recherchez et sélectionnez le groupe de ressources associé à votre laboratoire.Find and select the resource group that's associated with your lab.
  4. Sous Vue d’ensemble, sélectionnez l’un des comptes de stockage.Under Overview, select one of the storage accounts.
  5. Sélectionnez Objets Blob.Select Blobs.
  6. Recherchez les téléchargements dans la liste.Look for uploads in the list. S’il n’y en a aucun, revenez à l’étape 4 et essayez un autre compte de stockage.If none exists, return to step 4 and try another storage account.
  7. Utilisez l’URL en tant que destination dans votre commande AzCopy.Use the URL as the destination in your AzCopy command.

Quand dois-je utiliser une image Place de marché Microsoft Azure ou une image organisationnelle personnalisée ?When should I use an Azure Marketplace image vs. my own custom organizational image?

Quand dois-je utiliser une image Place de marché Microsoft Azure ou une image organisationnelle personnalisée ?When should I use an Azure Marketplace image vs. my own custom organizational image?

Par défaut, utilisez une image Place de marché Azure, sauf si vous avez des impératifs particuliers ou des exigences organisationnelles.Azure Marketplace should be used by default unless you have specific concerns or organizational requirements. Voici quelques exemples communs :Some common examples include;

  • Configuration logicielle complexe qui requiert l’intégration d’une application dans l’image de base.Complex software setup that requires an application to be included as part of the base image.
  • L’installation et la configuration d’une application peut prendre plusieurs heures, ce qui retarde d’autant plus le temps d’ajout d’une image Place de marché Microsoft Azure.Installation and setup of an application could take many hours, which aren't an efficient use of compute time to be added on an Azure Marketplace image.
  • Les développeurs et les testeurs ont besoin d’accéder rapidement à une machine virtuelle et souhaitent minimiser la durée de configuration d’une nouvelle machine virtuelle.Developers and testers require access to a virtual machine quickly, and want to minimize the setup time of a new virtual machine.
  • Conformité ou conditions réglementaires (par exemple, stratégies de sécurité) qui doivent être en place pour toutes les machines.Compliance or regulatory conditions (for example, security policies) that must be in place for all machines.
  • Les images personnalisées ne doivent pas être utilisées à la légère.Using custom images shouldn't be considered lightly. Elles ajoute de la complexité, car vous devez maintenant gérer les fichiers VHD de ces images de base sous-jacentes.They introduce extra complexity, as you now must manage VHD files for those underlying base images. Vous devez également appliquer des mises à jour logicielles à ces images de base.You also need to routinely patch those base images with software updates. Celles-ci incluent les nouvelles mises à jour du système d’exploitation ainsi que toutes les mises à jour ou modifications de configuration nécessaires au package logiciel lui-même.These updates include new operating system (OS) updates, and any updates or configuration changes needed for the software package itself.

ArtefactsArtifacts

Que sont les artefacts ?What are artifacts?

Les artefacts sont des éléments personnalisables que vous pouvez utiliser pour déployer vos tout derniers bits ou déployer vos outils de développement sur une machine virtuelle.Artifacts are customizable elements that you can use to deploy your latest bits or deploy your dev tools to a VM. Attachez les artefacts à votre machine virtuelle quand vous créez celle-ci.Attach artifacts to your VM when you create the VM. Une fois la machine virtuelle approvisionnée, les artefacts la déploient et la configurent.After the VM is provisioned, the artifacts deploy and configure your VM. Divers artefacts préexistants sont disponibles dans notre dépôt GitHub public.Various pre-existing artifacts are available in our public GitHub repository. Vous pouvez également créer vos propres artefacts.You can also author your own artifacts.

Mon artefact a échoué lors de la création d’une machine virtuelle.My artifact failed during VM creation. Comment puis-je résoudre ce problème ?How do I troubleshoot it?

Pour savoir comment récupérer les journaux d’activité relatifs à l’échec d’un artefact, consultez Guide pratique pour diagnostiquer les échecs d’artefacts dans DevTest Labs.To learn how to get logs for your failed artifact, see How to diagnose artifact failures in DevTest Labs.

Quand une organisation doit-elle utiliser un référentiel d’artefacts public/privé dans DevTest Labs ?When should an organization use a public artifact repository vs. private artifact repository in DevTest Labs?

Le référentiel d’artefacts public fournit un ensemble initial de progiciels les plus couramment utilisés.The public artifact repository provides an initial set of software packages that are most commonly used. Il permet un déploiement rapide sans avoir besoin de consacrer beaucoup de temps à la reproduction d’outils de développement et de compléments courants. Vous pouvez choisir de déployer leur propre référentiel privé.It helps with rapid deployment without having to invest time to reproduce common developer tools and add-ins. You can choose to deploy their own private repository. Vous pouvez utiliser un référentiel public avec un référentiel privé en parallèle.You can use a public and a private repository in parallel. Vous pouvez également choisir de désactiver le référentiel public.You may also choose to disable the public repository. Les critères de déploiement d’un référentiel privé doivent reposer sur les questions et les considérations suivantes :The criteria to deploy a private repository should be driven by the following questions and considerations:

  • L’organisation doit-elle disposer de logiciels d’entreprise sous licence dans le cadre de son offre DevTest Labs ?Does the organization have a requirement to have corporate licensed software as part of their DevTest Labs offering? Dans l’affirmative, un référentiel privé doit être créé.If the answer is yes, then a private repository should be created.
  • L’organisation développe-t-elle un logiciel personnalisé assurant une fonction particulière nécessaire dans le cadre du processus général d’approvisionnement ?Does the organization develop custom software that provides a specific operation, which is required as part of the overall provisioning process? Dans l’affirmative, un référentiel privé doit être déployé.If the answer is yes, then a private repository should be deployed.
  • Si la stratégie de gouvernance de l’organisation exige l’isolation et que la configuration des référentiels externes n’est pas directement gérée par l’organisation, un référentiel privé d’artefacts doit être déployé.If organization's governance policy requires isolation, and external repositories aren't under direct configuration management by the organization, a private artifact repository should be deployed. Dans le cadre de ce processus, il est possible de copier une version initiale du référentiel public et de l’intégrer au référentiel privé.As part of this process, an initial copy of the public repository can be copied and integrated with the private repository. Le référentiel public peut ensuite être désactivé afin que personne ne puisse plus y accéder au sein de l’organisation.Then, the public repository can be disabled so that no one within the organization can access it anymore. Cette approche oblige tous les utilisateurs de l’organisation à ne disposer que d’un seul référentiel approuvé par l’organisation et à limiter la dérive des configurations.This approach forces all users within the organization to have only a single repository that is approved by the organization and minimize configuration drift.

Une organisation doit-elle planifier un référentiel unique ou autoriser plusieurs référentiels ?Should an organization plan for a single repository or allow multiple repositories?

Dans le cadre de la stratégie générale de gouvernance et de la gestion des configurations au sein de votre organisation, nous vous recommandons d’utiliser un référentiel centralisé.As part of your organization's overall governance and configuration management strategy, we recommend that you use a centralized repository. Lorsque plusieurs référentiels sont utilisés, ils peuvent au fil du temps se transformer en silos de logiciels non managés.When you use multiple repositories, they may become silos of unmanaged software over the time. Avec un référentiel central, plusieurs équipes peuvent utiliser les artefacts de ce référentiel pour leurs projets.With a central repository, multiple teams can consume artifacts from this repository for their projects. Il renforce la normalisation, la sécurité et la facilité de gestion. Cela permet également d’éviter de faire double emploi.It enforces standardization, security, ease of management, and eliminates the duplication of efforts. Dans le cadre de la centralisation, nous recommandons les mesures suivantes pour la gestion et la viabilité à long terme :As part of the centralization, the following actions are recommended practices for long-term management and sustainability:

  • Associez Azure Repos au même locataire Azure Active Directory que celui utilisé par l’abonnement Azure pour l’authentification et l’autorisation.Associate the Azure Repos with the same Azure Active Directory tenant that the Azure subscription is using for authentication and authorization.
  • Créez un groupe nommé All DevTest Labs Developers dans Azure Active Directory qui est managé de manière centralisée.Create a group named All DevTest Labs Developers in Azure Active Directory that is centrally managed. Tous les développeurs qui contribuent au développement d’artefacts doivent être placés dans ce groupe.Any developer who contributes to artifact development should be placed in this group.
  • Le même groupe Azure Active Directory peut être utilisé pour donner accès au dépôt Azure Repos et au lab.The same Azure Active Directory group can be used to provide access to the Azure Repos repository and to the lab.
  • Dans Azure Repos, la création de branches ou la duplication doit permettre de séparer un dépôt de développement du dépôt de production principal.In Azure Repos, branching or forking should be used to a separate an in-development repository from the primary production repository. Le contenu n’est ajouté à la branche maître qu’avec une requête d’extraction après un examen approprié du code.Content is only added to the master branch with a pull request after a proper code review. Une fois la modification approuvée par l’examinateur du code, le code actualisé est fusionné par un développeur principal responsable de la maintenance de la branche maître.Once the code reviewer approves the change, a lead developer, who is responsible for maintenance of the master branch, merges the updated code.

Intégration CI/CDCI/CD integration

DevTest Labs est-il intégré à ma chaîne d’outils CI/CD ?Does DevTest Labs integrate with my CI/CD toolchain?

Si vous utilisez Azure DevOps, vous pouvez utiliser une extension des tâches Azure DevTest Labs pour automatiser votre pipeline de mise en production dans DevTest Labs.If you're using Azure DevOps, you can use a DevTest Labs Tasks extension to automate your release pipeline in DevTest Labs. Voici quelques-unes des tâches que vous pouvez effectuer avec cette extension :Some of the tasks that you can do with this extension include:

  • Créer et déployer automatiquement une machine virtuelle.Create and deploy a VM automatically. Vous pouvez également configurer la machine virtuelle avec la build la plus récente en utilisant des tâches Copie de fichiers Azure, PowerShell ou Azure DevOps Services.You also can configure the VM with the latest build by using Azure File Copy or PowerShell Azure DevOps Services tasks.
  • Capturer automatiquement l’état d’une machine virtuelle après le test, afin de reproduire un bogue sur la même machine virtuelle pour un examen approfondi.Automatically capture the state of a VM after testing to reproduce a bug on the same VM for further investigation.
  • Supprimer la machine virtuelle à la fin du pipeline de versions quand elle n’est plus nécessaire.Delete the VM at the end of the release pipeline, when it's no longer needed.

Les billets de blog suivants offrent des conseils et des informations sur l’utilisation de l’extension Azure DevOps Services :The following blog posts offer guidance and information about using the Azure DevOps Services extension:

Pour d’autres chaînes d’outils d’intégration continue (CI)/livraison continue (CD), vous pouvez réaliser les mêmes scénarios en déployant des modèles Azure Resource Manager à l’aide des applets de commande Azure PowerShell et des SDK .NET.For other continuous integration (CI)/continuous delivery (CD) toolchains, you can achieve the same scenarios by deploying Azure Resource Manager templates by using Azure PowerShell cmdlets and .NET SDKs. De plus, vous pouvez utiliser les API REST pour DevTest Labs pour une intégration à votre chaîne d’outils.You also can use REST APIs for DevTest Labs to integrate with your toolchain.

Mise en réseauNetworking

Quand dois-je créer un réseau virtuel pour mon environnement DevTest Labs et quand dois-je utiliser un réseau virtuel existant ?When should I create a new virtual network for my DevTest Labs environment vs. using an existing virtual network?

Si vos machines virtuelles doivent interagir avec l’infrastructure existante, nous vous recommandons d’utiliser un réseau virtuel existant dans votre environnement DevTest Labs.If your VMs need to interact with existing infrastructure, then consider using an existing virtual network inside your DevTest Labs environment. Si vous utilisez ExpressRoute, nous vous conseillons de minimiser le nombre de réseaux virtuels/sous-réseaux pour ne pas fragmenter l’espace d’adressage IP qui vous est attribué dans les abonnements.If you use ExpressRoute, you may want to minimize the amount of VNets / Subnets so that you don’t fragment your IP address space that gets assigned for use in the subscriptions.

Vous devez également envisager d’utiliser également le VNet peering (modèle Hub-Spoke).Consider using the VNet peering pattern here (Hub-Spoke model) too. Cette approche permet une communication de réseau virtuel/sous-réseau via des abonnements.This approach enables vnet/subnet communication across subscriptions. Sinon, chaque environnement DevTest Labs pourrait avoir son propre réseau virtuel.Otherwise, each DevTest Labs environment could have its own virtual network.

Le nombre de réseaux virtuels par abonnement est limité.There are limits on the number of virtual networks per subscription. Le nombre par défaut est de 50, mais cette limite peut être portée à 100.The default amount is 50, though this limit can be raised to 100.

Quand dois-je utiliser une adresse IP partagée, une adresse IP publique ou une adresse IP privée ?When should I use a shared IP vs. public IP vs. private IP?

Si vous utilisez un VPN de site à site ou Express Route, privilégiez les adresses IP privées pour que vos machines soient accessibles via votre réseau interne et inaccessibles par l’Internet publiques.If you use a site-to-site VPN or Express Route, consider using private IPs so that your machines are accessible via your internal network, and inaccessible over public internet.

Notes

Les propriétaires de labo peuvent modifier cette stratégie de sous-réseau pour que personne ne crée accidentellement d’adresses IP publiques pour ses machines virtuelles.Lab owners can change this subnet policy to ensure that no one accidentally creates public IP addresses for their VMs. Le propriétaire de l’abonnement doit créer une stratégie d’abonnement empêchant la création d’adresses IP publiques.The subscription owner should create a subscription policy preventing public IPs from being created.

Si vous utilisez des adresses IP publiques partagées, les machines virtuelles d’un labo partagent une adresse IP publique.When using shared public IPs, the virtual machines in a lab share a public IP address. Cette approche peut être utile pour éviter de dépasser les nombres limites d’adresses IP publiques pour un abonnement donné.This approach can be helpful when you need to avoid breaching the limits on public IP addresses for a given subscription.

Oui.Yes. Deux aspects sont à prendre en compte : le trafic entrant et le trafic sortant.There are two aspects to consider – inbound and outbound traffic.

  • Trafic entrant : si la machine virtuelle n’a pas d’adresse IP publique, elle n’est pas accessible par Internet.Inbound traffic – If the virtual machine doesn't have a public IP address, then it cannot be reached by the internet. L’approche la plus courant consiste à définir une stratégie par abonnement, pour qu’aucun utilisateur ne puisse créer une adresse IP publique.A common approach is to ensure that a subscription-level policy is set, such that no user can create a public IP address.
  • Trafic sortant : pour éviter que les machines virtuelles accèdent directement à l’Internet public et forcer le trafic à passer par un pare-feu d’entreprise, vous pouvez acheminer le trafic localement via ExpressRoute ou un VPN, en utilisant le routage forcé.Outbound traffic – If you want to prevent virtual machines accessing public internet directly and force traffic through a corporate firewall, then you can route traffic on-premises via express route or VPN, by using forced routing.

Notes

Si vous avez un serveur proxy qui bloque le trafic sans paramètres proxy, n’oubliez pas d’ajouter des exceptions dans le compte de stockage d’artefacts du labo.If you have a proxy server that blocks traffic without proxy settings, do not forget to add exceptions to the lab’s artifact storage account.

Vous pouvez également utiliser des groupes de sécurité réseau pour les machines virtuelles ou les sous-réseaux.You could also use network security groups for virtual machines or subnets. Cette étape ajoute un niveau supplémentaire de protection pour autoriser ou bloquer le trafic.This step adds an additional layer of protection to allow / block traffic.

Résolution de problèmesTroubleshooting

Pourquoi mon réseau virtuel existant n’est pas enregistré correctement ?Why isn't my existing virtual network saving properly?

Il se peut que votre nom de réseau virtuel contienne des points.One possibility is that your virtual network name contains periods. Dans ce cas, essayez de supprimer les points ou de les remplacer par des traits d’union.If so, try removing the periods or replacing them with hyphens. Ensuite, réessayez d’enregistrer le réseau virtuel.Then, try again to save the virtual network.

Pourquoi l’erreur signalant que la ressource parente est introuvable s’affiche-t-elle quand j’approvisionne une machine virtuelle à partir de PowerShell ?Why do I get a "Parent resource not found" error when I provision a VM from PowerShell?

Quand une ressource est parent d’une autre ressource, la ressource parente doit exister pour que vous puissiez créer la ressource enfant.When one resource is a parent to another resource, the parent resource must exist before you create the child resource. Si la ressource parente n’existe pas, vous voyez un message ParentResourceNotFound.If the parent resource doesn't exist, you see a ParentResourceNotFound message. Si vous ne spécifiez pas de dépendance sur la ressource parente, la ressource enfant peut être déployée avant cette dernière.If you don't specify a dependency on the parent resource, the child resource might be deployed before the parent.

Les machines virtuelles sont des ressources enfants se trouvant dans un laboratoire d’un groupe de ressources.VMs are child resources under a lab in a resource group. Quand vous utilisez des modèles Resource Manager pour déployer des machines virtuelles à l’aide de PowerShell, le nom du groupe de ressources fourni dans le script PowerShell doit être le nom du groupe de ressources du laboratoire.When you use Resource Manager templates to deploy VMs by using PowerShell, the resource group name provided in the PowerShell script should be the resource group name of the lab. Pour plus d’informations, consultez la rubrique Résolution des erreurs courantes dans des déploiements Azure.For more information, see Troubleshoot common Azure deployment errors.

Où puis-je trouver plus d’informations d’erreur si le déploiement d’une machine virtuelle échoue ?Where can I find more error information if a VM deployment fails?

Les erreurs de déploiement de machine virtuelle sont capturées dans des journaux d’activité.VM deployment errors are captured in activity logs. Vous pouvez trouver les journaux d’activité des machines virtuelles du laboratoire sous Journaux d’audit ou Diagnostics de machine virtuelle dans le menu de la ressource dans la page Machine virtuelle du laboratoire (la page s’affiche une fois que vous sélectionnez la machine virtuelle dans la liste Mes machines virtuelles).You can find lab VM activity logs under Audit logs or Virtual machine diagnostics on the resource menu on the lab's VM page (the page appears after you select the VM from the My virtual machines list).

Parfois, l’erreur de déploiement se produit avant que ne commence le déploiement de la machine virtuelle.Sometimes, the deployment error occurs before VM deployment begins. C’est par exemple le cas quand la limite d’abonnement pour une ressource qui a été créée avec la machine virtuelle est dépassée.An example is when the subscription limit for a resource that was created with the VM is exceeded. Dans ce cas, les détails de l’erreur sont capturés dans les journaux d’activité au niveau du laboratoire.In this case, the error details are captured in the lab-level activity logs. Les journaux d’activité sont situés en bas des paramètres Configuration et stratégies.Activity logs are located at the bottom of the Configuration and policies settings. Pour plus d’informations sur l’utilisation des journaux d’activité dans Azure, consultez Afficher les journaux d’activité pour auditer les actions sur les ressources.For more information about using activity logs in Azure, see View activity logs to audit actions on resources.

Pourquoi l’erreur « L’emplacement n’est pas disponible pour le type de ressource » s’affiche-t-elle quand j’essaie de créer un laboratoire ?Why do I get "location is not available for resource type" error when trying to create a lab?

Un message d’erreur semblable au suivant peut s’afficher lorsque vous essayez de créer un laboratoire :You may see an error message similar to the following one when you try to create a lab:

The provided location 'australiacentral' is not available for resource type 'Microsoft.KeyVault/vaults'. List of available regions for the resource type is 'northcentralus,eastus,northeurope,westeurope,eastasia,southeastasia,eastus2,centralus,southcentralus,westus,japaneast,japanwest,australiaeast,australiasoutheast,brazilsouth,centralindia,southindia,westindia,canadacentral,canadaeast,uksouth,ukwest,westcentralus,westus2,koreacentral,koreasouth,francecentral,southafricanorth

Vous pouvez résoudre cette erreur en effectuant l’une des étapes suivantes :You can resolve this error by taking one of the following steps:

Option 1 :Option 1

Vérifiez la disponibilité du type de ressource dans les régions Azure sur la page Produits disponibles par région.Check availability of the resource type in Azure regions on the Products available by region page. Si le type de ressource n’est pas disponible dans une certaine région, DevTest Labs ne prend pas en charge la création d’un laboratoire dans cette région.If the resource type isn't available in a certain region, DevTest Labs doesn't support creation of a lab in that region. Sélectionnez une autre région lorsque vous créez votre laboratoire.Select another region when creating your lab.

Option 2 :Option 2

Si le type de ressource est disponible dans votre région, vérifiez s’il est inscrit auprès de votre abonnement.If the resource type is available in your region, check if it's registered with your subscription. Vous pouvez le faire au niveau du propriétaire de l’abonnement, comme indiqué dans cet article.It can be done at the subscription owner level as shown in this article.