AMI のクロスアカウント共有をする際に「Snapshots encrypted with the AWS Managed CMK can’t be shared. Specify another snapshot.」エラーが表示されるときの対処方法

本エラーは AWS マネージドキーによって EBS スナップショットが暗号化されているために発生しているので、AMI のコピーを行ってカスタマーマネージドキーにて暗号化を行うようにしてエラーを回避します。
2022.05.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

自アカウントの AMI を他アカウントに共有しようと設定を行なったところ、Snapshots encrypted with the AWS Managed CMK can't be shared. Specify another snapshot. というエラーが表示されて設定変更が行えません。

Snapshots encrypted with the AWS Managed CMK can’t be shared. Specify another snapshot.

対応方法について教えてください。

どう対応すればいいの?

本エラーは AMI を構成する EBS スナップショットが AWS マネージドキーaws/ebsによって暗号化されているために発生しています。そのため、カスタマーマネージドキーによって EBS スナップショットを暗号化することでエラーを回避できます。

簡単な対処方法は AMI のコピーを行い、KMS キーを AWS マネージドキーからカスタマーマネージドキーに変更することです。

対応方法

対象の AMI を選択した状態でアクションから「AMI をコピー」をクリックします。

AMIをコピー

「AMI コピーの EBS スナップショットを暗号化」にチェックを入れます。

スナップショットを暗号化

KMS キーの項目で、カスタマーマネージドキーを選択して AMI のコピーを実行します。

カスタマーCMK

AMI のコピーが完了したら、コピーした AMI を選択した状態で許可タブから「アカウント ID を追加」をクリックします。

アカウントIDを追加

AMI 共有先の AWS アカウント ID を入力して「AMI を共有」をクリックします。

アカウントID入力

「変更を保存」をクリックするとエラーが表示されずに設定変更が完了します。

変更を保存

AMI 共有先のアカウントの EC2 コンソールを確認したところ、対象の AMI が表示されていました! この AMI を使用して問題なくインスタンスの起動ができました。

共有先のAMI一覧

参考情報