Skip to navigation

EC2: Restore a Volume (Instant Restore)

Who can use this feature

Anyone with these permissions: Restore resources

This article explains how to restore an EBS volume using instant restore.

Instant restore makes the volume available in minutes by serving data on demand while the volume hydrates in the background. For the standard restore method that fully restores the volume before it becomes available, see EC2: Restore a Volume.

This article walks you through:

  1. Restoring the volume in the Eon console
  2. Attaching it to a Linux instance in your AWS account
  3. Installing Eon’s agent software to make the volume usable

Restore the volume with instant restore

Before you start

Before you restore a volume with instant restore, make sure:

1

Find the snapshot you want to restore

  1. In your inventory, select the EC2 resource you want to restore. The Resource Details drawer opens.

  2. Click the Eon snapshots tab. You’ll see a calendar view with colored dots on the days when snapshots were taken. There can be more than one snapshot per day.

    When you click a day, a list of Eon snapshots taken that day is displayed below the calendar.

  3. Expand the snapshot you want to restore. Click Specific volume, select the volume you want to restore, and then click Restore. The Restore Volume wizard opens.

2

Choose the restore account and enable instant restore

In the Restore Volume wizard, you’re taken through a two-step process. The first step is to choose a restore account and configure instant restore.

  1. Choose the cloud account you want to restore the volume in.

  2. Turn Use instant restore on.

    When instant restore is enabled, the volume restores to the same region as your vault. Region selection isn’t available because instant restore requires the vault and restored volume to be in the same region.

  3. Click Next.

3

Set the restored volume details

In the Configuration step, you’ll set the restored volume details.

  1. Choose an Availability zone to deploy the restored volume to.

  2. Choose whether to turn Keep original settings on or off.

    • If you leave Keep original settings on, the restored volume retains the same settings as the original volume.

    • If you turn it off, you can customize the volume’s Type, Size, and IOPS.

  3. In Encrypt this resource, select a KMS key that grants access to EonRestoreAccountRole and EonRestoreNodeRole. You can either select a key from the Encryption key list or enter a Key ARN.

  4. If you want to retain the tags that were present when the snapshot was taken, turn Keep original tags on. Otherwise, turn Keep original tags off.

    In both cases, the new volume is tagged with eon:restore=true. Tags with the eon: prefix aren’t included in the original tags because Eon uses this prefix for internal operations.

4

Start the restore job

Click Start to start the asynchronous restore job.

You can monitor the restore job on the Restore jobs tab in the Jobs page.

After the job completes, the volume becomes available in your AWS account.

5

Attach the volume to a Linux instance

You’ll need an Amazon Linux 2023 or Red Hat Enterprise Linux 8+ instance (x86_64 architecture) in the same availability zone where you restored the volume. The instance performs the hydration, so it needs network connectivity to Eon’s vault and control plane. See restore server connectivity requirements for details.

Find or create a Linux instance that meets these requirements in the same availability zone where you restored the volume, and attach the volume to it.

6

Install the eon-blockdev agent

The eon-blockdev agent exposes the volume as a usable block device while simultaneously hydrating it. The agent uses the instance’s IAM role credentials to access Eon’s vault (S3) and report progress to Eon’s control plane (DynamoDB).

  1. Connect to the Linux instance.

  2. Run these commands to download and install the agent:

    BASE=https://assets.public.eon.io/prod/eon-blockdev/latest
    curl -fsSL "$BASE/SHA256SUMS" -o /tmp/SHA256SUMS
    RPM=$(awk '{print $2}' /tmp/SHA256SUMS | head -1)
    curl -fsSL "$BASE/$RPM" -o "/tmp/$RPM"
    ( cd /tmp && sha256sum -c SHA256SUMS )
    sudo dnf install -y "/tmp/$RPM"
  3. After installation, the agent verifies the instance can access Eon’s vault and control plane, then detects the restored volume and exposes it as /dev/nbdN (for example, /dev/nbd0).

  4. Confirm the volume is available:

    lsblk

    Look for an nbdN device whose size matches the restored volume, with a partition under it (for example, nbd0 with nbd0p1). You can ignore any nbdN entries with a size of 0B; they’re unused device slots created by the nbd kernel module.

7

Mount the volume

  1. Create a directory where you want to mount the volume:

    sudo mkdir /data

    For these instructions, we’ll use /data, but you can use any name you want.

  2. Mount the volume’s partition to the directory you created. Replace $NBD_PARTITION with the partition name from the lsblk output (for example, nbd0p1):

    sudo mount /dev/$NBD_PARTITION /data
  3. Confirm the volume is mounted:

    df -h

    If you want the volume to mount to the instance on every boot, see Making an Amazon EBS volume available for use from AWS.

The volume is now usable and continues hydrating data in the background. You can access your data immediately while the full restore completes.

Monitor hydration progress

To monitor the volume’s hydration progress, run:

eon-blockdev status

When the output shows "success": true, the hydration process is finished. Confirm the volume is the correct size by comparing reported size from AWS with the snapshot size in Eon.