Partager via


Utiliser des outils d’automatisation de l’infrastructure avec des machines virtuelles dans Azure

S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes d'échelle flexibles ✔️ Groupes d'échelle uniformes

Pour créer et gérer des machines virtuelles Azure de manière cohérente à grande échelle, une certaine forme d’automatisation est généralement souhaitée. Il existe de nombreux outils et solutions qui vous permettent d’automatiser le cycle de vie complet du déploiement et de la gestion de l’infrastructure Azure. Cet article présente certains des outils d’automatisation de l’infrastructure que vous pouvez utiliser dans Azure. Ces outils s’intègrent généralement à l’une des approches suivantes :

Terraform

Terraform est un outil d’automatisation qui vous permet de définir et de créer une infrastructure Azure entière avec un seul langage de format de modèle , le langage HCL (HashiCorp Configuration Language). Avec Terraform, vous définissez des modèles qui automatisent le processus pour créer des ressources réseau, de stockage et de machine virtuelle pour une solution d’application donnée. Vous pouvez utiliser vos modèles Terraform existants pour d’autres plateformes avec Azure pour garantir la cohérence et simplifier le déploiement de l’infrastructure sans avoir à effectuer de conversion en modèle Azure Resource Manager.

Découvrez comment :

Azure Automation

Azure Automation utilise des runbooks pour traiter un ensemble de tâches sur les machines virtuelles que vous ciblez. Azure Automation est utilisé pour gérer les machines virtuelles existantes plutôt que pour créer une infrastructure. Azure Automation peut s’exécuter sur des machines virtuelles Linux et Windows, ainsi que sur des machines virtuelles ou physiques locales avec un Runbook Worker hybride. Les runbooks peuvent être stockés dans un référentiel de contrôle de code source, tel que GitHub. Ces runbooks peuvent ensuite être exécutés manuellement ou selon un calendrier défini.

Azure Automation fournit également un service DSC (Desired State Configuration) qui vous permet de créer des définitions pour la façon dont un ensemble donné de machines virtuelles doit être configuré. DSC garantit ensuite que la configuration requise est appliquée et que la machine virtuelle reste cohérente. Azure Automation DSC s’exécute sur des machines Windows et Linux.

Découvrez comment :

Azure DevOps Services

Azure DevOps Services est une suite d’outils qui vous aident à partager et suivre du code, à utiliser des builds automatisées et à créer un pipeline d’intégration et de développement continu (CI/CD). Azure DevOps Services s’intègre à Visual Studio et à d’autres éditeurs pour simplifier l’utilisation. Azure DevOps Services peut également créer et configurer des machines virtuelles Azure, puis déployer du code sur ces machines virtuelles.

Pour en savoir plus :

Modèle Azure Resource Manager

Azure Resource Manager est le service de déploiement et de gestion pour Azure. Il fournit une couche de gestion qui vous permet de créer, mettre à jour et supprimer des ressources dans votre abonnement Azure. Vous utilisez des fonctionnalités de gestion, telles que le contrôle d’accès, les verrous et les étiquettes, pour sécuriser et organiser vos ressources après le déploiement.

Découvrez comment :

Bicep

Bicep est un langage spécifique à un domaine (DSL) qui utilise la syntaxe déclarative pour déployer des ressources Azure. Dans un fichier Bicep, vous définissez l’infrastructure que vous voulez déployer sur Azure, puis utilisez ce fichier tout au long du cycle de vie de développement pour déployer votre infrastructure à plusieurs reprises. Vos ressources sont déployées de manière cohérente.

Commencez par le démarrage rapide.

Cloud-Init

Cloud-init est une méthode largement utilisée pour personnaliser une machine virtuelle Linux lors de son premier démarrage. Vous pouvez utiliser cloud-init pour installer des packages et écrire des fichiers, ou encore pour configurer des utilisateurs ou des paramètres de sécurité. Étant donné que cloud-init est appelé pendant le processus de démarrage initial, il n’existe aucune étape supplémentaire ni aucun agent requis pour appliquer votre configuration. Pour plus d’informations sur la mise en forme correcte de vos #cloud-config fichiers, consultez le site de documentation cloud-init. Les fichiers #cloud-config sont des fichiers texte encodés en base64.

Cloud-init fonctionne aussi sur les différentes distributions. Par exemple, vous n’utilisez pas apt-get install ou yum install pour installer un package. Au lieu de cela, vous pouvez définir une liste des packages à installer, après quoi cloud-init se charge d’utiliser automatiquement l’outil de gestion de package natif correspondant à la distribution que vous sélectionnez.

Nous travaillons activement avec nos partenaires de distribution Linux afin de mettre des images compatibles cloud-init à disposition sur Place de marché Azure. Ces images permettent à vos déploiements et configurations cloud-init de fonctionner de manière fluide avec les machines virtuelles et les ensembles de machines virtuelles. En savoir plus sur cloud-init sur Azure :

DSC PowerShell

PowerShell Desired State Configuration (DSC) est une plateforme de gestion pour définir la configuration des machines cibles. DSC peut également être utilisé sur Linux via le serveur OMI (Open Management Infrastructure).

Les configurations DSC définissent ce qu’il faut installer sur un ordinateur et comment configurer l’hôte. Un moteur Local Configuration Manager (LCM) s’exécute sur chaque nœud cible qui traite les actions demandées en fonction des configurations push. Un serveur collecteur est un service web qui s’exécute sur un hôte central pour stocker les configurations DSC et les ressources associées. Le serveur collecteur communique avec le moteur LCM sur chaque hôte cible pour fournir les configurations requises et signaler la conformité.

Découvrez comment :

Extension de script personnalisé Azure

L’extension de script personnalisé Azure pour Linux ou Windows télécharge et exécute des scripts sur des machines virtuelles Azure. Vous pouvez utiliser l’extension lorsque vous créez une machine virtuelle ou à tout moment après l’utilisation de la machine virtuelle.

Les scripts peuvent être téléchargés à partir du stockage Azure ou de n’importe quel emplacement public tel qu’un dépôt GitHub. Avec l’extension de script personnalisé, vous pouvez écrire des scripts dans n’importe quel langage qui s’exécute sur la machine virtuelle source. Ces scripts peuvent être utilisés pour installer des applications ou configurer la machine virtuelle comme vous le souhaitez. Pour sécuriser les informations d’identification, des informations sensibles telles que des mots de passe peuvent être stockées dans une configuration protégée. Ces informations d’identification sont uniquement déchiffrées à l’intérieur de la machine virtuelle.

Découvrez comment :

Ansible

Ansible est un moteur d’automatisation pour la gestion de la configuration, la création de machines virtuelles ou le déploiement d’applications. Ansible utilise un modèle sans agent, généralement avec des clés SSH, pour authentifier et gérer les machines cibles. Les tâches de configuration sont définies dans les playbooks, avec plusieurs modules Ansible disponibles pour effectuer des tâches spécifiques. Pour plus d’informations, consultez Le fonctionnement d’Ansible.

Découvrez comment :

Chef

Chef est une plateforme d’automatisation qui permet de définir la façon dont votre infrastructure est configurée, déployée et gérée. Certains composants incluent Chef Habitat pour l’automatisation du cycle de vie des applications plutôt que l’infrastructure, et Chef InSpec qui permet d’automatiser la conformité aux exigences de sécurité et de stratégie. Les clients Chef sont installés sur des machines cibles, avec un ou plusieurs serveurs Chef centraux qui stockent et gèrent les configurations. Pour plus d’informations, consultez Une vue d’ensemble de Chef.

Découvrez comment :

Marionnette

Puppet est une plateforme d’automatisation prête pour l’entreprise qui gère le processus de distribution et de déploiement des applications. Les agents sont installés sur des machines cibles pour permettre à Puppet Master d’exécuter des manifestes qui définissent la configuration souhaitée de l’infrastructure et des machines virtuelles Azure. Puppet peut s’intégrer à d’autres solutions telles que Jenkins et GitHub pour un workflow devops amélioré. Pour plus d’informations, consultez Fonctionnement de Puppet.

Découvrez comment :

Emballeur

Packer automatise le processus de génération lorsque vous créez une image de machine virtuelle personnalisée dans Azure. Vous utilisez Packer pour définir le système d’exploitation et exécuter des scripts post-configuration qui personnalisent la machine virtuelle pour vos besoins spécifiques. Une fois configurée, la machine virtuelle est ensuite capturée en tant qu’image de disque managé. Packer automatise le processus pour créer la machine virtuelle source, le réseau et les ressources de stockage, exécuter des scripts de configuration, puis créer l’image de machine virtuelle.

Découvrez comment :

Jenkins

Jenkins est un serveur d’intégration continu qui permet de déployer et de tester des applications, et de créer des pipelines automatisés pour la remise de code. Il existe des centaines de plug-ins pour étendre la plateforme Jenkins principale, et vous pouvez également intégrer de nombreux autres produits et solutions via des webhooks. Vous pouvez installer manuellement Jenkins sur une machine virtuelle Azure, exécuter Jenkins à partir d’un conteneur Docker ou utiliser une image prédéfini de la Place de marché Azure.

Découvrez comment :

Étapes suivantes

Il existe de nombreuses options différentes pour utiliser des outils d’automatisation de l’infrastructure dans Azure. Vous avez la liberté d’utiliser la solution qui convient le mieux à vos besoins et à votre environnement. Pour commencer et essayer certains des outils intégrés à Azure, découvrez comment automatiser la personnalisation d’une machine virtuelle Linux ou Windows .