Closed1

【AWS EC2】EC2インスタンスを別のAWSアカウントに移行

MatsukageRyo(松蔭瞭)MatsukageRyo(松蔭瞭)

移行ステップ

次の STEP に沿って、実際に EC2 のアカウント移行を行ってみます。

STEP 1 : 移行元アカウントで AMI を作成します

STEP 2 : STEP 1 で作成した移行元アカウントの AMI を移行先アカウントに共有します

STEP 3 : 移行元アカウントから共有された AMI を用いて移行先アカウントで EC2 インスタンスを起動します

STEP 4: キーペアの移行

STEP 5 : 移行先アカウントで AMI を作成します

STEP 6: 移行元アカウントで AMI の共有を解除します

STEP 1

移行元アカウントで EC2 を停止し、AMI を作成します。

AMI には必要な EBS ボリュームをすべて含めるようにします。

STEP 2

移行元アカウントにおいて、AMI の「アクション」→「イメージパーミッションの変更」を選択した後に、「AWS アカウント番号」に移行先アカウント(Account-B)のアカウント ID を入力して「保存」します。

移行先アカウントから共有された AMI を確認します。確認の際は「プライベートイメージ」を選択する必要があります。「所有者」には移行元アカウント(Account-A)のアカウント ID が表示されます。

STEP 3

移行元アカウントから共有されている AMI を選択し、「アクション」→「起動」を実行して EC2 インスタンスを作成します。

今回のシナリオでは、EC2 のインスタンスタイプとストレージサイズは移行元 EC2 インスタンスと合わせています。

移行元アカウント同様に、作成した EC2 インスタンスには Elastic IP アドレスを割り当てます。

STEP 4

ローカル環境において、移行元アカウントで作成したキーペアのプライベートキー(.pem)からパブリックキーを作成します。

$ ssh-keygen -y -f test-transfer-keypair.pem > test-transfer-keypair.pub

ssh-keygen コマンド実行時にパーミッションに関する WARNING が出ることがあります。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'test-transfer-keypair.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "test-transfer-keypair.pem": bad permissions

WARNING への対処法としては、不要な読み取り権限を削除するために chmod コマンドで権限を変更します。

$ chmod 0600 test-transfer-keypair.pem

次に、移行先アカウントにおいて、EC2 のキーペア画面から「アクション」→「キーペアをインポート」を選択します。

先ほどローカルで作成したパブリックキーを選択して「インポート」します。

以上で移行は完了です。

STEP 5

現状では移行元アカウントの AMI を利用しており、移行先アカウントには AMI が無い状況なので、移行先アカウントにおいても EC2 インスタンスを停止して AMI を作成します。

作成した AMI を確認します。「プライベートイメージ」で確認した場合に、移行元アカウントから共有されている AMI と移行先アカウントで作成した AMI の両方が表示されますが、移行先アカウントで作成した AMI 名「test-ami-b」の「所有者」を確認すると、移行先アカウントのアカウント ID が表示されていることが確認できます。

参考

EC2インスタンスを別のAWSアカウントに移行する方法

キーペアを別のAWSアカウントに移行する方法

このスクラップは2024/01/21にクローズされました