web-dev-qa-db-ja.com

AWS EC2 m3.largeからm4.largeへの移行

新しいm4インスタンスは、以前のm3インスタンスよりもはるかに見栄えがよい(パフォーマンスと価格に関して)ので、クラウドサービスのデフォルトインスタンスとして作成します。これらのサービスは以前はm3インスタンスで実行されていたため、「インスタンスタイプの変更」オプションを使用して定期的なアップグレードを実行したいと考えました。ただし、m3からm4への移行には使用できないようです。元のインスタンスからディスクイメージを作成し、そのイメージに基づいて新しいインスタンスを開始することで、インスタンス間でサービスを「移動」できることはわかっています。問題は、この移行をよりエレガントな方法で実行できるかどうかです。任意のアドバイスをいただければ幸いです。

3
sviklim

次の2つのオプションがあります。

1-再プロビジョニング

EEAAで述べたように、新しいインスタンスを立ち上げるか、構成管理ツールを使用してインスタンスを構成するか(サーバーが運用環境で使用されている場合は構成を使用する必要があります)、バックアップを復元してから、サービスを移行してDNSを再ポイントします。

構成管理または自動スケーリングを使用する場合、このアプローチは非常に簡単です。

2-サイズ変更

2.1 EBS-backedインスタンス

Amazonコンソールから手動でインスタンスのサイズを変更できます。詳細な手順については Amazonのドキュメント を参照してください。

このアプローチは、スタンドアロンインスタンスがある場合に役立ちます。

2.2-Instance Store-Backedインスタンス

instance-store-backedインスタンスを使用する場合、インスタンスのAMIを作成して移行し、現在のインスタンスを破棄して、先ほど作成したAMIを使用して新しいインスタンスを作成する必要があります作成した。これを行う方法の詳細は、同じ Amazonドキュメントリソース にあります。

1
Craig Watson

回答:

  1. Ubuntu HVM linux、任意のバージョン、新しい

  2. Ubuntu /を既存のAMI/PVM linuxで起動し、それらにgrubパッケージをインストールします:apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists

  3. PVM Linuxを停止する

  4. PVM Linuxでルート(/ dev/sda1)パーティションを切り離します

  5. 実行中のHVM linuxにPVM linuxルートパーティションを接続します。例:/ dev/sdf

  6. HVM Linuxの場合:mkdir -p /mnt/xvdf && mount /dev/xvdf /mnt/xvdf

  7. rsync -avzXA /boot/ /mnt/xvdf/boot/

  8. mount -o bind /dev /mnt/xvdf/dev && mount -o bind /dev/pts /mnt/xvdf/dev/pts && mount -o bind /proc /mnt/xvdf/proc && mount -o bind /sys /mnt/xvdf/sys

  9. chroot /mnt/xvdf

  10. grub-install --no-floppy --recheck --force /dev/xvdf

  11. update-grub2

  12. chrootを終了:CTRL + D

  13. hVM Linuxを停止する

  14. / dev/sda1の元のルートを切り離し、/ dev/sdf PVMルートを切り離します

  15. pVMルートを/ dev/sda1としてHVM linuxに接続します

  16. HVM linuxを起動します。

  17. 実行中のHVM linuxから新しいAMIイメージを作成します。これはHVM仮想化されます。

取得元: https://stackoverflow.com/posts/26276763/edit

2
user2236409

数分のダウンタイムを許容できる場合:

  • M4インスタンスを作成しますが、開始せず、ストレージを作成またはアタッチしません
  • M3インスタンスを停止する
  • 既存のEBSボリュームをm3インスタンスから新しいm4インスタンスに接続します
  • M4インスタンスを起動します。 m3インスタンスと同じように動作するはずです。
1
Tim