![見出し画像](https://assets.st-note.com/production/uploads/images/74004532/rectangle_large_type_2_59ba7ea6bbe441c399e4fd1920046a70.png?width=1200)
AWS EC2のアカウント間引っ越し
AWSのサービスを丸ごと別のアカウントに引っ越すのは、アカウントを付け替えればいいだけなので楽ちんなのですが、一部サービスのみ別のアカウントに引っ越したい場合は少し難儀です。今回、ec2インスタンスを別のアカウントに引っ越す必要があるので、そのやり方を記録しておきます。
移行手順
移行元のインスタンスの停止
![](https://assets.st-note.com/img/1648532168073-VlhqYVSthh.png?width=1200)
移行元インスタンスのAMI(イメージ)作成
![](https://assets.st-note.com/img/1648532404181-9zB1YE1KwS.png?width=1200)
![](https://assets.st-note.com/img/1648532633304-hj86TPQFRW.png?width=1200)
![](https://assets.st-note.com/img/1648533752678-Z2nrCY7RaQ.png?width=1200)
AMIの共有
AMIを移行先のアカウントに共有します。
![](https://assets.st-note.com/img/1648533889567-9xzoAdgHGJ.png?width=1200)
![](https://assets.st-note.com/img/1648534497396-8MJDjigudn.png?width=1200)
![](https://assets.st-note.com/img/1648534590070-ybhDHbPyXO.png?width=1200)
![](https://assets.st-note.com/img/1648534684897-Lyw2rph4GL.png?width=1200)
共有先でAMIからインスタンスを作成する
![](https://assets.st-note.com/img/1648535661565-JJAH304NBJ.png?width=1200)
![](https://assets.st-note.com/img/1648536313341-4b5WDyGa6F.png?width=1200)
![](https://assets.st-note.com/img/1648536436756-6CdpDq7Oxu.png?width=1200)
(ここでは作成のステップは省略します。)
※セキュリティグループも移行元と同じように設定します。
※キーペアは新たに作成しました。これはec2-userのものです。(ユーザごとに追加で作成した鍵は、移行元のキーがそのまま使えました。)
![](https://assets.st-note.com/img/1648537722432-0CmnT8Ts9i.png?width=1200)
![](https://assets.st-note.com/img/1648538137901-dPTqINg2T2.png?width=1200)
固定IPを付与する
![](https://assets.st-note.com/img/1648538332334-K57iPjdcbm.png?width=1200)
![](https://assets.st-note.com/img/1648538891515-ulmyERLBBs.png?width=1200)
移行先のサーバーにログインしてみる
SSHソフトで移行先のサーバーに新しい固定IPアドレスと、移行元と同じユーザ名・パスワード・鍵でログインしてみたところ、ログインできました!ちなみにインスタンス作成時に作ったキーペアではログインできませんでした。(何故なのか、誰か教えてください。)
![](https://assets.st-note.com/img/1648543263989-K7Cs5sLb4g.png?width=1200)
ドメインを、移行元から移行先に付け替える
ドメインのDNS管理でAレコードを新しい固定IPへ向けました。
ブラウザから接続確認
移行元インスタンスは停止中なので、既存のドメインでアクセスしてサイトが表示されればOKです。
最後にAMIを消しましょう
AMIに利用しているスナップショットの容量で費用がかかってしまうので不要ならAMIと関連するスナップショットを消しましょう。スナップショットの「説明」欄に、関連づいているAMIのIDが記載されていますので、AMIのIDでフィルターして削除します。
![](https://assets.st-note.com/img/1648544425757-Uage2ijRTV.png?width=1200)
![](https://assets.st-note.com/img/1648544612774-gSswWaBR87.png?width=1200)
![](https://assets.st-note.com/img/1648544822484-pedGvrfXBo.png?width=1200)
まとめ
AMIを作成して簡単にAWSユーザ間を移動できました。開発したウェブサイトを、お客様のIDに移したりするのに便利かもしれません。
以下、気になったメモです。
移行元のキーペアが使えるのは何故?
インスタンス作成時のキーペアはec2-userのもので、移行元環境ではec2-userは利用せず、ほかのユーザを作成していたので、そのユーザについてはそのまま鍵が利用できます。
根本的にAWSのキーペアについて理解できていませんでしたので今回改めて詳しくキーペアについて確認しました。ec2-user用のキーペアはインスタンスに紐づきますが、追加のキーペアについては単に鍵作成ツールとして利用しているだけでインスタンスに紐づける機能はありません。追加の鍵はAWSのキーペア作成でつくってもいいし、他のツール(PuTTygen等)で作ってもよいもので、AWSコンソール上で管理しません。自分で各ユーザの~/.ssh/authorized_keys ディレクトリに配布します。ですのでAWS上でキーを削除してもec2-user以外のログインには影響がありません。
SSL証明書は引き継がれるか?(let's encrypt)
Let’s Encryptでワイルドカード証明書をインストールしていますが、そちらは問題なく使うことができました。