Amazon EC2 の AMI の新機能「共有タグ」を試してみた

Amazon EC2 の AMI の新機能「共有タグ」を試してみた

AMI の共有元で、キーに ec2:SharedTag/ を付けたタグが共有タグとして共有先に見え、共有元での値の変更が共有先に伝播する動作を確認できました。共有先からの共有タグの変更、削除は拒否されました。
2026.10.07

はじめに

2026-10-05 に、Amazon EC2 の AMI 共有タグが追加されました。

https://aws.amazon.com/jp/about-aws/whats-new/2026/10/ec2-ami-shared-tags/

AMI の所有者が付けたタグのうち、キーに ec2:SharedTag/ を付けたものが、AMI の共有先アカウントから見えるようになる機能です。全リージョンで使え、追加料金はありません。

https://aws.amazon.com/blogs/compute/introducing-ec2-ami-tag-sharing-share-ec2-tags-across-aws-accounts/

この記事では、AMI を別のアカウントへ共有し、共有先からタグがどう見えるか、共有元での更新がどう反映されるかを試した結果を紹介します。

AMI 共有タグの仕様

仕様は、EC2 User Guide の次のページにあります。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html

キーに ec2:SharedTag/ を付けたタグは、アカウントを指定した共有のほか、AWS Organizations を使った共有やパブリック共有でも共有先に見えます。

検証の構成

共有元と共有先の 2 アカウントを使いました。リージョンは ap-northeast-1 です。共有元のアカウントへ最新の Amazon Linux 2023(x86_64)の AMI をコピーし、共有先のアカウントを指定して共有しました。コピー元の AMI ID は、SSM パラメータ /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 で取得しました。

共有タグとして、キーに ec2:SharedTag/ を付けた status と os-version を設定しました。共有先に見えないことを確認するため、キーを team としたタグも付けました。

aws ec2 create-tags \
    --resources ami-0abcdef1234567890 \
    --tags \
    Key=ec2:SharedTag/status,Value=approved \
    Key=ec2:SharedTag/os-version,Value=2023.12.20260930.0 \
    Key=team,Value=private-only

AMI を共有先のアカウントへ共有しました。

aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Add=[{UserId=<共有先アカウントID>}]"

共有先から見えるタグ

共有先で、AMI ID を指定して describe-images を実行した結果です。

タグのキー 共有元で付けた値 共有先の describe-images の Tags
ec2:SharedTag/status approved approved
ec2:SharedTag/os-version 2023.12.20260930.0 2023.12.20260930.0
team private-only 含まれない

AMI ID の指定だけで共有 AMI を参照でき、--executable-users self を加えても結果は同じでした。--executable-users self と --filters Name=tag-key,Values=ec2:SharedTag/* を組み合わせても、同じ AMI が返りました。

共有先からの変更と削除

共有先から、共有タグ status の値の hacked への書き換え、同じタグの削除、新しい共有タグの作成を試しました。3 つとも AccessDenied で拒否されました。書き換えと新規作成はどちらも CreateTags の呼び出しで、同じメッセージが返りました。CreateTags と DeleteTags のメッセージは次のとおりです。

An error occurred (AccessDenied) when calling the CreateTags operation: Only the resource owner can create shared tags on resource 'ami-0abcdef1234567890'.
An error occurred (AccessDenied) when calling the DeleteTags operation: Only the resource owner can delete shared tags on resource 'ami-0abcdef1234567890'.

一方、キーに ec2:SharedTag/ が付かないタグは、共有先からも作成できました。

共有元での更新の反映

共有元で、共有タグ status の値を approved から deprecated に更新しました。

更新から約 5 秒後、共有先で describe-images を実行したところ、status の値は deprecated に変わっていました。次は、その結果から Tags だけを取り出した出力です。

[
    [
        {
            "Key": "ec2:SharedTag/status",
            "Value": "deprecated"
        },
        {
            "Key": "ec2:SharedTag/os-version",
            "Value": "2023.12.20260930.0"
        }
    ]
]

まとめ

AMI のタグのうち、キーに ec2:SharedTag/ を付けたものは、共有先のアカウントから読めるようになり、共有元で更新すると共有先にも反映されることを確認できました。

AWS Compute Blog で紹介されているとおり、ビルド用アカウントが承認済みの AMI を多数のアカウントへ配る golden AMI の運用で古い AMI を非推奨扱いにする場合は、共有元で共有タグ status の値を deprecated に変更します。共有先では、伝播された共有タグ status を参照して判断することで、非推奨の AMI の利用を回避できます。

これまで共有 AMI のタグ管理に課題があった場合は、今回のアップデートをお試しください。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事