Le poste d'ingénieur AWS CloudFormation / CDK se rencontre surtout là où l'organisation a choisi de rester sur les outils d'AWS : comptes nombreux gérés avec AWS Organizations et Control Tower, applications serverless, équipes de développement qui veulent écrire l'infrastructure dans leur langage. Les offres le présentent souvent comme un poste d'ingénieur cloud AWS ou de platform engineer, avec CloudFormation ou le CDK dans la liste, parfois à côté de Terraform.
Un CV qui cite le CDK ne dit pas si la personne sait lire ce qu'il produit. Les incidents classiques viennent d'un identifiant logique modifié par un refactoring, qui fait remplacer une table DynamoDB, d'une stack bloquée en UPDATE_ROLLBACK_FAILED, ou d'un compte jamais bootstrappé. Sur un poste multi-comptes s'ajoutent les StackSets et les personnalisations de Control Tower.
Le candidat commente la sortie d'un cdk diff qui annonce le remplacement d'une base de données. Un profil expérimenté s'arrête et cherche l'identifiant logique qui a changé. Le PDF propose 30 questions sur six axes, une étude de cas de 20 minutes et une grille de 1 à 4.
Les services AWS d'infrastructure as code au programme du poste
AWS CloudFormation
Le service qui crée et met à jour des ressources AWS à partir d'un template YAML ou JSON. Chaque déploiement forme une stack, et CloudFormation garde lui-même l'état : il n'y a pas de fichier de state à gérer. En cas d'échec, il revient en arrière automatiquement, ce qui ne fonctionne pas toujours.
Change sets
L'aperçu d'une mise à jour avant son exécution : ressources ajoutées, modifiées, supprimées ou remplacées. Les change sets qui tiennent compte de la dérive comparent aussi avec l'état réel et montrent les modifications manuelles qui seront écrasées. Un ingénieur sérieux n'exécute rien en production sans les lire.
StackSets
Le déploiement d'un même template dans de nombreux comptes et régions. Avec AWS Organizations, les StackSets ciblent des unités d'organisation et se déploient automatiquement dans les nouveaux comptes. C'est l'outil des rôles d'audit, des règles AWS Config et des socles réseau communs.
AWS CDK
Un framework open source pour décrire l'infrastructure en TypeScript, Python, Java, C# ou Go. Le code se compose de constructs de trois niveaux, du plus brut (L1) au motif complet (L3), et cdk synth le transforme en templates CloudFormation. Depuis 2025, le CLI suit son propre rythme de versions, séparé de la bibliothèque aws-cdk-lib.
Bootstrap et assets
Avant tout déploiement CDK, chaque compte et chaque région reçoivent une stack CDKToolkit : bucket pour les fichiers, dépôt ECR pour les images, rôles de déploiement. Le bootstrap par défaut donne des droits administrateur à CloudFormation. Reste à savoir si la personne l'a déjà restreint.
Dérive, import et refactoring
La détection de dérive repère les modifications faites hors de CloudFormation. L'import et l'IaC generator font entrer des ressources créées à la main, et cdk migrate les convertit en application CDK. Le refactoring de stacks, et cdk refactor encore en préversion, déplacent des ressources sans les recréer.
cfn-lint, cfn-guard, cdk-nag et Hooks
Les contrôles avant déploiement. cfn-lint valide le template, cfn-guard et cdk-nag vérifient des règles de sécurité et de conformité. Les Hooks CloudFormation appliquent ces règles directement dans le service, même pour un déploiement lancé hors du pipeline.
Service Catalog et Control Tower
Service Catalog publie des templates validés que les équipes lancent sans droits d'administration. Control Tower encadre la création des comptes ; Customizations for Control Tower et Account Factory Customization y ajoutent des StackSets et des blueprints. On les retrouve sur les postes orientés landing zone.
Le profil se situe entre l'ingénieur cloud AWS et le développeur. Sur un poste orienté applications, il écrit des stacks CDK avec les équipes de développement, souvent pour du serverless : Lambda, API Gateway, DynamoDB, Step Functions. Sur un poste orienté plateforme, il gère des dizaines ou des centaines de comptes avec StackSets, Service Catalog et Control Tower. Les deux demandent de lire un template CloudFormation et de diagnostiquer une stack en échec. La certification AWS Certified DevOps Engineer Professional couvre CloudFormation et le déploiement multi-comptes, et reste valable trois ans. L'entretien doit vérifier ce qu'elle ne mesure pas : la reprise d'un incident réel.
Points techniques à valider chez un ingénieur CloudFormation / CDK
- Cycle de vie des stacks, rollback et reprise
- Change sets et remplacements de ressources
- Multi-comptes : StackSets, Organizations, Control Tower
- CDK : constructs, identifiants logiques, synthèse
- Tests et contrôles : assertions, cdk-nag, cfn-guard, Hooks
- Bootstrap, pipelines et droits IAM
Cinq questions d'entretien CloudFormation et CDK
Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.
Question 1 · confirmé
Une stack est bloquée en UPDATE_ROLLBACK_FAILED. Que s'est-il passé, et comment la débloquez-vous ?
Une bonne réponseLa mise à jour a échoué, puis le retour arrière a échoué à son tour : ressource modifiée ou supprimée hors de CloudFormation, droit manquant, dépendance disparue. Il lit les événements de la stack pour trouver la ressource en cause, corrige la cause (recréer l'élément manquant, rétablir le droit), puis lance continue-update-rollback. En dernier recours, il passe la ressource dans resources-to-skip, en sachant que la stack ne reflète plus la réalité pour cette ressource et qu'il faudra la réaligner. Il ne supprime pas une stack qui porte des données.
Signal d'alerteSupprimer la stack et la redéployer, base de données comprise. Ouvrir un ticket au support AWS sans avoir lu les événements.
Question 2 · confirmé
Dans le CDK, un collègue a déplacé une table DynamoDB dans un nouveau construct. cdk diff annonce un remplacement. Pourquoi, et que faites-vous ?
Une bonne réponseL'identifiant logique de la ressource est calculé à partir du chemin du construct dans l'arbre. En changeant de parent, la table change d'identifiant, et CloudFormation crée une nouvelle table puis supprime l'ancienne. Il garde l'ancien identifiant avec overrideLogicalId sur la ressource L1 (node.defaultChild) ou avec l'identifiant Default dans le construct englobant, ou il utilise cdk refactor, encore en préversion, qui s'appuie sur le refactoring de stacks de CloudFormation. Il ne déploie pas tant que le diff montre un remplacement, et met RemovalPolicy.RETAIN sur les ressources qui portent des données.
Signal d'alerteDéployer quand même en pensant que les données suivront. Ne pas savoir d'où vient l'identifiant logique.
Question 3 · senior
Vous devez déployer un rôle d'audit et des règles AWS Config dans 80 comptes, y compris ceux qui seront créés demain. Comment faites-vous ?
Une bonne réponseUn StackSet avec des permissions gérées par le service, ciblé sur des unités d'organisation d'AWS Organizations, avec le déploiement automatique activé pour que chaque nouveau compte de l'OU reçoive la stack. Il le pilote depuis un compte administrateur délégué plutôt que depuis le compte de gestion. Il règle les préférences d'opération (nombre de comptes en parallèle, tolérance d'échec, ordre des régions) et protège les ressources déployées par une SCP. Sous Control Tower, il cite Customizations for Control Tower comme alternative.
Signal d'alerteUn script qui boucle sur les comptes avec des clés administrateur. Oublier les comptes créés après le premier déploiement.
Question 4 · confirmé
Constructs L1, L2 et L3 : quelle différence, et quand descendez-vous au niveau L1 ?
Une bonne réponseLes L1 (classes Cfn*) sont générés depuis la spécification de CloudFormation et correspondent une à une aux ressources. Les L2 ajoutent des valeurs par défaut et des méthodes comme grantRead. Les L3 assemblent un motif complet, par exemple ApplicationLoadBalancedFargateService. Il descend au L1 ou utilise les échappatoires (node.defaultChild, addPropertyOverride) quand une propriété n'est pas exposée par la L2 ou qu'une nouveauté d'AWS n'y figure pas encore. Il relit ce que produit un L3 avant de l'utiliser en production.
Signal d'alerte« Les L3, c'est toujours mieux. » Ignorer les échappatoires et réécrire tout en L1 à la première limite.
Question 5 · confirmé
Que fait cdk bootstrap, et pourquoi un premier déploiement vers un nouveau compte échoue-t-il sur un bucket ou un rôle introuvable ?
Une bonne réponseLe bootstrap crée la stack CDKToolkit dans chaque couple compte et région : un bucket pour les assets, un dépôt ECR pour les images, des rôles de déploiement, de publication et de lecture, et le rôle d'exécution de CloudFormation. Sans lui, le déploiement ne trouve ni le bucket ni les rôles. Pour un pipeline central, il ajoute --trust vers le compte d'outillage et remplace la politique d'exécution par défaut, AdministratorAccess, par une politique limitée. Il connaît le qualifier pour faire cohabiter plusieurs bootstraps.
Signal d'alerteNe pas savoir ce qu'est le bootstrap, ou le lancer avec ses identifiants personnels en gardant AdministratorAccess sans y penser.
Recevez la fiche d'entretien complète en PDF
La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.
- 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
- Le niveau visé pour chaque question
- Une mise en situation de 20 minutes et ce qu'on attend du candidat
- La grille d'évaluation de 1 à 4, axe par axe
Ingénieur AWS CDK : questions fréquentes
CloudFormation ou CDK : quel profil chercher ?
Cela dépend de ce que l'équipe écrit déjà. Une équipe de développement TypeScript ou Python adopte souvent le CDK. Une équipe plateforme qui gère des landing zones écrit encore beaucoup de CloudFormation brut et de StackSets. Dans les deux cas, l'entretien exige la lecture d'un template et le diagnostic d'une stack en échec, puisque le CDK produit du CloudFormation.
Un ingénieur Terraform peut-il tenir un poste CloudFormation / CDK ?
Oui, s'il connaît bien AWS. Les notions de plan, de dérive et d'import se retrouvent. Il devra apprendre ce qui diffère : pas de fichier de state, rollback automatique, change sets, exports entre stacks, bootstrap du CDK. Sur un poste multi-comptes, l'entretien vérifie en plus les StackSets et Control Tower, qu'un profil Terraform a rarement pratiqués.
Quelle certification AWS regarder sur le CV ?
AWS Certified DevOps Engineer Professional est la plus proche du poste : déploiement, CloudFormation, multi-comptes, supervision. Solutions Architect Associate montre une base solide sur les services. Les deux sont valables trois ans, ce qui permet de voir si elles sont à jour. Aucune ne vérifie la reprise d'une stack bloquée ou un refactoring CDK sans remplacement, qu'il faut aborder en entretien.
Comment construire un test technique court pour ce poste ?
L'exercice part d'une petite application CDK et de la sortie d'un cdk diff qui remplace une table DynamoDB après un déplacement de construct. La personne explique la cause, propose la correction et écrit un test avec le module assertions. S'y ajoute une question sur une stack en UPDATE_ROLLBACK_FAILED. En quarante-cinq minutes, on voit la lecture du CloudFormation généré et la prudence en production.
Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.





