Créer des StackSets CloudFormation avec des autorisations autogérées - 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.

Créer des StackSets CloudFormation avec des autorisations autogérées

Cette rubrique décrit comment créer des StackSets avec desautorisations autogérées pour déployer des piles dans différents Comptes AWS et différentes régions.

Note

Avant de continuer, créez les rôles de service IAM requis par StackSets pour établir une relation de confiance entre le compte à partir duquel vous administrez le StackSet et le compte sur lequel vous déployez les piles. Pour de plus amples informations, consultez Accorder des autorisations autogérées.

Créer un StackSet avec des autorisations autogérées (console)

Pour créer un StackSet
  1. Connectez-vous à la AWS Management Console et ouvrez la console CloudFormation à l’adresse https://console.aws.amazon.com/cloudformation.

  2. Dans la barre de navigation en haut de l’écran, sélectionnez la Région AWS à partir de laquelle vous souhaitez gérer StackSet.

  3. Choisissez StackSets dans le volet de navigation.

  4. En haut de la page StackSets, choisissez Créer un StackSet.

  5. Sous Autorisations, choisissez Autorisations en libre-service et choisissez les rôles IAM que vous avez créés.

  6. Sous Prérequis – Préparer le modèle, sélectionnez Le modèle est prêt.

  7. Sous Spécifier le modèle, choisissez soit de spécifier l'URL du compartiment S3 qui contient votre modèle de pile, soit de charger un fichier de modèle de pile. Ensuite, choisissez Suivant.

  8. Dans la page de Spécifier les détails de StackSet, indiquez un nom pour le StackSet, spécifiez les paramètres, puis choisissez Suivant.

  9. Choisissez Next (Suivant) pour continuer.

  10. Dans la page Configurer les options StackSet, sous Balises, spécifiez les balises à appliquer aux ressources de votre pile. Pour plus d’informations sur l’utilisation des balises dans AWS, consultez Organisation et suivi des coûts à l’aide des balises de répartition des coûts AWS dans le Guide de l’utilisateur AWS Billing and Cost Management.

  11. Pour la configuration de l’exécution, choisissez Active pour activer la gestion optimisée des opérations par CloudFormation :

    • Les opérations non conflictuelles s’exécutent simultanément pour accélérer les temps de déploiement.

    • Les opérations en conflit sont automatiquement mises en file d’attente et traitées dans l’ordre dans lequel elles ont été demandées.

    Pendant que les opérations sont en cours d’exécution ou en attente, CloudFormation met en file d’attente toutes les opérations entrantes, même si elles ne sont pas conflictuelles. Vous ne pouvez pas modifier les paramètres d’exécution pendant cette période.

  12. Si votre modèle contient des ressources IAM, dans la section Capacités, choisissez Je sais que ce modèle peut créer des ressources IAM pour indiquer que vous autorisez l’utilisation de ressources IAM dans le modèle. Pour de plus amples informations, consultez Confirmation des ressources IAM dans les modèles CloudFormation.

  13. Choisissez Suivant.

  14. Sur la page Options de déploiement, sous Ajouter des piles à StackSet, sélectionnez Déployer de nouvelles piles.

  15. Pour Accounts (Comptes), choisissez Deploy stacks in accounts (Déployer des piles dans des comptes). Collez vos numéros de compte Compte AWS de destination dans la zone de texte, en séparant les numéros par des virgules.

    Note

    Vous pouvez inclure votre identifiant de compte administrateur si vous souhaitez également déployer des stacks dans ce compte.

  16. Sous Spécifier les régions, choisissez les régions dans lesquelles vous voulez déployer des piles.

  17. Pour Options de déploiement, procédez comme suit :

    • Pour Nombre maximal de comptes simultanés, spécifiez le nombre de comptes traités simultanément.

    • Pour Tolérance aux défaillances, spécifiez le nombre maximum de défaillances de compte autorisées par région. L’opération s’arrêtera et ne se poursuivra pas dans d’autres régions une fois cette limite atteinte.

    • Pour la simultanéité des régions, choisissez comment traiter les régions : séquentiellement (une région à la fois) ou en parallèle (plusieurs régions simultanément).

    • Pour le mode simultané, choisissez le comportement de la simultanéité lors de l’exécution de l’opération.

      • Tolérance stricte aux pannes : réduit le niveau de concurrence des comptes en cas de panne, en restant dans les limites de la tolérance aux pannes +1.

      • Tolérance aux pannes légères : maintient le niveau de concurrence spécifié (la valeur du nombre maximal de comptes simultanés) indépendamment des pannes.

  18. Choisissez Suivant.

  19. Sur la page Vérification, vérifiez vos choix. Pour apporter des modifications, sélectionnez Modifier dans la section correspondante.

  20. Lorsque vous êtes prêt à créer votre StackSet, sélectionnez Soumettre.

    CloudFormation commence à créer votre StackSet. Affichez la progression et le statut de la création des piles dans votre StackSet sur la page de détails du StackSet qui s’ouvre lorsque vous sélectionnez Soumettre.

Créer un StackSet avec des autorisations autogérées (AWS CLI)

Suivez les étapes de cette section pour utiliser la AWS CLI afin de :

  • Créez le conteneur StackSet.

  • Déployez des instances de pile.

Pour créer un StackSet
  1. Utilisez la commande create-stack-set pour créer un nouveau StackSet nommé my-stackset. L’exemple suivant utilise un modèle stocké dans un compartiment S3 et inclut un paramètre qui définit un KeyPairName avec la valeur TestKey.

    aws cloudformation create-stack-set \ --stack-set-name my-stackset \ --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \ --parameters ParameterKey=KeyPairName,ParameterValue=TestKey
  2. Une fois que votre commande create-stack-set est terminée, exécutez la commande list-stack-sets pour vérifier que votre StackSet a bien été créé. Vous devriez voir votre nouveau StackSet dans les résultats.

    aws cloudformation list-stack-sets
  3. Utilisez la commande create-stack-instances pour déployer des ensembles dans votre StackSet. L’exemple suivant déploie des piles dans deux Comptes AWS (account_ID_1 et account_ID_2) dans deux régions (us-west-2 et us-east-1).

    Définissez le traitement simultané des comptes et les autres préférences de déploiement à l’aide de cette option --operation-preferences. Cet exemple utilise des paramètres basés sur le décompte. Notez que MaxConcurrentCount ne doit pas dépasser FailureToleranceCount + 1. Pour les paramètres basés sur des pourcentages, utilisez FailureTolerancePercentage ou MaxConcurrentPercentage à la place.

    aws cloudformation create-stack-instances \ --stack-set-name my-stackset \ --accounts account_ID_1 account_ID_2 \ --regions us-west-2 us-east-1 \ --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0

    Pour plus d’informations, consultez CreateStackInstances dans la Référence d’API AWS CloudFormation.

  4. Utilisez la commande describe-stack-set-operation pour vérifier que vos piles ont été créées avec succès. Pour l’option --operation-id, spécifiez l’ID d’opération renvoyé dans le cadre de la sortie create-stack-instances.

    aws cloudformation describe-stack-set-operation \ --stack-set-name my-stackset \ --operation-id operation_ID