Question d'entraînement CLF-C02
Une entreprise gère une application web composée d'instances Amazon EC2, d'une base de données Amazon RDS et d'un compartiment Amazon S3. L'équipe déploie l'application dans des environnements de développement, de test et de production séparés. Actuellement, l'équipe configure manuellement chaque environnement, ce qui a entraîné des dérives de configuration et des erreurs de déploiement. L'entreprise souhaite définir l'ensemble de l'infrastructure sous forme de code, stocker la définition dans un système de contrôle de version et la déployer de manière cohérente dans tous les environnements avec un seul modèle. Quel service AWS l'entreprise doit-elle utiliser pour répondre à ces exigences ?
Bonne réponse
Explication
AWS CloudFormation est le bon choix car il vous permet de définir l'ensemble de votre infrastructure — y compris les instances EC2, les bases de données RDS et les compartiments S3 — sous forme de code dans un modèle JSON ou YAML. Ce modèle peut être stocké dans un système de contrôle de version et déployé de manière cohérente dans les environnements de développement, de test et de production à l'aide d'un seul modèle, éliminant ainsi la dérive de configuration et les erreurs manuelles.
Pour aller plus loin
AWS CloudFormation est le service natif d'infrastructure as code (IaC) d'AWS. Vous décrivez des ressources, telles que des instances EC2, des bases de données RDS, des compartiments S3, des groupes de sécurité et des rôles IAM, dans un modèle JSON ou YAML, et CloudFormation les crée, met à jour et supprime ensemble sous forme de pile (stack), en déterminant le bon ordre à partir des dépendances. Un modèle peut être utilisé pour le développement, le test et la production en ajoutant des paramètres, par exemple la taille d'instance ou le nom d'environnement, ainsi que des mappages ou des conditions pour les valeurs qui diffèrent. Étant donné que le modèle est un fichier texte, il réside dans Git comme le code d'application, de sorte que chaque modification est examinée et versionnée. Les jeux de modifications (change sets) prévisualisent ce qu'une mise à jour fera avant son exécution, la détection de dérive (drift detection) signale les ressources modifiées manuellement en dehors de CloudFormation, ce qui correspond exactement au problème décrit, et une mise à jour échouée est annulée automatiquement. StackSets déploie le même modèle sur plusieurs comptes et régions. L'AWS CDK permet aux développeurs d'écrire CloudFormation dans des langages de programmation tels que Python ou TypeScript. Les distracteurs résolvent différents problèmes. AWS Elastic Beanstalk déploie et exécute des applications web sur une plateforme gérée, créant une partie de l'infrastructure pour vous, mais ce n'est pas un moyen général de définir toute l'infrastructure sous forme de code. AWS OpsWorks fournissait Chef et Puppet gérés pour la gestion de configuration et a atteint sa fin de vie. AWS CodeDeploy automatise le déploiement de code d'application sur EC2, Lambda, ECS ou des serveurs sur site ; il ne crée pas d'infrastructure. À l'examen Cloud Practitioner, des termes tels que 'infrastructure as code', 'modèles', 'environnements répétables' ou 'provisionner des ressources de manière cohérente' désignent CloudFormation.
À propos de ces questions d'entraînement
Cette question fait partie des questions d'entraînement CLF-C02 originales de Courseiva, rédigées pour apprendre et jamais copiées d'examens réels ou de dumps.
Traduite de l'original anglais avec l'IA et vérifiée pour le sens. Les codes d'examen, les commandes et les noms de produits sont conservés tels qu'ils apparaissent à l'examen.