web-dev-qa-db-ja.com

既存のEBSボリュームからEC2インスタンスを起動する

AWSを使い始めたばかりで、既存のEBSボリュームをEC2インスタンスのブートデバイスとして使用することについて質問がありました。

多くのインスタンスが起動デバイス用のEBSボリュームを作成しているようです。 EBSボリュームがインスタンスの終了時に削除されないようにセットアップされている場合、そのEBSボリュームを新しいインスタンスのブート/ルートデバイスとして使用できますか?

たとえば、クラッシュするハイパーバイザーで実行されているルートデバイスとしてEBSボリュームを使用しているインスタンスがあるとします。そのEBSボリュームを使用して別のインスタンスを起動できますか?

EBSボリュームのスナップショットを作成し、そのスナップショットからAMIを作成できることがわかります。それはそれを取り戻すための1つの方法だと思いますが、もっと直接的な方法があるかどうか知りたいですか?

理想的にはインスタンスが破棄されることを理解していますが、私は学習PoVに興味があるだけです。

ありがとう、ジョー

9
NimbusScale

EBSボリュームはEC2インスタンスにアタッチおよびデタッチできます。

何らかの理由でクラッシュするEC2インスタンスがある場合は、ルートボリュームを別のEC2インスタンスに移動できます。

  1. 新しいEC2インスタンスを起動します。
  2. そのEC2インスタンスを停止します。
  3. 新しいインスタンスからルートボリュームを切り離します。接続されたデバイス名(/ dev/sda1など)をメモします。
  4. 元のインスタンスからルートボリュームを切り離します。
  5. 同じデバイス名(/ dev/sda1など)を使用して、元のインスタンスから新しいインスタンスにルートボリュームを接続します。
  6. 新しいインスタンスを起動します。

技術的には、それを行うことができます。

ただし、元のルートボリュームから起動しているため、元のEC2インスタンスと同じ問題が発生する可能性があります。

もう1つの方法は、元のルートボリュームを/ dev/sdb1などの新しいEC2インスタンスの非ルートボリュームとしてアタッチすることです。これを行うと、ボリュームのデータを調べてクラッシュの原因を特定し、おそらく修正できます。

さらに、EBSスナップショットからAMIイメージを作成できますが、代わりにEC2インスタンスから直接AMIイメージを作成することもできます。プロセスとして、これは多くの場合より簡単です。

14
Matt Houser

これが機能するために、/ dev/xvdaのような正確なデバイス名を指定する必要がある場合があります。以前にマウントされたボリュームが/ dev/xvdaの場合は、同じ名前でロードしてみてください。

0
Tiz