Aller au contenu principal

Quiz de Validation - MODULE 15

Ce quiz de 30 questions vous permet de valider vos connaissances sur CloudFormation et l'Infrastructure as Code.


Question 1​

Qu'est-ce que l'Infrastructure as Code (IaC) ?

A) Du code qui s'execute sur l'infrastructure
B) La gestion de l'infrastructure via des fichiers de configuration declaratifs
C) Un langage de programmation
D) Un service AWS

Voir la reponse

Reponse : B

L'IaC consiste a definir et gerer l'infrastructure via des fichiers de code/configuration plutot que manuellement. Avantages : reproductibilite, versioning, automatisation, coherence, documentation vivante.


Question 2​

Qu'est-ce que AWS CloudFormation ?

A) Un service meteo
B) Le service AWS d'Infrastructure as Code pour provisionner des ressources via des templates
C) Un service de stockage
D) Un Load Balancer

Voir la reponse

Reponse : B

CloudFormation permet de definir des ressources AWS dans des templates (YAML ou JSON). Il cree, met a jour et supprime les ressources automatiquement en gerant les dependances.


Question 3​

Quels formats de fichiers CloudFormation supporte-t-il ?

A) XML uniquement
B) JSON et YAML
C) Python uniquement
D) Terraform

Voir la reponse

Reponse : B

CloudFormation supporte JSON et YAML. YAML est generalement prefere car plus lisible (supporte les commentaires, moins verbeux). Les deux sont equivalents fonctionnellement.


Question 4​

Qu'est-ce qu'une "Stack" CloudFormation ?

A) Une pile de serveurs
B) Un ensemble de ressources AWS gerees comme une unite a partir d'un template
C) Un type de stockage
D) Un groupe de securite

Voir la reponse

Reponse : B

Une Stack est une collection de ressources AWS creees et gerees ensemble. Quand vous creez une stack, CloudFormation provisionne toutes les ressources definies dans le template. Supprimer la stack supprime toutes ses ressources.


Question 5​

Quelles sont les sections principales d'un template CloudFormation ?

A) Seulement Resources
B) Parameters, Mappings, Conditions, Resources, Outputs
C) Seulement Inputs et Outputs
D) Variables et Functions

Voir la reponse

Reponse : B

Sections : AWSTemplateFormatVersion, Description, Metadata, Parameters (inputs), Mappings, Conditions, Transform, Resources (obligatoire), Outputs. Seule Resources est obligatoire.


Question 6​

Quelle est la seule section obligatoire d'un template CloudFormation ?

A) Parameters
B) Resources
C) Outputs
D) Description

Voir la reponse

Reponse : B

La section Resources est la seule obligatoire. Elle definit les ressources AWS a creer (EC2, S3, VPC, etc.). Sans ressources, le template ne cree rien.


Question 7​

Qu'est-ce qu'un "Parameter" dans CloudFormation ?

A) Une constante
B) Une valeur fournie au moment de la creation/mise a jour de la stack
C) Une ressource
D) Un output

Voir la reponse

Reponse : B

Les Parameters sont des valeurs d'entree personnalisables lors du deploiement. Ils rendent les templates reutilisables (ex: choisir le type d'instance, le nom de l'environnement). On peut definir des valeurs par defaut et des contraintes.


Question 8​

Comment referencer un parametre dans un template CloudFormation ?

A) La syntaxe dollar-accolades
B) !Ref NomParametre
C) @Parameter
D) #Ref Parameter

Voir la reponse

Reponse : B

La fonction intrinseque !Ref retourne la valeur d'un parametre ou l'ID d'une ressource. Syntaxe YAML : !Ref NomParametre. Syntaxe JSON : Ref avec NomParametre entre guillemets.


Question 9​

Qu'est-ce qu'un "Output" dans CloudFormation ?

A) Un fichier de sortie
B) Une valeur exportee de la stack (ex: URL, ID) utilisable par d'autres stacks
C) Un log
D) Une erreur

Voir la reponse

Reponse : B

Les Outputs exportent des valeurs apres la creation de la stack : IDs de ressources, URLs, ARNs. Ils peuvent etre affiches dans la console, retournes par l'API, ou importes dans d'autres stacks (cross-stack references).


Question 10​

Comment importer une valeur d'une autre stack ?

A) !Import
B) !ImportValue NomExport
C) !CrossStack
D) Ce n'est pas possible

Voir la reponse

Reponse : B

!ImportValue permet d'importer une valeur exportee par une autre stack. La stack source doit avoir un Output avec Export:Name. La stack importatrice utilise !ImportValue NomExport pour recuperer la valeur.


Question 11​

Qu'est-ce que la fonction !GetAtt ?

A) Obtenir un attribut
B) Recuperer un attribut specifique d'une ressource (ex: ARN, DNS name)
C) Obtenir tous les attributs
D) Supprimer un attribut

Voir la reponse

Reponse : B

!GetAtt retourne un attribut specifique d'une ressource. Exemple : !GetAtt MyEC2.PublicIp retourne l'IP publique. Chaque type de ressource a des attributs differents documentes dans la reference CloudFormation.


Question 12​

Que fait la fonction !Sub ?

A) Soustraction
B) Substitution de variables dans une chaine de caracteres
C) Sous-routine
D) Subscription

Voir la reponse

Reponse : B

!Sub substitue des variables dans une chaine. Exemple : !Sub avec arn:aws:s3:::NomBucket/* remplace la variable par la valeur. Supporte les variables de template et les pseudo-parametres.


Question 13​

Qu'est-ce qu'un pseudo-parametre dans CloudFormation ?

A) Un faux parametre
B) Un parametre predefini par AWS (ex: AWS::Region, AWS::AccountId)
C) Un parametre cache
D) Un parametre optionnel

Voir la reponse

Reponse : B

Les pseudo-parametres sont fournis par AWS automatiquement : AWS::Region (region actuelle), AWS::AccountId (ID du compte), AWS::StackName (nom de la stack), AWS::StackId, AWS::NoValue.


Question 14​

Que fait CloudFormation si la creation d'une ressource echoue ?

A) Continue avec les autres
B) Rollback automatique - supprime les ressources creees et revient a l'etat initial
C) Ignore l'erreur
D) Envoie un email

Voir la reponse

Reponse : B

Par defaut, si une ressource echoue, CloudFormation fait un rollback : il supprime toutes les ressources creees pendant cette operation. La stack revient a son etat precedent (ou est supprimee si c'etait une creation).


Question 15​

Comment voir pourquoi une stack a echoue ?

A) Impossible
B) Consulter les Events de la stack dans la console ou via CLI
C) Dans S3
D) Via email

Voir la reponse

Reponse : B

Les Events de la stack montrent le statut de chaque ressource et les messages d'erreur. La console affiche une timeline. CLI : aws cloudformation describe-stack-events --stack-name NomStack.


Question 16​

Qu'est-ce qu'un Change Set ?

A) Un ensemble de changements monetaires
B) Une preview des modifications que CloudFormation apportera a une stack
C) Un backup
D) Un nouveau template

Voir la reponse

Reponse : B

Un Change Set montre les modifications qui seront appliquees avant de les executer. Il indique quelles ressources seront ajoutees, modifiees ou supprimees. Permet de valider les changements avant de les appliquer.


Question 17​

Qu'est-ce que "Drift Detection" ?

A) Detection de derive
B) Detection des differences entre la configuration actuelle et le template original
C) Detection de mouvement
D) Detection d'erreurs

Voir la reponse

Reponse : B

Drift Detection compare l'etat actuel des ressources avec ce qui est defini dans le template. Elle detecte les modifications manuelles (drift) faites en dehors de CloudFormation. Important pour maintenir la coherence IaC.


Question 18​

Qu'est-ce qu'un Nested Stack ?

A) Une stack cachee
B) Une stack qui inclut d'autres stacks comme ressources
C) Une stack supprimee
D) Une stack de test

Voir la reponse

Reponse : B

Un Nested Stack est une stack creee comme ressource (AWS::CloudFormation::Stack) dans une autre stack. Permet de decomposer les templates complexes en modules reutilisables.


Question 19​

Qu'est-ce que AWS SAM par rapport a CloudFormation ?

A) Un remplacement
B) Une extension de CloudFormation simplifiee pour les applications serverless
C) Un service completement different
D) Une version obsolete

Voir la reponse

Reponse : B

AWS SAM (Serverless Application Model) est une extension de CloudFormation qui simplifie la definition de Lambda, API Gateway, DynamoDB, etc. Les templates SAM sont transformes en templates CloudFormation lors du deploiement.


Question 20​

Comment supprimer une stack CloudFormation ?

A) Supprimer le template
B) aws cloudformation delete-stack --stack-name NomStack ou via console
C) Arreter les instances
D) Ce n'est pas possible

Voir la reponse

Reponse : B

Supprimez via la console ou CLI : aws cloudformation delete-stack --stack-name NomStack. CloudFormation supprime toutes les ressources de la stack dans le bon ordre (dependances inversees). Certaines ressources peuvent avoir une DeletionPolicy.


Question 21​

Qu'est-ce que DeletionPolicy ?

A) Une politique de suppression d'employes
B) Une politique qui determine ce qui arrive a une ressource quand la stack est supprimee
C) Une politique de retention de logs
D) Une politique IAM

Voir la reponse

Reponse : B

DeletionPolicy definit le comportement lors de la suppression : Delete (supprime la ressource), Retain (garde la ressource), Snapshot (cree un snapshot avant suppression - pour RDS, EBS). Protege contre les suppressions accidentelles.


Question 22​

Qu'est-ce que UpdateReplacePolicy ?

A) Une politique de mise a jour
B) Une politique qui determine ce qui arrive a une ressource quand elle est remplacee lors d'un update
C) Une politique de remplacement de personnel
D) Une politique de rollback

Voir la reponse

Reponse : B

UpdateReplacePolicy definit le comportement quand une mise a jour necessite le remplacement d'une ressource (Recreation). Similaire a DeletionPolicy mais pour les updates qui remplacent.


Question 23​

Qu'est-ce que !Condition dans CloudFormation ?

A) Une condition medicale
B) Une logique conditionnelle pour creer ou non des ressources selon des parametres
C) Une erreur
D) Une boucle

Voir la reponse

Reponse : B

Les Conditions permettent de creer des ressources conditionnellement. Exemple : creer une instance de base de donnees seulement si le parametre Environment est "Production". Utilise avec !If, !Equals, !And, !Or, !Not.


Question 24​

Comment tester un template CloudFormation avant deploiement ?

A) Deployer en production
B) aws cloudformation validate-template, Change Sets, ou cfn-lint
C) Impossible
D) Via email

Voir la reponse

Reponse : B

Methodes : aws cloudformation validate-template (syntaxe), cfn-lint (linter avec best practices), Change Sets (preview des changements), TaskCat (tests multi-region), deploiement dans un compte de test.


Question 25​

Qu'est-ce que StackSets ?

A) Des ensembles de templates
B) Deployer une stack dans plusieurs comptes et regions simultanement
C) Des stacks groupees
D) Des backups de stacks

Voir la reponse

Reponse : B

StackSets permet de deployer une stack CloudFormation dans plusieurs comptes AWS et/ou regions avec une seule operation. Ideal pour les configurations organisationnelles (guardrails, compliance).


Question 26​

Comment empecher les modifications manuelles sur les ressources CloudFormation ?

A) Impossible
B) Stack Policy, IAM policies restrictives, SCPs, et alertes CloudTrail
C) Supprimer les utilisateurs
D) Chiffrer les ressources

Voir la reponse

Reponse : B

Strategies : Stack Policy (protege certaines ressources des updates), IAM policies (restreindre les modifications directes), SCPs (au niveau Organization), alertes CloudTrail pour les modifications non-CF, Drift Detection reguliere.


Question 27​

Qu'est-ce que cfn-init ?

A) L'initialisation de CloudFormation
B) Un helper script pour configurer les instances EC2 au demarrage via les Metadata
C) Un service reseau
D) Un type de template

Voir la reponse

Reponse : B

cfn-init est un utilitaire qui lit les metadata AWS::CloudFormation::Init et configure l'instance : installer des packages, creer des fichiers, demarrer des services. Utilise avec UserData et cfn-signal pour signaler le succes.


Question 28​

Qu'est-ce que cfn-signal ?

A) Un signal radio
B) Un helper pour signaler a CloudFormation que la configuration de l'instance est terminee
C) Un log
D) Un trigger

Voir la reponse

Reponse : B

cfn-signal envoie un signal de succes ou d'echec a CloudFormation. Utilise avec CreationPolicy ou WaitCondition pour que CloudFormation attende que l'instance soit completement configuree avant de continuer.


Question 29​

Qu'est-ce que LocalStack permet de faire avec CloudFormation ?

A) Rien
B) Tester les templates CloudFormation localement sans compte AWS
C) Deployer en production
D) Sauvegarder les templates

Voir la reponse

Reponse : B

LocalStack emule CloudFormation localement. Vous pouvez tester vos templates sans compte AWS ni couts. Utilisez : awslocal cloudformation create-stack --stack-name test --template-body file://template.yaml


Question 30​

Quelle est la meilleure pratique pour organiser les templates CloudFormation ?

A) Un seul fichier enorme
B) Decomposer en modules (nested stacks), utiliser des parametres, versionner avec Git
C) Pas de structure
D) Un template par ressource

Voir la reponse

Reponse : B

Best practices : decomposer en modules logiques (reseau, compute, BDD), utiliser des nested stacks ou des references cross-stack, parametrer pour la reutilisation, versionner dans Git, nommer clairement, documenter avec Description et Metadata.


Resultat​

Comptez vos bonnes reponses :

  • 27-30 : Excellent - Vous maitrisez CloudFormation
  • 22-26 : Bien - Quelques points a revoir
  • 17-21 : Moyen - Relisez le cours avant le lab
  • Moins de 17 : Insuffisant - Reprenez le cours depuis le debut

Passez au Lab CloudFormation une fois que vous avez atteint au moins 22 bonnes reponses.