ルートボリュームを復元する - Amazon Elastic Compute Cloud

ルートボリュームを復元する

Amazon EC2 を使用して、実行中のインスタンスのルート Amazon EBS ボリュームを開始状態、または特定のスナップショットに復元できます。これにより、ルートボリュームの破損やゲスト OS ネットワーク設定エラーなどの問題は、次の状態を維持しながら修正できます。

  • インスタンスストアボリュームで復元されたデータ ― インスタンスストアボリュームは、ルートボリュームが復元された後も、インスタンスにアタッチされたままになります。

  • ネットワーク設定 — すべてのネットワークインターフェイスはインスタンスにアタッチされたままとなり、IP アドレス、識別子、およびアタッチメント ID を保持します。インスタンスが利用可能になると、保留中のネットワークトラフィックがすべてフラッシュされます。さらに、インスタンスは同じ物理ホスト上に残るため、パブリック IP アドレス、プライベート IP アドレス、および DNS 名が保持されます。

  • IAM ポリシー — インスタンスに関連付けられた IAM プロファイルとポリシー (タグベースのポリシーなど) は保持され、適用されます。

インスタンスのルートボリュームを復元すると、新しいボリュームは元のボリュームの起動状態に復元されるか、特定のスナップショットを使用して復元されます。元のボリュームがインスタンスからデタッチされ、新しい (復元された) ボリュームはその代わりにインスタンスにアタッチされます。元のボリュームは自動的に削除されません。不要になった場合は、プロセスの完了後に手動で削除できます。

考慮事項

  • インスタンスは running の状態である必要があります。

  • インスタンスは、プロセス中に自動的に再起動されます。メモリ (RAM) の内容は、再起動中に消去されます。

  • インスタンスストアボリュームの場合、ルートボリュームを復元することはできません。

  • メタルインスタンスのルートボリュームを復元することはできません。

  • インスタンスの現在のルートボリュームと同じ系統に属するスナップショットのみを使用できます。ルートボリュームから作成したスナップショットにより作成されたスナップショットのコピーは使用できません。また、ルートボリュームが正常に復元された後は、新しい (復元された) ルートボリュームを復元する際に、元のルートボリュームから取得したスナップショットを使用することはできません。

ルートボリュームを復元する

インスタンスのルートボリュームを復元する場合、ボリュームを最初の起動状態に復元するか、特定のスナップショットにボリュームを復元するかを選択できます。ボリュームを特定のスナップショットに復元する場合は、そのルートボリュームから取得したスナップショットを選択する必要があります。ルートボリュームを最初の起動状態に復元することを選択した場合、ルートボリュームは、インスタンスの起動中にボリュームの作成に使用されたスナップショットから復元されます。

インスタンスのルートボリュームを復元すると、ルートボリュームの置き換えタスクが作成されます。ルートボリュームの置き換えタスクを使用して、復元プロセスの進行状況と結果をモニタリングできます。詳細については、「ルートボリューム置換タスクを表示する」を参照してください。

次のいずれかの方法を使用して、インスタンスのルートボリュームを復元できます。

注記

Amazon EC2 コンソールを使用する場合、この機能は新しいコンソールでのみ使用できます。

New console

ルートボリュームを復元するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. ルートボリュームを復元するインスタンスを選択し、[Actions] (アクション)、[Monitor and troubleshoot] (モニタリングとトラブルシューティング)、[Replace root volume] (ルートボリュームを置き換える) の順に選択します。

    注記

    選択したインスタンスが [running] 状態の場合、[Replace root volume] (ルートボリュームを置き換える) アクションは無効です。

  4. [Replace root volume] (ルートボリュームを置換) の画面で、次のいずれかの操作を行います。

    • インスタンスのルートボリュームを初期起動状態に復元するには、スナップショットを選択せずに [Create replacement task] (置換タスクを作成) を選択します。

    • インスタンスのルートボリュームを特定のスナップショットに復元するには、[Snapshot] (スナップショット) で、使用するスナップショットを選択し、[Create replacement task] (置換タスクを作成) を選択します。

AWS CLI

ルートボリュームを初期起動状態に復元するには

create-replace-root-volume-task コマンドを使用します。ルートボリュームを復元するインスタンスの ID を指定し、--snapshot-id パラメータを省略します。

$ aws ec2 create-replace-root-volume-task --instance-id instance_id

例:

$ aws ec2 create-replace-root-volume-task --instance-id i-1234567890abcdef0

ルートボリュームを特定のスナップショットに復元するには

create-replace-root-volume-task コマンドを使用します。ルートボリュームを復元するインスタンスの ID と、使用するスナップショットの ID を指定します。

$ aws ec2 create-replace-root-volume-task --instance-id instance_id --snapshot-id snapshot_id

例:

$ aws ec2 create-replace-root-volume-task --instance-id i-1234567890abcdef0 --snapshot-id snap-9876543210abcdef0

ルートボリューム置換タスクを表示する

インスタンスのルートボリュームを復元すると、ルートボリュームの置き換えタスクが作成されます。ルートボリュームの置き換えタスクは、プロセス中に次の状態に移行します。

  • pending — 置換ボリュームが作成されています。

  • in-progress — 元のボリュームがデタッチされ、置換ボリュームがアタッチされています。

  • succeeded — 置換ボリュームはインスタンスに正常にアタッチされ、インスタンスは利用可能です。

  • failing — 置換タスクが失敗を処理しています。

  • failed — 置換タスクは失敗しましたが、元のルートボリュームはまだアタッチされています。

  • failing-detached — 置換タスクが失敗を処理しています。インスタンスにルートボリュームがアタッチされていない可能性があります。

  • failed-detached — 置換タスクが失敗し、インスタンスにルートボリュームがアタッチされていません。

次のいずれかの方法を使用して、インスタンスのルートボリューム置換タスクを表示できます。

注記

Amazon EC2 コンソールを使用する場合、この機能は新しいコンソールでのみ使用できます。

New console

ルートボリュームの置換タスクを表示するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. ルートボリューム置換タスクを表示するインスタンスを選択し、[Storage] (ストレージ) タブを選択します。

  4. [Storage] (ストレージ) タブで、[Recent root volume replacement tasks] (最近のルートボリューム置換タスク) を展開します。

AWS CLI

ルートボリューム置換タスクのステータスを表示するには

describe-replace-root-volume-task コマンドを使用して、表示するルートボリューム置換タスクの ID を指定します。

$ aws ec2 describe-replace-root-volume-tasks --replace-root-volume-task-ids task_id_1 task_id_2

例:

$ aws ec2 describe-replace-root-volume-tasks --replace-root-volume-task-ids replacevol-1234567890abcdef0
{ "ReplaceRootVolumeTasks": [ { "ReplaceRootVolumeTaskId": "replacevol-1234567890abcdef0", "InstanceId": "i-1234567890abcdef0", "TaskState": "succeeded", "StartTime": "2020-11-06 13:09:54.0", "CompleteTime": "2020-11-06 13:10:14.0" }] }

または、instance-id フィルターを指定して、結果をインスタンス別にフィルタリングします。

$ aws ec2 describe-replace-root-volume-tasks --filters Name=instance-id,Values=instance_id

例:

$ aws ec2 describe-replace-root-volume-tasks --filters Name=instance-id,Values=i-1234567890abcdef0