
AWS a conçu le Migration Acceleration Program (MAP) pour fluidifier au maximum la migration des clients vers AWS, avec à la clé des crédits et du partner cash destinés à financer le projet. Dans le cadre du programme AWS MAP, le client perçoit un pourcentage de crédits et de partner cash calculé à partir de l'Annual Recurring Revenue (ARR) défini dans le Total Cost of Ownership (TCO) lors de la phase MAP Assess, comme illustré dans le schéma ci-dessous.

Une fois la phase Assess franchie, le projet de migration démarre et AWS surveille les dépenses via le Cost Usage Tag appliqué à toutes les ressources nouvellement déployées dans le cadre du projet MAP. Le tag MAP suit ce format Key: map-migrated Value: mig123456. Les clients en cours de migration reçoivent les crédits et le partner cash dès qu'ils franchissent certains seuils de dépense fixés par AWS. AWS suit le cost usage tag map-migrated via son propre mécanisme. Un tagging rigoureux constitue donc la colonne vertébrale d'un projet MAP réussi. Si un client oublie d'appliquer le tag à certaines ressources, il passera à côté des crédits et du partner cash correspondants.
Chez DoiT, en tant que partenaire AWS Certified MAP, nous tenons à ce que nos clients appliquent correctement le tag MAP à toutes leurs ressources afin de profiter à 100 % des avantages du programme. DoiT propose un produit appelé CloudFlow, intégré à la plateforme DoiT Cloud Intelligence™, qui aide à mettre en place un tagging fiable dès le démarrage de la migration.
Dans cet article, nous vous montrons comment automatiser le tagging des instances EC2 et RDS.
Prérequis :
- Un compte AWS avec accès Admin
- Des instances EC2 lancées le jour même (*il s'agit d'une simple démo, pensez à lancer les plus petites instances possibles pour limiter les coûts)
- Un accès à AWS CloudShell
1) Accédez à DoiT CloudFlow :

2) Cliquez sur Create CloudFlow :
Pour nommer le CloudFlow, il vous suffit de cliquer dans la barre de texte en haut à gauche, à côté du logo DoiT. CloudFlow propose deux modes de déclenchement, présentés ci-dessous. Pour cette démo, nous opterons pour le déclenchement manuel :
Manual Trigger : permet de contrôler le lancement du modèle CloudFlow à la demande.
Custom Schedule : permet de planifier l'exécution du CloudFlow chaque jour, chaque semaine ou chaque mois selon vos besoins. À rapprocher du concept de Cron Job.

3) Perform an Action :
L'idée ici consiste à rechercher toutes les instances EC2 récemment lancées. Pour cela, cliquez sur l'option Perform an action.

Recherchez l'appel d'API EC2 DescribeInstances. Veillez à sélectionner EC2 et non une autre ressource.
Appel d'API DescribeInstances Perform Action
Lorsque vous cliquez sur la case DescribeInstances, un menu de configuration s'ouvre : vous devez y sélectionner votre numéro de compte AWS et votre région. Les options All accounts et All regions figurent dans les listes déroulantes si vous souhaitez appliquer cette action à un large périmètre de votre infrastructure.

Place ensuite à la configuration des permissions. CloudFlow fournit nativement des permissions très granulaires via des commandes cli : vous n'avez donc pas à vous soucier des accès aux ressources dont CloudFlow disposera.
Dans l'onglet permissions, lorsque vous cliquez sur Check for required permissions, CloudFlow s'appuie sur un rôle nommé doitintl-cmp (ce rôle est créé lors du rattachement de votre compte AWS à CloudFlow ; pour en savoir plus sur cette procédure, consultez la documentation détaillée ici). CloudFlow vérifie alors les permissions nécessaires à l'exécution de cet appel d'API et, si elles sont absentes, génère pour vous une commande AWS cli.

Copiez cette commande, exécutez-la dans votre AWS CloudShell et le tour est joué : vous obtenez la permission requise sans détour, sans avoir à passer par la console IAM ni à deviner les bons fichiers json, services, etc. Une fois la commande exécutée, recliquez sur check permissions : le message All permissions are in place to run this action. s'affichera.
4) Filtrez les EC2 lancées après la date du jour :
Vous devez à présent filtrer les EC2 lancées après la date du jour. Les crédits AWS MAP ne sont pas rétroactifs : autrement dit, vous ne percevrez pas de crédits pour les ressources AWS lancées avant la date d'approbation de l'opportunité AWS MAP. Voici comment procéder. Cliquez sur Add additional parameters et sélectionnez Filters.

Cliquez sur Add additional Filters 1 parameters et sélectionnez Values et Name.

Ajoutez launch-time dans le champ name, ainsi que le wildcard de la date du jour 2025–03–12T*.

5) Créez le tag map-migrated :
Revenez ensuite au workflow pour créer une nouvelle étape, en sélectionnant à nouveau Perform an new action puis en recherchant Create Tags pour AWS EC2.

Après avoir sélectionné create tag, choisissez InstanceID comme filtre, puis dans la liste des tags, sélectionnez à la fois Key et Value comme identifiants.
La key est l'élément le plus important : elle est unique et sensible à la casse. Veillez à éviter toute erreur ou faute de frappe, sans quoi AWS ne rattachera pas les dépenses au tag et vous vous retrouverez sans crédits pour le trimestre en cours.
Pour notre exemple, la key sera mig1234 et la value sera map-migrated.

6) Taguez les instances RDS
En complément du tagging de vos workloads EC2 MAP, vous pouvez créer des étapes similaires pour vos workloads RDS. Il vous faudra alors utiliser l'appel d'API DescribeDBInstances pour filtrer les instances RDS nouvellement lancées.

Créez ensuite une nouvelle étape, en sélectionnant cette fois Filter results.

Pour configurer l'étape, sélectionnez votre source de données (l'étape précédente, DescribeDBInstances) puis ajoutez un filtre sur tout ce qui a été créé après l'approbation de l'opportunité MAP (par exemple le 17 mars à 9 h).

Voilà qui est fait. Il ne reste plus qu'à appliquer le tag fraîchement créé aux instances RDS, puis à exécuter votre CloudFlow. Retournez dans le workflow et ajoutez un dernier appel d'API, cette fois nommé AddTagsToResource, pour Amazon RDS.

Pour configurer cette étape, sélectionnez la chaîne issue de l'étape de filtrage précédente comme Resource Name, puis ajoutez une autre Key et un autre Tag alignés sur ceux définis pour les instances EC2.

Il suffit ensuite de cliquer sur publish pour exécuter le CloudFlow. Vous verrez le tag s'ajouter aux instances EC2 et RDS lancées le jour même, ainsi qu'à tous les autres workloads que vous lancerez par la suite. Pour vous assurer que toutes les instances EC2 et RDS portent bien le tag map-migrated à partir de cette date, vous pouvez également planifier une exécution quotidienne du CloudFlow.
Pour en savoir plus sur DoiT CloudFlow et découvrir comment transformer les recommandations d'économies cloud en résultats concrets, contactez dès aujourd'hui un expert DoiT.