
AWSは、お客様のAWS移行をできる限りスムーズに加速させるためにMigration Acceleration Program(MAP)を用意しており、移行プロジェクトの資金として使えるクレジットやパートナーキャッシュも特典として提供されます。AWS MAPでは、下図のとおりMAP Assessフェーズで算出されるTotal Cost of Ownership(TCO)内のAnnual Recurring Revenue(ARR)に応じて、一定割合のクレジットとパートナーキャッシュがお客様に付与されます。

Assessフェーズを通過するといよいよ移行プロジェクトが始まり、AWSはこのMAPプロジェクトで新たに起動されたすべてのリソースに付与されたCost Usage Tagをもとに支出を追跡します。MAPタグの形式は Key: map-migrated Value: mig123456 です。移行を進めるお客様は、AWSが定めた支出のしきい値に応じてクレジットとパートナーキャッシュを受け取ります。AWSはこの「map-migrated」タグを独自の仕組みで監視しているため、適切なタグ付けこそMAPプロジェクト成功の生命線です。一部のリソースでタグ付けが漏れれば、その分のクレジットとパートナーキャッシュも取りこぼしてしまいます。
AWS認定MAPパートナーであるDoiTは、お客様がMAPの恩恵を100%受けられるよう、すべてのリソースに確実にMAPタグを適用していただきたいと考えています。DoiTが提供する CloudFlow は、DoiT Cloud Intelligence™プラットフォームの一部であり、移行のスタート時点から正しいタグ付けを実現するのに役立ちます。
本記事では、EC2およびRDSインスタンスのタグ付けを自動化する手順をデモ形式でご紹介します。
前提条件:
- 管理者権限を持つAWSアカウント
- 本日起動したEC2インスタンス(*あくまでデモなので、コストを抑えるため最小サイズのインスタンスを起動してください)
- AWS CloudShellへのアクセス
1) DoiT CloudFlowを開く:

2) Create CloudFlowをクリック:
左上のDoiTロゴ横にあるテキストバーをクリックすれば、CloudFlowに名前を付けられます。CloudFlowのトリガー方法は以下の2種類です。本デモではManual Triggerを使用します。
Manual Trigger: CloudFlowテンプレートを実行するタイミングをオンデマンドで自由に制御できます。
Custom Schedule: 必要に応じて日次・週次・月次でCloudFlowを実行するスケジュールを組めます。Cronジョブのようなイメージです。

3) Perform an Action:
ここでは、最近起動したEC2インスタンスをすべて検索するロジックを使います。「Perform an action」をクリックしてください。

DescribeInstances EC2 Action API Callを検索します。EC2を選び、他のリソースを選ばないように注意してください。
DescribeInstances Perform Action API Call
DescribeInstancesのボックスをクリックすると設定メニューが開くので、AWSアカウント番号とリージョンを選択します。インフラ全体に幅広く適用したい場合は、ドロップダウンに"All accounts"と"All regions"のオプションも用意されています。

続いて権限の設定です。CloudFlowはCLIコマンドベースで非常にきめ細かい権限管理を行うため、CloudFlowに与えるリソースアクセスについて過度に心配する必要はありません。
権限タブで「Check for required permissions」をクリックすると、CloudFlowは「doitintl-cmp」というロールを使用します(このロールはAWSアカウントをCloudFlowに接続した際に作成されます。接続方法の詳細はこちらのドキュメントをご覧ください)。CloudFlowは該当のAPIコール実行に必要な権限を確認し、不足していればAWS CLIコマンドを自動生成します。

そのコマンドをコピーして AWS CloudShell で実行すれば完了。IAMコンソールを開いて正しいJSONポリシーやサービスを調べる手間もなく、必要な権限をあっという間に付与できます。コマンド実行後にもう一度「Check permissions」をクリックすると、「All permissions are in place to run this action.」というメッセージが表示されます。
4) 本日以降に起動したEC2を絞り込む:
次に、本日以降に起動したEC2を絞り込みます。AWS MAPクレジットは遡及適用されないため、AWS MAP Opportunity承認日より前に起動したAWSリソースにはクレジットが付与されません。本日以降に起動したEC2を絞り込む手順は次のとおりです。「Add additional parameters」をクリックし、「Filters」を選択します。

「Add additional Filters 1 parameters」をクリックし、「Values」と「Name」を選択します。

nameフィールドに「launch-time」、値には当日の日付のワイルドカード「2025–03–12T*」を入力します。

5) map-migratedタグを作成:
次に、ワークフローに戻って新しいステップを作成します。再度「Perform an new action」を選択し、AWS EC2の「Create Tags」を検索します。

create tagを選んだら、フィルターにInstanceIDを指定し、タグ一覧ではKeyとValueの両方を識別子として選択します。
キーは最重要項目で、一意かつ大文字・小文字を区別します。スペルミスや誤入力があるとAWS側でタグ支出が認識されず、当四半期のクレジットを一切受け取れなくなるので、必ず慎重に確認してください。
本デモではキーを「mig1234」、値を「map-migrated」とします。

6) RDSインスタンスのタグ付け
EC2のMAP workloadsに加えて、RDS workloadsにも同じ流れでタグ付けを行えます。新しく起動したRDSインスタンスを絞り込むには、「DescribeDBInstances」APIコールを使います。

続いて新しいステップを作成し、今回は「Filter results」を選択します。

このステップでは、データソースとして直前のステップ「DescribeDBInstances」を選択し、MAP Opportunityが承認された後(ここでは仮に3月17日午前9時)に作成されたリソースだけを残すフィルターを追加します。

あとは作成したタグをRDSインスタンスに付与し、CloudFlowを実行するだけです。ワークフローに戻り、最後のAPIコールとしてAmazon RDS用の「AddTagsToResource」を追加します。

このステップでは、Resource Nameに直前のフィルターステップの文字列を指定し、EC2で設定したものと揃えてKeyとTagを追加します。

あとはpublishをクリックすればCloudFlowが実行されます。本日起動したEC2・RDSインスタンスはもちろん、本日以降に起動するworkloadsにもタグが付与されていく様子を確認できます。今後起動するすべてのEC2・RDSインスタンスにmap-migratedタグを確実に付与するため、CloudFlowを日次実行するようスケジュール設定するのもおすすめです。
DoiT CloudFlowの詳細や、クラウドのコスト削減レコメンデーションを実際の成果につなげる方法について知りたい方は、今すぐ DoiTのエキスパートにご相談 ください。