AWS CloudFormation Serveur de langues - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS CloudFormation Serveur de langues

Le serveur de AWS CloudFormation langue fournit des fonctionnalités permettant d'accélérer la création infrastructure-as-code (iAc) et le déploiement AWS des ressources en toute sécurité et en toute confiance. Il suit le protocole du serveur de langage (LSP) pour fournir de la documentation sur le survol, l'auto-complétion, les diagnostics via la validation statique, le passage à la définition et les actions de code. Outre ces fonctionnalités de serveur linguistique traditionnel, le serveur ajoute des fonctionnalités en ligne permettant d'explorer et de déployer AWS des ressources via CloudFormation. Cela inclut la possibilité de valider et de déployer des modèles à l'aide d'ensembles de modifications, d'afficher les différences de pile, les événements, les ressources et les résultats, de répertorier les piles et de parcourir les ressources par type, et d'insérer l'état des ressources en direct directement dans CloudFormation les modèles.

IDEs intégration avec le serveur de AWS CloudFormation langue

AWS fournit une off-the-shelf intégration avec le serveur de CloudFormation langue via le AWS kit d'outils pour les éléments suivants IDEs :

Les versions suivantes prennent IDEs également en charge le serveur de CloudFormation langue :

  • Kiro

  • Curseur

  • La plupart des forks et distributions de VS Code

Le serveur de CloudFormation langue adhère au protocole LSP (Language Server Protocol) et les autres intégrations sont donc configurables. Pour obtenir des instructions sur l'intégration du serveur de langue à d'autres éditeurs, consultez le guide d'installation.

Prise en main

Conditions préalables

Avant de commencer, assurez-vous que :

  • Vous utilisez un IDE compatible sur un système d'exploitation compatible (macOS,Windows, ouLinux).

  • Vous avez installé ou effectué une mise à niveau vers la dernière version du AWS Toolkit pour votre IDE.

Certaines fonctionnalités du serveur de AWS CloudFormation langue nécessitent des informations d'identification actives Compte AWS et configurées. Vous devez être connecté à votre compte Compte AWS via le AWS Toolkit à l'aide d'informations d'identification valides.

Étape 1 : Installation ou mise à niveau du AWS kit d'outils

Installez ou mettez à jour la dernière version du AWS Toolkit à partir du gestionnaire d'extensions ou de plugins de votre IDE, puis redémarrez votre IDE.

Après l'installation, le AWS Toolkit active automatiquement le support CloudFormation IDE. Lorsque vous installez ou mettez à niveau le AWS kit d'outils avec le serveur de AWS CloudFormation langue pour la première fois, vous êtes invité AWS à autoriser la collecte de données d'utilisation anonymes. Ces données permettent AWS d'améliorer le serveur de CloudFormation langue et d'améliorer l'expérience de création. Aucune information sensible n'est collectée et AWS n'enregistre ni ne stocke le contenu des modèles, les configurations des ressources ou les données clients identifiables. Vous pouvez modifier vos préférences de télémétrie à tout moment depuis les paramètres de l'IDE. Redémarrez l'IDE pour que les modifications prennent effet. Les données d'utilisation collectées se concentrent uniquement sur les interactions entre les fonctionnalités et les indicateurs de performance. Ces informations permettent AWS d'identifier et de hiérarchiser les améliorations telles qu'une validation plus rapide, une saisie semi-automatique améliorée et un meilleur diagnostic des erreurs.

Étape 2 : Accès CloudFormation dans la AWS boîte à outils

Après avoir installé le AWS Toolkit, ouvrez le CloudFormation panneau dans votre IDE. Dans VS Code, ouvrez le panneau AWS Toolkit depuis la barre d'activité et choisissez CLOUDFORMATION. Dans JetBrains IDEs, ouvrez la fenêtre de l'outil AWS Toolkit depuis la barre latérale et sélectionnez l'CloudFormationonglet.

Le CloudFormation panneau contient les sections suivantes :

  • Région : affiche le courant Région AWS. Dans VS Code, vous pouvez le modifier en sélectionnant le nom de la région ou en utilisant la commande AWS CloudFormation: Sélectionner une région dans la palette de commandes. Dans JetBrains IDEs, la région est configurée via les paramètres de connexion du AWS Toolkit.

  • Piles : affiche une liste paginée des CloudFormation piles de votre compte. Développez une pile pour afficher son nœud Change Sets, qui répertorie les ensembles de modifications associés à cette pile. Utilisez l'action Afficher les détails de la pile pour ouvrir la vue détaillée de la pile, qui affiche la vue d'ensemble de la pile, les événements, les sorties et les ressources.

  • Ressources : une fois que vous avez ajouté un type de ressource, le panneau affiche les AWS ressources de ce type dans votre compte. Vous pouvez les afficher, les actualiser, les copier ou les importer dans votre modèle.

Dans JetBrains IDEs, la barre d'outils située au-dessus de l'arborescence permet d'accéder rapidement aux actions courantes, notamment valider et déployer, réexécuter la validation et le déploiement, ajouter un type de ressource et actualiser. Les actions sont également disponibles via les menus contextuels du bouton droit sur les nœuds de l'arborescence.

Étape 3 : Validez, testez et affinez votre modèle

Lorsque vous rédigez votre CloudFormation modèle, l'IDE fournit une assistance intelligente à la création pour vous aider à créer plus rapidement une infrastructure précise et conforme. Le serveur de CloudFormation langue s'exécute en arrière-plan et fournit les fonctionnalités de création suivantes :

  • Complétion du code : suggère des types de ressources, des paramètres et des propriétés en fonction de CloudFormation schémas.

  • Ajouter AWS des ressources existantes : vous permet d'importer des ressources existantes depuis votre Compte AWS modèle. L'IDE utilise le API de commande du Cloud AWS (CCAPI) pour récupérer la configuration en direct et les propriétés de la ressource, afin de vous aider à cloner ou à réutiliser l'infrastructure existante dans votre modèle.

  • Extraire vers le paramètre : lorsque votre curseur se trouve sur une valeur littérale dans un modèle (par exemple, une chaîne de caractèrest2.micro), l'IDE propose une action de refactorisation pour extraire la valeur dans la Parameters section et remplacer le littéral par un !Ref pour le nouveau paramètre. Si la même valeur littérale apparaît à plusieurs endroits, vous pouvez choisir d'extraire toutes les occurrences en une seule fois.

Pour ajouter des ressources à votre modèle

  • Ajouter un type de ressource : dans le CloudFormation panneau AWS Boîte à outils, sous Ressources, ajoutez un type de ressource à parcourir. Dans VS Code, cliquez sur l'icône Ajouter + ou utilisez la commande AWS CloudFormation: Ajouter des types de ressources dans la palette de commandes. Dans JetBrains, cliquez sur le bouton Ajouter un type de ressource dans la barre d'outils ou cliquez avec le bouton droit sur le nœud Ressources.

  • Rechercher un type de ressource : dans la boîte de dialogue de recherche, tapez le type de AWS ressource que vous souhaitez ajouter. Exemple :

    • AWS::S3::Bucket

    • AWS::Lambda::Function

  • Parcourir les ressources : dans la section Ressources, une liste paginée des AWS ressources détectées dans votre compte s'affiche. Si vous disposez de nombreuses ressources, seule la première page est affichée. Utilisez les commandes de navigation pour parcourir les pages supplémentaires et consulter toutes les ressources disponibles.

  • Choisissez la ressource que vous souhaitez inclure dans votre modèle.

  • Vous pouvez insérer une ressource dans votre modèle de deux manières, en fonction de votre objectif :

    • Cloner une ressource existante : créez une nouvelle ressource dans votre modèle en utilisant la configuration en direct et les propriétés d'une AWS ressource existante.

    • Importer une ressource existante : insérez la ressource réelle dans votre pile en l'ajoutant à votre modèle en utilisant son état actif.

Astuces

  • Vous pouvez actualiser la section Ressources à tout moment pour consulter la dernière liste des ressources disponibles dans votre compte ou dans votre région.

  • Si vous importez des ressources, n'ajoutez pas de ressource qui appartient déjà à une CloudFormation pile existante dans le même compte.

  • Pour vérifier si une ressource est déjà gérée par CloudFormation, utilisez l'action d'information située à côté de la ressource. Dans VS Code, cliquez sur l'icône i. Dans JetBrains IDEs, cliquez avec le bouton droit sur la ressource et choisissez Get Stack Management Info.

Dans VS Code, vous pouvez ajouter des ressources associées à la ressource sélectionnée à l'aide de la commande AWS CloudFormation: Ajouter des ressources associées par type. Une fois que vous avez sélectionné un type de ressource parmi ceux déjà définis dans votre modèle, l'IDE affiche une liste de ressources généralement associées ou dépendantes de ce type. Par exemple, si vous sélectionnez unAWS::EC2::Instance, l'IDE peut suggérer d'ajouter des ressources connexes telles que AWS::EC2::SecurityGroup ouAWS::EC2::Subnet. Cette fonctionnalité vous permet de créer rapidement des composants d'infrastructure connectés sans rechercher manuellement des types de ressources compatibles. Cette fonctionnalité n'est actuellement pas prise en charge dans JetBrains IDEs.

Validation statique

Le serveur de CloudFormation langue fournit une validation statique intégrée alimentée par AWS CloudFormation Linter (cfn-lint) et. AWS CloudFormation Guard Ces validations s'exécutent en arrière-plan lorsque vous créez des modèles, ce qui vous aide à identifier les erreurs de syntaxe, les lacunes de conformité et les problèmes liés aux meilleures pratiques avant le déploiement.

Vue d'ensemble de la validation statique

Vous verrez deux types de validations statiques en temps réel dans l'IDE :

  • CloudFormation Linter (cfn-lint) : valide votre modèle par rapport aux spécifications CloudFormation des ressources et aux règles du schéma.

  • Guard (cfn-guard) : valide votre modèle par rapport aux règles de conformité et aux packs de politiques organisationnelles.

CloudFormation Linter (cfn-lint)

Le CloudFormation Linter est intégré à l'IDE pour vérifier automatiquement la syntaxe et la structure de votre modèle au fur et à mesure que vous tapez.

  • Validation du schéma : détecte les erreurs de syntaxe et de schéma pour garantir que vos modèles sont conformes au schéma CloudFormation des ressources.

  • Surlignage des erreurs : affiche des marqueurs intégrés sous les problèmes, représentant les bloqueurs de déploiement ou les avertissements.

  • Aide au survol : lorsque vous survolez une erreur, l'IDE affiche le message de diagnostic associé à ce problème. Si une solution rapide est disponible, elle est également proposée.

Intégration de Guard

Guard valide vos modèles par rapport à des ensembles de règles qui définissent les politiques de conformité et de sécurité. L'IDE exécute les validations Guard en temps réel via le serveur de CloudFormation langue, ce qui vous permet de recevoir des commentaires immédiats lorsque vous créez des modèles.

  • Packs de règles par défaut : l'IDE inclut un ensemble préenregistré de règles Guard axées sur les meilleures pratiques fondamentales en matière de sécurité des ressources et d'hygiène de configuration. Pour en savoir plus, consultez le registre des règles de garde.

  • Ajout de packs de règles : pour ajouter ou modifier des ensembles de règles, ouvrez les paramètres de votre IDE et accédez à la section de configuration de Guard pour sélectionner ou télécharger des packs de règles Guard supplémentaires.

Conseils : Comprendre les indicateurs diagnostiques

  • Indicateurs bleus : conseils sur les meilleures pratiques ou recommandations d'optimisation.

  • Indicateurs jaunes : avertissements concernant des problèmes non bloquants (par exemple, des balises ou des paramètres manquants).

  • Indicateurs rouges : bloqueurs de déploiement tels que des noms de propriété non valides, des champs obligatoires manquants ou des incohérences de schéma.

Étape 4 : Naviguez dans le modèle

L'IDE fournit une vue hiérarchique structurée de votre CloudFormation modèle, organisée en sections telles queParameters,Resources, et OutputsMappings, indiquant chaque type de ressource et chaque identifiant logique. Cela permet de localiser et de naviguer rapidement vers des ressources ou des paramètres spécifiques dans de grands modèles. Dans VS Code, le panneau Outline de la barre latérale de l'explorateur affiche cette structure. Dans JetBrains IDEs, ouvrez la fenêtre de l'outil Structure pour afficher la structure du modèle du fichier actuellement ouvert.

Vous pouvez utiliser Go to Definition pour des fonctions intrinsèques telles que GetAtt etRef, ce qui vous permet d'accéder directement à la ressource ou au paramètre référencé dans votre modèle. Cela vous permet de suivre les dépendances, de comprendre les relations entre les ressources et d'apporter des modifications plus efficacement.

Étape 5 : Valider et déployer

Lorsque vous êtes prêt à déployer votre CloudFormation modèle, utilisez la fonctionnalité de validation et de déploiement pour créer un ensemble de modifications. L'IDE valide votre modèle et, si aucune erreur de blocage n'est détectée, il crée un ensemble de modifications adapté à la dérive. L'IDE affiche ensuite une vue diff afin que vous puissiez passer en revue toutes les modifications proposées avant d'exécuter l'ensemble de modifications.

Dans VS Code, ouvrez la palette de commandes et exécutez AWS CloudFormation: Valider et déployer. La palette de commandes vous guide étape par étape dans la sélection d'un modèle, d'un nom de pile, de paramètres, de fonctionnalités et d'autres options de déploiement. Dans JetBrains IDEs, utilisez le bouton Valider et déployer de la barre d'outils, cliquez avec le bouton droit sur un fichier modèle dans l'éditeur ou cliquez avec le bouton droit sur une pile dans l'arborescence. JetBrains présente une boîte de dialogue d'assistant dans laquelle vous configurez toutes les options de déploiement, y compris la sélection du modèle, le nom de la pile, les paramètres, les fonctionnalités, les balises et les options avancées.

Comment fonctionne la validation

L'IDE effectue automatiquement un contrôle de validation avant le déploiement et valide votre modèle par rapport aux causes de défaillance courantes, notamment :

  • Syntaxe de propriété non valide ou incompatibilité du schéma : ces problèmes sont généralement détectés cfn-lint lors de la création, mais si vous procédez au déploiement sans les résoudre, la validation au moment CloudFormation du déploiement fait apparaître les mêmes erreurs avant la création ou la mise à jour de la pile.

  • Le nom de la ressource est en conflit avec les ressources existantes de votre compte.

  • Contraintes spécifiques au service, telles que les conflits de noms de compartiment S3 ou l'absence de chiffrement.

Si la validation détecte des erreurs, l'IDE met en évidence les problèmes directement dans votre modèle et répertorie les erreurs dans le panneau de diagnostic. Chaque problème inclut la propriété ou la ressource spécifique à l'origine de l'échec, ainsi qu'une solution suggérée. S'il n'y a aucune erreur de blocage, vous pouvez passer à la phase de déploiement.

Si des avertissements sont détectés (problèmes non bloquants), une boîte de dialogue apparaît vous permettant de poursuivre le déploiement ou d'annuler et d'apporter des corrections.

L'IDE ouvre un ensemble de modifications sensible à la dérive qui affiche les différences entre votre modèle actuel et la configuration de la pile déployée. Cela vous permet de revoir, de confirmer ou d'annuler la modification définie avant son exécution. L'annulation du déploiement entraîne la suppression de l'ensemble de modifications.

Les ensembles de modifications sensibles à la dérive améliorent le processus de CloudFormation déploiement en vous permettant de gérer la dérive des piles en toute sécurité. La dérive de pile se produit lorsque l'état réel de vos ressources diffère de ce qui est défini dans votre CloudFormation modèle, souvent en raison de modifications manuelles effectuées via la AWS Management Console CLI ou le SDK. CloudFormation les ensembles de modifications sensibles à la dérive comparent la configuration de votre pile traitée à l'état réel des ressources, et l'IDE met en évidence ces différences afin que vous puissiez remettre les ressources en conformité avant le déploiement.

Afficher les événements de la pile

Lorsque le déploiement démarre, vous pouvez suivre la progression en temps réel depuis le CloudFormation panneau. Sous Stack Events, vous pouvez voir une liste des opérations effectuées pendant le déploiement. Chaque événement inclut des détails tels que :

  • Horodatage : heure à laquelle l'événement s'est produit

  • Ressource : AWS ressource spécifique créée, mise à jour ou supprimée

  • État : état actuel de l'opération (par exempleCREATE_IN_PROGRESS,UPDATE_COMPLETE, ouROLLBACK_IN_PROGRESS)

  • Motif : Contexte ou messages d'erreur supplémentaires, le cas échéant

Vous pouvez également consulter les ressources et les résultats de la pile à partir de ce panneau. La vue Stack Events vous permet de suivre la progression du déploiement, d'identifier les problèmes potentiels et de confirmer si votre stack est terminé avec succès.

Initialisation d'un CloudFormation projet dans l'IDE (VS Code uniquement)

L'initialisation d'un CloudFormation projet dans l'IDE vous permet de configurer un espace de travail structuré avec les dossiers, la configuration de l'environnement et les AWS informations d'identification appropriés afin que vous puissiez valider et déployer vos modèles de manière fiable. Vous pouvez initialiser un nouveau CloudFormation projet directement depuis l'IDE pour créer cette configuration recommandée. Cette fonctionnalité est actuellement disponible dans VS Code uniquement et n'est pas prise en charge dans JetBrains IDEs.

Pour initialiser un CloudFormation projet, procédez comme suit :

  • Ouvrez la palette de commandes

    • Depuis VS Code, ouvrez la palette de commandes (Ctrl+Shift+Pou Cmd+Shift+P activez-lamacOS).

    • Choisissez AWS CloudFormation: CFN Init : Initialiser le projet.

  • Choisissez un répertoire de projets

    • Par défaut, l'IDE utilise votre répertoire de travail actuel.

    • Vous pouvez modifier ce chemin vers n'importe quel dossier dans lequel vous souhaitez stocker vos CloudFormation modèles.

  • Sélectionnez votre profil AWS d'identification

    • Vous êtes invité à choisir un profil AWS d'identification. Le profil sélectionné est utilisé pour la détection de l'environnement, les validations et les déploiements.

  • Configurez votre environnement

    • Vous êtes invité à créer ou à sélectionner un environnement.

    • Les environnements définissent où et comment vos modèles sont déployés ou validés (par exemple, en phase de développement, de version bêta ou de production). Vous pouvez utiliser AWS CloudFormation: CFN Init : Ajouter un environnement pour sélectionner ou modifier votre environnement.

    • Vous pouvez utiliser AWS CloudFormation: CFN Init : Remove Environment pour supprimer l'environnement que vous avez sélectionné.

  • (Facultatif) Importer des fichiers de paramètres

    • Si vous avez déjà des fichiers de paramètres existants, l'IDE vous permet de les importer lors de l'initialisation.

    • L'IDE détecte automatiquement les fichiers compatibles et les lie à votre projet pour les utiliser dans le cadre de la validation et du déploiement des modèles.

  • Nommer et finaliser le projet

    • Entrez un nom de projet, tel que l'environnement bêta, et terminez la configuration.

    • L'IDE crée pour vous la structure initiale du projet et le fichier de configuration.

Vous pouvez exécuter des validations, prévisualiser des déploiements ou passer d'un environnement à un autre directement depuis l'IDE.

Open source

Le serveur de AWS CloudFormation langue est open source dans le cadre de la Apache-2.0 licence, offrant aux clients une transparence totale sur la manière dont les diagnostics des modèles, la validation des schémas et les analyses statiques sont effectués. Cela réduit les difficultés liées à la sécurité et à la conformité pour les clients qui ont besoin d'une visibilité au niveau de la source avant d'adopter un outillage.

La base de code est accessible au public sur GitHub : https://github.com/aws-cloudformation/cloudformation-languageserver/.

Vous avez besoin d'aide ?

Essayez la CloudFormationcommunauté AWS re:Post.