3.1 - Provisionnement avec CloudFormation et StackSets

L'objectif 3.1 de l'AWS SysOps Administrator couvre le provisionnement des ressources en infrastructure as code. Les modèles AWS CloudFormation utilisent Parameters, Mappings, Conditions, Resources et Outputs avec des fonctions intrinsèques comme Ref, Fn::GetAtt, Fn::Sub et Fn::ImportValue. Tu prévisualises les mises à jour avec des change sets, tu partages des valeurs entre stacks via Export et ImportValue ou des stacks imbriquées, tu protèges des ressources avec une stack policy, et tu conserves les données à la suppression avec DeletionPolicy Retain ou Snapshot. La détection de dérive montre quand une ressource a été modifiée hors du modèle, et un échec de création déclenche un rollback. Les CloudFormation StackSets déploient un modèle sur de nombreux comptes et régions, avec des permissions autogérées ou gérées par le service via AWS Organizations. Les références dynamiques récupèrent des secrets depuis Secrets Manager ou Parameter Store. Attends-toi à des mises en situation sur la bonne fonctionnalité CloudFormation.

Astuce mémoire
Prévisualiser une mise à jour = change set. Garder une base quand le stack est supprimé = DeletionPolicy Retain. Un modèle sur plusieurs comptes et régions = StackSets.

Questions d'entraînement

1. Quelle commande AWS CLI crée ou met à jour une alarme métrique CloudWatch ?

  • aws cloudwatch put-metric-alarm (bonne réponse)
  • aws cloudwatch create-alarm-and-attach-sns-notification-topic
  • aws cloudwatch set-alarm-state
  • aws logs put-metric-filter

put-metric-alarm crée ou met à jour une alarme métrique de façon idempotente. set-alarm-state ne force qu'un état temporaire pour les tests, et put-metric-filter appartient à CloudWatch Logs, pas aux alarmes.

2. Un batch doit pousser son propre compteur 'JobsProcessed' dans CloudWatch. Quel appel d'API publie cette métrique personnalisée ?

  • PutMetricData (bonne réponse)
  • PutMetricAlarm, qui crée aussi automatiquement la métrique sous-jacente
  • GetMetricData utilisé en mode écriture pour le namespace personnalisé
  • PutDashboard, en intégrant la valeur dans une définition de widget

PutMetricData envoie des points de métrique personnalisée dans un namespace ; la métrique est créée à la première publication. PutMetricAlarm ne configure que des alarmes, et GetMetricData est en lecture seule.

3. Votre équipe utilise encore une launch configuration. Quelle capacité exige plutôt de migrer vers une launch template ?

  • Définir un seul AMI et type d'instance
  • Versionnage et instances mixtes (bonne réponse)
  • Attacher un security group au lancement
  • Fournir des user data au démarrage

Les launch templates gèrent le versionnage, les mixed instances policies et des fonctions récentes que les launch configurations ne peuvent pas exprimer. Un seul AMI, un security group et les user data sont gérés par les deux.

4. Vous devez définir quels fichiers et métriques l'agent unifié CloudWatch collecte. Où cela se trouve-t-il ?

  • Dans les tags du log group, lus par l'agent à chaque démarrage
  • Dans le JSON de configuration de l'agent, souvent dans SSM Parameter Store (bonne réponse)
  • Dans une alarme CloudWatch qui pousse la liste de collecte vers l'agent
  • Dans le user data de l'instance seulement, relu par l'agent chaque minute

L'agent lit un JSON de config (logs collect_list, métriques) que les équipes gardent souvent dans SSM Parameter Store pour le réutiliser. Les tags, les alarmes et le user data ne portent pas la définition de collecte de l'agent.

5. Sur un hôte EC2 neuf, quel utilitaire génère une configuration de départ de l'agent unifié de façon interactive ?

  • La commande aws logs create-configuration de l'AWS CLI
  • Le plugin SSM Session Manager en mode configuration non supervisée
  • La directive cloud-init qui écrit la config de l'agent au premier boot
  • Le amazon-cloudwatch-agent-config-wizard sur l'instance (bonne réponse)

L'assistant de configuration livré avec l'agent pose des questions et écrit un JSON de départ. La commande aws logs create-configuration n'existe pas, Session Manager sert au shell, et cloud-init ne génère pas la config de manière interactive.

6. Vous voulez qu'une Lambda de sonde de santé custom tourne toutes les cinq minutes, hors Synthetics. Quoi la planifie proprement ?

  • Une alarme CloudWatch déclenchant la Lambda
  • Un metric stream configuré avec un délai de cinq minutes
  • Une règle planifiée EventBridge invoquant la Lambda (bonne réponse)
  • Un widget de dashboard rafraîchi toutes les cinq minutes

Une règle planifiée EventBridge (rate ou cron) invoque la Lambda à intervalle fixe, la manière standard d'exécuter des contrôles périodiques. Les alarmes réagissent à des métriques et non à un planning, les metric streams exportent des données, et un rafraîchissement de dashboard ne fait que redessiner.

Objectifs liés