
PHPプログラマーの松永です。
今回は、AWSの機能を使用したAWSアカウント間でAMIを共有の方法をご紹介します。
環境の共有やシステムテスト時の環境作成などの参考になれば幸いです。
目次
前提
- AWSアカウントに1つはインスタンスが作成されていること
- 2つ目のAWSアカウントが作成されていること
AWSアカウント2(共有先)のアカウント番号の確認
AWSアカウント1(共有元)からAWSアカウント2(共有先)へ共有するために事前にAWSアカウント2(共有先)のアカウント番号を確認します。

AWSアカウント1(共有元)の共有するインスタンスのAMIを作成
インスタンス上で右クリックし、イメージの作成を選択いたします。

イメージの作成の時に再起動しないにチェックが入っていることを確認ください。
チェックを忘れた場合、インスタンスが再起動いたしますのでご注意ください。

イメージ作成の進捗はイメージ→AMIから確認することができます。

状態がavailableになっていればイメージ作成が完了となります。

AWSアカウント1(共有元)の共有するインスタンスのAMIの共有設定
AMIを共有するため、AMIのパーミッションを変更します。

プラウベートを選択いたします。
AWS アカウント番号にはAWSアカウント2(共有先)のアカウント番号を入力いたします。

AWSアカウント2(共有先)で共有されたAMIを取り込む
AMIにアクセスいたします。
初期表示では自己所有になっており、共有されたAMIが表示されておりません。
自己所有をプライベートイメージに変更すると共有されたAMIを確認することができます。

AWSアカウント2(共有先)で共有されたAMIでインスタンスの作成
AMIを選択し、作成からインスタンスを作成いたします。

新規作成になりますので、インスタンスタイプなど共有元のインスタンスタイプに影響されずに変更することができます。
あとはEIP、監視、バックアップなどのインスタンスごとに行う設定をに行い完了となります。
pem
pemは作成しなおしとなります。
以上でございます。
まとめ
AWSの機能を使用することで環境構築をより簡易にすることができます。
ゼロから環境を構築するのも1つの学習になりますが、今回のように既存のものに対して複製や共有など何かしらの作業を行うことは運用の一貫として学習になると改めて感じました。

