AMIやEBSスナップショットを特定アカウントと共有する
はじめに
AMIやEBSスナップショットをアカウント間で共有する手順を紹介します。
また、今回はAMIやEBSスナップショットを一般公開せず、特定のアカウント間で共有する条件で
やってみました。
AMIを特定アカウントと共有する
共有元アカウントで作業
AMIsをクリック
共有したいAMIを選択してActionsリストからModify Image Permissionsを選択
AWS Account NumberにAMI を共有するアカウントIDを指定してAdd Permission をクリックしSaveします。
スナップショットのボリューム作成アクセス許可を与えるには、[Add "create volume" permissions to the following associated snapshots when creating permissions] をオンにします。
Note
AMI を共有するために、AMI の参照先の Amazon EBS スナップショットを共有する必要はありません。共有する必要があるのは AMI 自体だけです。起動の際に、参照先の Amazon EBS スナップショットへのインスタンスアクセスが自動的に提供されます。
共有先アカウントでAMIが共有されているか確認
AMIs→Private imagesから共有したAMIを確認することができました。
しかしこのAMIは共有元で削除された場合なくなってしまいます。
そのためこちらのアカウントで保存しておきたい場合はこのAMIからLaunchしてCreate Imageしておいてください。
スナップショットを他アカウントと共有する
AMIの共有はとてもシンプルでした。
スナップショットを共有する場合はいくつか制約があるので簡単にまとめます。
- 暗号化されていないEBS スナップショットの共有が可能
- 共有されたEBS スナップショットを元に自分のEBS ボリュームを作成可能
- 元のスナップショットは変更されることはない
- スナップショットは、スナップショットが作成されたリージョンに制限される
- 別のリージョンとスナップショットを共有する場合は、スナップショットをそのリージョンにコピーする
また、暗号化されたスナップショットを共有することはできません。
これはボリュームとスナップショットの暗号化に使用されるキーがアカウントに固有なキーな為で
もし共有したい場合はデータを暗号化されていないボリュームに移行し、スナップショットを作成する必要があります。
共有元アカウントで作業
Snapshotsをクリック
共有したいスナップショットを選択してActionsリストからModify Snapshot Permissionsを選択
AWS Account Numberにスナップショットを共有するアカウントIDを指定してAdd PermissionをクリックしSaveする
共有先アカウントでスナップショットが共有されているか確認
Snapshots→Private Snapshotsから共有したスナップショットを確認することができました。
またこちらも共有元で削除された場合はなくなってしまいます。
こちらもCreate Volumeをしスナップショットを作成することでこちらのアカウントで保存しておけます。
また簡単にスナップショットをcopyしておくのも良いでしょう。
まとめ
AMIやEBSスナップショットをアカウント間で共有する方法を紹介しました。
現在のアカウントから別アカウントへ移行するときにも使える方法だと思います。
参考ドキュメント