AMIやEBSスナップショットを特定アカウントと共有する

アイキャッチ AWS EC2

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

はじめに

高橋です。

AMIやEBSスナップショットをアカウント間で共有する手順を紹介します。
また、今回はAMIやEBSスナップショットを一般公開せず、特定のアカウント間で共有する条件で
やってみました。

AMIを特定アカウントと共有する

共有元アカウントで作業

skitch

AMIsをクリック

skitch

共有したいAMIを選択してActionsリストからModify Image Permissionsを選択

skitch

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が共有されているか確認

skitch

AMIs→Private imagesから共有したAMIを確認することができました。
しかしこのAMIは共有元で削除された場合なくなってしまいます。
そのためこちらのアカウントで保存しておきたい場合はこのAMIからLaunchしてCreate Imageしておいてください。

スナップショットを他アカウントと共有する

AMIの共有はとてもシンプルでした。
スナップショットを共有する場合はいくつか制約があるので簡単にまとめます。

  • 暗号化されていないEBS スナップショットの共有が可能
  • 共有されたEBS スナップショットを元に自分のEBS ボリュームを作成可能
  • 元のスナップショットは変更されることはない
  • スナップショットは、スナップショットが作成されたリージョンに制限される
  • 別のリージョンとスナップショットを共有する場合は、スナップショットをそのリージョンにコピーする

また、暗号化されたスナップショットを共有することはできません。
これはボリュームとスナップショットの暗号化に使用されるキーがアカウントに固有なキーな為で
もし共有したい場合はデータを暗号化されていないボリュームに移行し、スナップショットを作成する必要があります。

共有元アカウントで作業

skitch

Snapshotsをクリック

skitch

共有したいスナップショットを選択してActionsリストからModify Snapshot Permissionsを選択

 

skitch

 AWS Account Numberにスナップショットを共有するアカウントIDを指定してAdd PermissionをクリックしSaveする

共有先アカウントでスナップショットが共有されているか確認

skitch

Snapshots→Private Snapshotsから共有したスナップショットを確認することができました。
またこちらも共有元で削除された場合はなくなってしまいます。
こちらもCreate Volumeをしスナップショットを作成することでこちらのアカウントで保存しておけます。
また簡単にスナップショットをcopyしておくのも良いでしょう。

まとめ

AMIやEBSスナップショットをアカウント間で共有する方法を紹介しました。

現在のアカウントから別アカウントへ移行するときにも使える方法だと思います。

参考ドキュメント

特定の AWS アカウントと AMI を共有する

スナップショットの共有