実行中のインスタンスからのEC2 AMIイメージの作成とボリュームスナップショットからの作成


22

LinuxベースのEC2インスタンスをダウンタイムなしで実行中にバックアップし、後で新しいインスタンスを起動します。(インスタンスはWebサーバーとPostgresデータベースを実行しています。)

これを行うには2つの方法があることがわかりましたが、それらの結果の違いについて混乱しています。

オプション#1:実行中のインスタンスからAMIを直接作成します。

  1. 実行中の元のインスタンスから新しいAMIを直接作成します。
  2. AMIから新しいインスタンスを起動します

オプション#2:スナップショットからAMIを手動で作成します。

  1. 実行中の元のインスタンスに接続されたボリュームからスナップショットを取得します
  2. スナップショットからAMIを作成し、アーキテクチャやカーネルIDなどの詳細を手動で入力します
  3. 手動で作成されたイメージから新しいインスタンスを起動します

紛らわしいのは、インスタンスから直接AMIを作成すると、EC2がデフォルトでインスタンスを再起動することです。次のツールチップのチェックボックス「再起動なし」があります。

有効にすると、Amazon EC2はイメージを作成する前にインスタンスをシャットダウンしません。このオプションを使用すると、作成されたイメージのファイルシステムの整合性は保証されません。

これら2つの方法のオプションの結果に本当に違いはありますか?私にとっては、とにかく自動化ウィザードが行うのと同じことを手動で行っているように感じます。スナップショットを生成し、カーネルIDとアーキテクチャを選択します。

なぜ一方に警告テキストがあり、もう一方にはないのですか?実行中のインスタンスのスナップショットは比較的安全であると見なされます。AMI作成でバックグラウンドでスナップショットを作成する場合、すべてを手動で行うよりも危険ですか?

回答:


13

no rebootEC2から直接AMIを作成するときにオプションを選択した場合、それらはまったく同じです。これは基本的に、一貫性のない状態になる可能性があるスナップショットを作成します。たとえば、スナップショットを作成するときに大量のディスク書き込みを行うと、一貫性のない状態になるリスクが高くなります。

「一貫性のある」状態でスナップショットを作成する場合は、まずインスタンスをシャットダウンしてからスナップショットを作成してからインスタンスを再起動する必要があります。これが、停止して再起動する必要がないため、EC2からのAMI作成オプションが非常に便利な理由です。Amazonがこれを処理し、インスタンスのIPアドレスも変更されません。(インスタンスを停止/再起動すると、IPアドレスが実際に変更されます)

ボリュームからスナップショットを直接取得する場合、Amazonが警告を表示しない理由はよくわかりませんが、ボリュームの観点からは、ボリュームが実行中のインスタンスまたは非実行中のインスタンスのどちらで使用されているかは関係ありません(スナップショットの作成に影響しないようにアタッチするかデタッチするかのみを考慮します)


インスタンスをシャットダウンしたくないので、AMIを作成する必要があることに同意します。時間を節約するために、すぐにこれを行うソリューションを調べることができます。個人的にtotalcloud.ioを使用して、AWSでのアクションを自動化します。
Veer Abheek Singh Manhas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.