AWSマネージド型キーを使用してデフォルト暗号化されたEBSスナップショットやそれを関連付けされているAMIをアカウント共有して別アカウントでそのまま使用することはAWSで公言されている通りできません。
(AWS公式:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/sharingamis-explicit.html)
もし別アカウントで使用したい場合、デフォルト暗号化されたAMIをカスタマーマネージド型キーで再度暗号化し直すことで別アカウントと共有することで使用できます。
そこから別アカウント上で共有されたAMIを再度デフォルト暗号化することもできます。
手順の流れ
- 【アカウントA】KMSでカスタマー管理型キーの作成
- 【アカウントA】対象AMIをカスタマーマネージド型キーで再度暗号化
- 【アカウントA】対象AMIをアカウントBと共有設定
- 【アカウントB】アカウントBからAMIの共有確認&デフォルト暗号化し直し
1. 【アカウントA】KMSでカスタマー管理型キーの作成
アカウントAのKMSでカスタマー管理型キーを作成していきます。
KMS ⇒ カスタマー管理型のキー ⇒ キーの作成を選択。


キーの設定内容は下記の通りで次へ。

エイリアス名は「kms-test」として次へ。

キー自体の管理アクセスできるリソースを指定する。
今回はアカウントAのIAMユーザである「shimmy」を指定。

キーを使用することができるリソースを指定する。
アカウントAのIAMユーザである「shimmy」とアカウントBのアカウントIDを(黒枠に)指定する。
次へ押下して、作成を完了する。

下記の通り作成できていることを確認する。

2.【アカウントA】対象AMIをカスタマーマネージド型キーで再度暗号化
対象となるAMIをコピーします。
コピーする際に、「AMiコピーのEBSスナップショットを暗号」にチェックを入れ、
KMSキーには先ほど作成した「ksm-test」キーを指定します。

コピー後、AMIが作成されていることを確認。
AMI名は「copy-ami-accountA-server」とします。

3. 【アカウントA】対象AMIをアカウントBと共有設定
先ほどコピーしたAMIをアカウントBと共有できるように設定します。
「copy-ami-accountA-server」に対してアクションから「AMI許可の編集」をします。

「アカウント許可を作成するときに、関連付けられたスナップショットに [ボリュームを作成] の許可を追加します。」にチェックを入れます。
※チェックするとAMIだけではなく、AMIに関連付けられたスナップショットにも共有の設定が適用され、共有先のアカウントでスナップショットを使用することができます。
共有アカウントにはAWSアカウントBのアカウントIDを登録します。
その後「変更を保存」します。

共有されるとAMIとそれに関連するスナップショットの許可設定が下記の通り(黒枠に)アカウントBのアカウントIDが表示されます。

4. 【アカウントB】アカウントBからAMIの共有確認&デフォルト暗号化し直し
アカウントBのAMIおよびスナップショットの画面で下記画面赤枠の箇所をプライベートにすると共有されたAMI/スナップショットが表示されます。

このままでも使用できますが、アカウントBでデフォルト暗号化したい場合は、
共有されたAMIをアクション ⇒ AMIコピーを選択します。

今度はKMSキーをAWSマネージド型キー「aws/ebs」を選択してコピーします。

コピー完了後、下記画面赤枠を「自己所有」にするとコピーしたAMI/スナップショットが作成されていることを確認します。
※「プライベート」と「自己所有」の区別
共有されたAMI/スナップショット ⇒ 「プライベート」
アカウント上で作成したAMI/スナップショット ⇒ 「自己所有」

以上で完了。
コメント