アカウント間のAMI共有/コピー方法

2019-11-19

概要

  • 今回は、よくあるシチュエーションであるAWSアカウント間で、EC2のAMI を共有/コピーする方法をご紹介します。
  • 実は簡単にできると思ったAMIのコピーで、「You do not have permission to access the storage of this ami」のエラーに遭遇したため、対応方法のまとめです。
 

アカウント間のAMI共有/コピー方法

共有元の手順

  • EC2のAWSコンソールを開き、AMI を選択します。
  • 共有あるいはコピーしたいAMIを選択します。
  • 画面下側において、[アクセス許可]タブを選択し、[編集]ボタンを押します。
  • [イメージパーミッションの変更]画面が開きます。目的がAMIを共有したいか、あるいはコピーしたいかによって、一部操作が異なります。下記選択し、保存を押します。
    • プライベートを選択
    • [AWSアカウント番号] を入力し、[アクセス許可の追加] をクリック
    • アカウント間でコピーを許可する場合は、スナップショットに”ボリューム作成”のパーミッション追加をクリック(共有のみは不要)

共有先の手順

  • 共有先より、AMIからプライベートイメージを選択することで共有が許可されたAMI が表示されます。共有のみであれば、このAMIを使用して、EC2を起動しましょう。
  • コピーする場合は、対象のAMIを選択し、[アクション]あるいは右クリックして、[AMIのコピー]を選択します。
 
  • 下記画面が表示されるため、[送信先リージョン]を選択して、[AMIのコピー]を押します。
  • もし、共有元が別リージョン(例:フランクフルト)であった場合、共有先アカウントのフランクフルトリージョンにAMIが表示されます。改めて、使用するリージョン(例:東京)にコピーを行います。
 
  • これで、AMI のコピーが完了です。
 

ハマるポイント

  • 共有元の手順で、スナップショットに”ボリューム作成”のパーミッション追加をクリックしていなければ、下記のエラーが表示されます。
    • 「You do not have permission to access the storage of this ami」
  • 実は、このチェックボックスは共有した後から付けても有効になりません(設定ではなく、アクションと理解しましょう)。アカウント番号にアクセス許可を追加する時に合わせてチェックすることで、スナップショットにも”ボリューム作成”のパーミッションが追加されます。チェックし忘れた場合は、一旦アカウント番号のアクセス許可を削除し、やり直しましょう。

AWS, EC2

Posted by takaaki