Lambda Managed InstancesでPropagateTagsがサポートされたので、EC2/EBS/ENIへのタグ自動伝播を試してみた
はじめに
2026年6月15日、PropagateTags機能が追加され、キャパシティプロバイダー(CP)のExplicitTagsに指定したタグを、設定後に新規作成されるLMI管理リソースへ自動伝播できるようになりました。
Lambda Managed Instances(LMI)のマネージドリソース(EC2インスタンス・EBSボリューム・ENI)には、これまでLMIの設定としてユーザー定義タグを自動付与する手段がありませんでした。コスト配分タグによる按分やタグベースのガバナンスを運用している環境では、LMIが管理するリソースだけがタグの空白地帯になるという課題がありました。
検証してみた
設定
ModeにExplicitを指定した場合、ExplicitTagsに指定したタグが伝播されます。このモードでは、ドキュメント上、CPのTagsパラメータ(CP自体に付けるタグ)は伝播しないとされています。ExplicitTagsに指定できるタグはドキュメント上最大40個とされています。
aws lambda create-capacity-provider \
--capacity-provider-name my-capacity-provider \
--permissions-config CapacityProviderOperatorRoleArn=arn:aws:iam::123456789012:role/lmi-operator-role \
--vpc-config 'SubnetIds=subnet-xxx,SecurityGroupIds=sg-xxx' \
--propagate-tags '{"Mode": "Explicit", "ExplicitTags": {"CostCenter": "test-123", "Project": "lmi-tag-test"}}' \
--region ap-northeast-1
既存CPにもupdate-capacity-providerで後から設定できます。ただし、タグが伝播されるのは設定後に新規作成される管理リソースであり、既存リソースには遡及しません。
検証環境
| 項目 | 値 |
|---|---|
| リージョン | ap-northeast-1 |
| PropagateTags のタグ | CostCenter=test-123, Project=lmi-tag-test |
結果
タグ伝播なし(従来動作)の状態では、EC2インスタンスにはシステムタグのみが付与されていました。
[
{ "Key": "aws:ec2:managed-launch", "Value": "lambda-managed-instances" },
{ "Key": "aws:lambda:capacity-provider", "Value": "arn:aws:lambda:ap-northeast-1:123456789012:capacity-provider:my-capacity-provider" }
]
PropagateTags設定後に新規作成された管理リソースでは、以下のようにユーザー定義タグが付与されました。
EC2 インスタンス(3台全て同様):
[
{ "Key": "CostCenter", "Value": "test-123" },
{ "Key": "Project", "Value": "lmi-tag-test" },
{ "Key": "aws:ec2:managed-launch", "Value": "lambda-managed-instances" },
{ "Key": "aws:lambda:capacity-provider", "Value": "arn:aws:lambda:ap-northeast-1:123456789012:capacity-provider:my-capacity-provider" }
]
EBS ボリューム(1インスタンスあたり2ボリューム、計6個全て同様):
[
{ "Key": "CostCenter", "Value": "test-123" },
{ "Key": "Project", "Value": "lmi-tag-test" }
]
ENI(1インスタンスあたり1インタフェース、計3個全て同様):
[
{ "Key": "CostCenter", "Value": "test-123" },
{ "Key": "Project", "Value": "lmi-tag-test" }
]
EBS・ENIでは aws: プレフィックスのシステムタグは今回の検証環境では確認されませんでした。
なお、LMIが管理するEC2インスタンスはデフォルトではdescribe-instancesの結果に表示されません。確認時には--include-managed-resourcesフラグが必要です。
VPC フローログでのタグ確認(追加検証)
VPCフローログのタグフィールド機能(instance-tag / interface-tag)でも、PropagateTagsで伝播したタグを確認しました。
タグフィールドに出力するタグキーは、フローログ作成時に--tag-field-specificationsで指定します。今回はProjectキーを指定しました。
11 123456789012 eni-xxxxxxxxxxxxxxxxx ... REJECT OK - lmi%2Dtag%2Dtest lmi%2Dtag%2Dtest - - - - -
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
instance-tag interface-tag
instance-tag / interface-tagの両方に、Projectタグの値が記録されていることを確認できました。検証環境では、タグ値lmi-tag-testはlmi%2Dtag%2Dtestとパーセントエンコードされた形式で記録されていました。
なお、検証時点では--tag-field-specificationsのTagKeysに複数キーを指定するとAPIエラーになったため、この記事ではProjectの1キーのみを指定しています。
活用できる場面
コスト管理:
CPごとに識別可能なタグ値をExplicitTagsに設定し、コスト配分タグとして有効化すれば、EC2/EBSなどの利用コストをCP単位で識別しやすくなります。
コスト配分タグの有効化前の過去コストには遡及しません。
ガバナンス:
タグ必須の統制を行っている環境では、PropagateTagsによってLMI管理リソースにも必要なタグを付与できるため、既存のタグガバナンスに合わせやすくなります。AWS Configのrequired-tagsルールでタグ付与状況を確認したり、SCPでタグなしの作成リクエストを制御したりする運用との組み合わせが考えられます。
参考として、Projectタグがリクエストに含まれていない場合を判定する条件は次のように書けます。
"Condition": {
"Null": {
"aws:RequestTag/Project": "true"
}
}
これは完全なSCPではなく、タグ判定条件の例です。SCPのaws:RequestTagはリクエスト時点のタグを評価するため、対象APIやタグ付与タイミングに依存する点に注意してください。
フローログによる通信識別:
CPごとに異なるタグ値を設定し、VPCフローログのタグフィールドに該当キーを出力するよう設定すれば、フローログ上でLMIインスタンスの通信をCP単位で識別できます。
まとめ
PropagateTagsにより、これまでユーザー定義タグを自動付与できなかったLMI管理リソースにも、CP側で指定したタグを伝播できるようになりました。
今回の検証では、ExplicitTagsに指定したタグが、設定後に新規作成されるEC2インスタンス・EBSボリューム・ENIへ付与されることを確認しました。これにより、LMI管理リソースだけがタグ管理の空白地帯になる課題を解消し、コスト配分やタグベースの管理に組み込みやすくなります。
なお、タグが伝播するのは設定後に新規作成される管理リソースのみで、既存リソースには遡及しません。








