AWS

【AWS】EC2のAMIを別のAWSアカウントと共有する

稼働しているEC2インスタンスを別のAWSアカウントに移行するという案件がありました。
今回はその際の手順をまとめていこうと思います。

AMIを共有する

EC2インスタンスを移行する際には、EC2インスタンスのAMIを作成し、そのAMIを別のアカウントと共有して、AMIからEC2インスタンスを起動させることで移行することができます。

まずはEC2インスタンスの共有したいAMIを作成しておきましょう。

AMIの一覧を開き、共有したいイメージを選択し、「イメージパーミッションの変更」を選択します。

以下のような画面になります。
共有したい、移行先のAWSアカウント番号を入力し、「アクセス許可の追加」ボタンをクリックします。
AWSアカウント番号は、ユーザー画面で確認することができます。

「AWSアカウント番号」に先ほど追加したアカウント番号が追加されたかと思います。
「保存」ボタンをクリックして保存しましょう。

今回はチェックを入れていませんが、「パーミッションを作成するときは次の関連づけられたスナップショットに”ボリューム作成”パーミッションを追加する」にチェックを入れると、AMIだけでなくsnapshotも共有されます。
共有snapshotからEBSボリュームを作成することが可能です。
その場合は、スナップショット側でも共有の設定が必要です。

以上で共有の設定は完了です。
移行先のAWSアカウントでのAMIの画面を確認しましょう。

赤で囲った部分で「プライベートイメージ」を選択すると先ほど共有の設定をしたAMIイメージが表示されているかと思います。

共有したイメージを選択して、「起動」を選択します。

これ以降は通常のEC2インスタンスを作成する流れと同様になりますのでいつも通り作成していきましょう!

これで完了です!

共有した後に特に必要なければ、先ほどの「イメージパーミッションの変更」で共有の設定を解除しておきましょう。