
AWS ha ideato il Migration Acceleration Program (MAP) per rendere il più fluido possibile il percorso di migrazione dei clienti verso AWS, con l'ulteriore vantaggio di crediti e partner cash a sostegno del progetto. Nel programma AWS MAP, il cliente riceve una percentuale di crediti e partner cash calcolata sull'Annual Recurring Revenue (ARR) all'interno del Total Cost of Ownership (TCO) nella fase MAP Assess, come illustrato nello schema qui sotto.

Superata la fase Assess, prende il via il progetto di migrazione e AWS monitora la spesa tramite il Cost Usage Tag applicato a tutte le risorse appena create che fanno parte del progetto MAP. Il tag MAP ha questo formato: Key: map-migrated Value: mig123456. I clienti che stanno migrando ricevono crediti e partner cash al raggiungimento di determinate soglie di spesa stabilite da AWS, che ne monitora il valore tramite il cost usage tag 'map-migrated' con un proprio meccanismo. Un tagging corretto è quindi la spina dorsale di un progetto MAP di successo: se il cliente dimentica di applicare il tag ad alcune risorse, perderà anche i relativi crediti e partner cash.
Noi di DoiT, in qualità di AWS Certified MAP partner, vogliamo che il cliente applichi il tag MAP a tutte le risorse e ottenga così il 100% dei vantaggi del programma. DoiT mette a disposizione CloudFlow, un prodotto che fa parte della piattaforma DoiT Cloud Intelligence™ e che aiuta a garantire un tagging corretto fin dall'inizio del percorso di migrazione.
In questo articolo vedremo come automatizzare il tagging delle istanze EC2 e RDS.
Prerequisiti:
- Un account AWS con accesso Admin
- Istanze EC2 avviate oggi (*trattandosi di una semplice demo, le consigliamo di avviare le istanze più piccole per contenere i costi)
- Accesso ad AWS CloudShell
1) Apra DoiT CloudFlow:

2) Clicchi su Create CloudFlow:
Può assegnare un nome al CloudFlow cliccando sulla barra di testo in alto a sinistra, accanto al logo DoiT. CloudFlow prevede due modalità di trigger, descritte di seguito. Per questa demo utilizzeremo il Manual Trigger:
Manual Trigger: consente di decidere quando eseguire on demand il template di CloudFlow.
Custom Schedule: permette di pianificare l'esecuzione del CloudFlow su base giornaliera, settimanale o mensile, in base alle esigenze. Si tratta in pratica di un Cron Job.

3) Esegua un'azione:
La logica che applicheremo qui consiste nel cercare tutte le istanze EC2 avviate di recente. Per farlo, clicchi sull'opzione "Perform an action".

Cerchi la API Call DescribeInstances dell'azione EC2. Si assicuri di selezionare EC2 e non un'altra risorsa.
API Call DescribeInstances Perform Action
Cliccando sul box DescribeInstances si apre un menu di configurazione, dove dovrà indicare il numero del proprio account AWS e la regione. Nei menu a tendina sono disponibili anche le opzioni "All accounts" e "All regions", utili per applicare la configurazione a una porzione ampia della propria infrastruttura.

È ora il momento di configurare i permessi. CloudFlow assegna permessi molto granulari tramite comandi cli integrati, quindi non dovrà preoccuparsi degli accessi alle risorse di cui CloudFlow disporrà.
Nella scheda dei permessi, cliccando su "Check for required permissions", CloudFlow utilizza un ruolo denominato "doitintl-cmp" (creato nel momento in cui collega il proprio account AWS a CloudFlow; per approfondire come collegare un account AWS a CloudFlow può consultare la documentazione dettagliata). CloudFlow verificherà i permessi necessari per eseguire la API call e, se mancanti, genererà per lei un comando AWS cli.

Copi il comando ed esegua nel suo AWS CloudShell e voilà: avrà i permessi necessari in modo semplice e rapido, senza dover accedere alla console IAM e cercare di individuare i giusti permessi json, servizi e così via. Una volta eseguito il comando, cliccando di nuovo su check permissions vedrà il messaggio "All permissions are in place to run this action."
4) Filtri le EC2 avviate dopo la data odierna:
A questo punto deve filtrare le EC2 avviate dopo la data odierna. I crediti AWS MAP non sono retroattivi, quindi, in sintesi, non riceverà crediti per le risorse AWS avviate prima della data di approvazione dell'AWS MAP Opportunity. Ecco come filtrare le EC2 avviate dopo la data odierna: clicchi su "Add additional parameters" e selezioni "Filters".

Clicchi su "Add additional Filters 1 parameters" e selezioni "Values" e "Name".

Inserisca "launch-time" nel campo name e il wildcard della data odierna "2025–03–12T*".

5) Crei il tag map-migrated:
Torni quindi al workflow per creare un nuovo step: selezioni nuovamente 'Perform an new action' e cerchi "Create Tags" per AWS EC2.

Dopo aver selezionato create tag, scelga InstanceID come filtro e, nell'elenco dei tag, selezioni sia Key sia Value come identificatori.
La key è la parte più importante: è univoca e case sensitive. Si assicuri che non vi siano errori o refusi, altrimenti AWS non rileverà la spesa associata al tag e lei non riceverà alcun credito per il trimestre in corso.
Ai nostri fini, la key sarà 'mig1234' e il value sarà 'map-migrated'.

6) Applichi il tag alle istanze RDS
Oltre ai workloads EC2 in MAP, può creare passaggi analoghi anche per i workloads RDS. In questo caso dovrà utilizzare la API call "DescribeDBInstances" per filtrare le istanze RDS appena avviate.

Crei poi un nuovo step e questa volta selezioni 'Filter results'.

Per configurare lo step dovrà selezionare la fonte dati (lo step precedente, 'DescribeDBInstances') e aggiungere un filtro per qualsiasi risorsa creata dopo l'approvazione della MAP opportunity (ipoteticamente, il 17 marzo alle 9 del mattino).

Fatto questo, non resta che applicare il tag appena creato alle istanze RDS ed eseguire il CloudFlow. Torni al workflow e aggiunga un'ultima API call, questa volta chiamata 'AddTagsToResource' per Amazon RDS.

Per configurare questo step indicherà come Resource Name la stringa proveniente dallo step di filtro precedente, aggiungendo poi un'ulteriore coppia Key e Tag in linea con quelle usate per le istanze EC2.

A questo punto basta cliccare su publish per eseguire il CloudFlow. Vedrà il tag applicato alle istanze EC2 e RDS avviate oggi, così come a tutti gli altri workloads che avvierà nei giorni successivi. Per essere certo che tutte le istanze EC2 e RDS siano taggate con map-migrated dopo la data odierna, può anche pianificare l'esecuzione giornaliera del CloudFlow.
Per scoprire di più su DoiT CloudFlow e su come può trasformare le raccomandazioni di risparmio sul cloud in risultati concreti, contatti oggi stesso un esperto DoiT.