Empiler à partir d' CloudFormation un modèle | Mettre à jour - Référence de type de modification AMS Advanced

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.

Empiler à partir d' CloudFormation un modèle | Mettre à jour

Mettez à jour les and/or paramètres du modèle d'une pile CFN. Pour mettre à jour uniquement les paramètres d'une pile existante, un modèle CFN modifié n'est pas nécessaire, des paramètres modifiés peuvent être fournis à la place. Les valeurs des paramètres existants sont remplacées, les valeurs des nouveaux paramètres sont ajoutées. Pour ajouter, supprimer ou modifier une ressource, ou pour modifier des attributs non référencés par un paramètre, utilisez un modèle CFN modifié. Si la mise à jour entraîne le remplacement ou la suppression d'une ressource de la pile, la RFC échoue et doit être approuvée par le biais du CT « Approuver ChangeSet et mettre à jour la CloudFormation pile » (ct-1404e21baa2ox).

Classification complète : Gestion | Custom Stack | Stack from CloudFormation Template | Update

Détails du type de modification

Modifier l'identifiant du type

ct-361tlo1k7339x

Version actuelle

2.0

Durée d'exécution prévue

360 minutes

Approbation AWS

Obligatoire

Approbation du client

Facultatif

Mode d'exécution

Automatisé

Informations supplémentaires

Mettre à jour CloudFormation la pile d'ingestion

CloudFormation stack update interface showing description, ID, and version details.

Pour mettre à jour un CloudFormation Ingest Stack à l'aide de la console

  1. Accédez à la page Créer une RFC : Dans le volet de navigation de gauche de la console AMS, cliquez RFCspour ouvrir la page de RFCs liste, puis cliquez sur Créer une RFC.

  2. Choisissez un type de modification (CT) populaire dans la vue Parcourir les types de modification par défaut, ou sélectionnez un CT dans la vue Choisir par catégorie.

    • Parcourir par type de modification : vous pouvez cliquer sur un CT populaire dans la zone de création rapide pour ouvrir immédiatement la page Run RFC. Notez que vous ne pouvez pas choisir une ancienne version CT avec création rapide.

      Pour trier CTs, utilisez la zone Tous les types de modifications dans l'affichage Carte ou Tableau. Dans l'une ou l'autre vue, sélectionnez un CT, puis cliquez sur Créer une RFC pour ouvrir la page Exécuter une RFC. Le cas échéant, une option Créer avec une ancienne version apparaît à côté du bouton Créer une RFC.

    • Choisissez par catégorie : sélectionnez une catégorie, une sous-catégorie, un article et une opération et la zone de détails du CT s'ouvre avec une option permettant de créer avec une ancienne version, le cas échéant. Cliquez sur Créer une RFC pour ouvrir la page Exécuter une RFC.

  3. Sur la page Run RFC, ouvrez la zone de nom du CT pour voir la boîte de détails du CT. Un sujet est requis (il est renseigné pour vous si vous choisissez votre CT dans la vue Parcourir les types de modification). Ouvrez la zone de configuration supplémentaire pour ajouter des informations sur le RFC.

    Dans la zone Configuration de l'exécution, utilisez les listes déroulantes disponibles ou entrez des valeurs pour les paramètres requis. Pour configurer les paramètres d'exécution facultatifs, ouvrez la zone de configuration supplémentaire.

  4. Lorsque vous avez terminé, cliquez sur Exécuter. S'il n'y a aucune erreur, la page RFC créée avec succès s'affiche avec les détails de la RFC soumise et le résultat d'exécution initial.

  5. Ouvrez la zone Paramètres d'exécution pour voir les configurations que vous avez soumises. Actualisez la page pour mettre à jour l'état d'exécution de la RFC. Vous pouvez éventuellement annuler la RFC ou en créer une copie à l'aide des options en haut de la page.

Pour mettre à jour une pile d' CloudFormation ingestion à l'aide de la CLI

  1. Utilisez soit le Inline Create (vous émettez une create-rfc commande avec tous les paramètres RFC et d'exécution inclus), soit le Template Create (vous créez deux fichiers JSON, un pour les paramètres RFC et un pour les paramètres d'exécution) et émettez la create-rfc commande avec les deux fichiers en entrée. Les deux méthodes sont décrites ici.

  2. Soumettez la aws amscm submit-rfc --rfc-id ID commande RFC : avec l'ID RFC renvoyé.

    Surveillez la aws amscm get-rfc --rfc-id ID commande RFC :.

Pour vérifier la version du type de modification, utilisez cette commande :

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
Note

Vous pouvez utiliser n'importe quel CreateRfc paramètre avec n'importe quelle RFC, qu'ils fassent ou non partie du schéma du type de modification. Par exemple, pour recevoir des notifications lorsque le statut de la RFC change, ajoutez cette ligne --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" aux paramètres RFC de la demande (et non aux paramètres d'exécution). Pour obtenir la liste de tous les CreateRfc paramètres, consultez le manuel AMS Change Management API Reference.

  1. Préparez le CloudFormation modèle que vous souhaitez utiliser pour mettre à jour la pile, puis chargez-le dans votre compartiment S3. Pour obtenir des informations importantes, consultez les directives, CloudFormation les meilleures pratiques et les limites d'AWS Ingest.

  2. Créez et soumettez le RFC à AMS :

    1. Créez et enregistrez le fichier JSON des paramètres d'exécution, incluez les paramètres du CloudFormation modèle que vous souhaitez. Cet exemple le nomme UpdateCfnParams .json.

      Exemple de fichier UpdateCfnParams .json avec mises à jour des paramètres en ligne :

      { "StackId": "stack-yjjoo9aicjyqw4ro2", "VpcId": "VPC_ID", "CloudFormationTemplate": "{\"AWSTemplateFormatVersion\":\"2010-09-09\",\"Description\":\"Create a SNS topic\",\"Parameters\":{\"TopicName\":{\"Type\":\"String\"},\"DisplayName\":{\"Type\":\"String\"}},\"Resources\":{\"SnsTopic\":{\"Type\":\"AWS::SNS::Topic\",\"Properties\":{\"TopicName\":{\"Ref\":\"TopicName\"},\"DisplayName\":{\"Ref\":\"DisplayName\"}}}}}", "TemplateParameters": [ { "Key": "TopicName", "Value": "TopicNameCLI" }, { "Key": "DisplayName", "Value": "DisplayNameCLI" } ], "TimeoutInMinutes": 1440 }

      Exemple de fichier UpdateCfnParams .json avec point de terminaison du compartiment S3 contenant un CloudFormation modèle mis à jour :

      { "StackId": "stack-yjjoo9aicjyqw4ro2", "VpcId": "VPC_ID", "CloudFormationTemplateS3Endpoint": "s3_url", "TemplateParameters": [ { "Key": "TopicName", "Value": "TopicNameCLI" }, { "Key": "DisplayName", "Value": "DisplayNameCLI" } ], "TimeoutInMinutes": 1080 }
  3. Créez et enregistrez le fichier JSON des paramètres RFC avec le contenu suivant. Cet exemple le nomme fichier UpdateCfnRfc .json.

    { "ChangeTypeId": "ct-361tlo1k7339x", "ChangeTypeVersion": "1.0", "Title": "cfn-ingest-template-update" }
  4. Créez la RFC en spécifiant le UpdateCfnRfc fichier et le UpdateCfnParams fichier :

    aws amscm create-rfc --cli-input-json file://UpdateCfnRfc.json --execution-parameters file://UpdateCfnParams.json

    Vous recevez l'identifiant de la nouvelle RFC dans la réponse et vous pouvez l'utiliser pour soumettre et surveiller la RFC. Tant que vous ne l'avez pas soumise, la RFC reste en cours d'édition et ne démarre pas.

  • Ce type de modification est désormais disponible en version 2.0. Les modifications incluent la suppression du AutoApproveUpdateForResourcesparamètre, qui était utilisé dans la version 1.0 de ce CT, et l'ajout de deux nouveaux paramètres : AutoApproveRiskyUpdateset BypassDriftCheck.

  • Si le compartiment S3 existe dans un compte AMS, vous devez utiliser vos informations d'identification AMS pour cette commande. Par exemple, vous devrez peut-être ajouter --profile saml après avoir obtenu vos informations d'identification AMS AWS Security Token Service (AWS STS).

  • Toutes les Parameter valeurs des ressources du CloudFormation modèle doivent avoir une valeur, soit via une valeur par défaut, soit une valeur personnalisée via la section des paramètres du CT. Vous pouvez remplacer la valeur du paramètre en structurant les ressources du CloudFormation modèle pour faire référence à une clé de paramètres. Pour des exemples montrant comment procéder, voir CloudFormation ingest stack : CFN validator examples.

    IMPORTANT : Les paramètres manquants ne sont pas fournis explicitement dans le formulaire. Les valeurs par défaut sont celles actuellement définies sur la pile ou le modèle existant.

  • Pour obtenir la liste des services auto-approvisionnés que vous pouvez ajouter à l'aide d'Ingest, voir CloudFormation CloudFormation Ingest Stack : Supported Resources.

    Pour en savoir plus CloudFormation, consultez AWS CloudFormation.

Le modèle est validé pour garantir qu'il peut être créé dans un compte AMS. S'il passe la validation, il est mis à jour pour inclure toutes les ressources ou configurations requises pour être conforme à AMS. Cela inclut l'ajout de ressources telles que les CloudWatch alarmes Amazon afin de permettre à AMS Operations de surveiller la pile.

La RFC est rejetée si l'une des conditions suivantes est vraie :

  • La syntaxe RFC JSON est incorrecte ou ne suit pas le format indiqué.

  • L'URL présignée du compartiment S3 fournie n'est pas valide.

  • La CloudFormation syntaxe du modèle n'est pas valide.

  • Le modèle n'a pas de valeurs par défaut définies pour toutes les valeurs de paramètres.

  • Le modèle échoue à la validation AMS. Pour les étapes de validation AMS, consultez les informations plus loin dans cette rubrique.

La RFC échoue si la CloudFormation pile ne parvient pas à se créer en raison d'un problème de création de ressources.

Pour en savoir plus sur la validation et le validateur CFN, voir Validation de modèles et pile d'CloudFormation ingestion : exemples de validateurs CFN.

Paramètres d'entrée d'exécution

Pour des informations détaillées sur les paramètres d'entrée d'exécution, consultezSchéma pour le type de modification ct-361tlo1k7339x.

Exemple : paramètres obligatoires

{ "StackId": "stack-kiwonebfnadq08sol", "VpcId": "vpc-01234567890abcdef", "TimeoutInMinutes": 360 }

Exemple : tous les paramètres

Example not available.