Skip to main content

Overview

fjall restore restores AWS resources from AWS Backup recovery points. It supports S3 buckets, EBS volumes, RDS databases, and EC2 instances.

Usage

Arguments

Options

Agent flags

These flags shape output for AI-agent and scripted callers.

Resource Types

S3 Bucket

Restore an S3 bucket from backup:

EBS Volume

Restore an EBS volume:

RDS Database

Restore an RDS instance or Aurora cluster:
AWS Backup restores run outside CloudFormation, so the restored database keeps the master password from when the snapshot was taken — it is not reset to the current Secrets Manager value. Reconcile credentials before applications connect: reset the database master password to match the secret, or update the secret to the snapshot-era password.

EC2 Instance

Restore an EC2 instance:

Interactive Mode

Run fjall restore with no recovery point to walk through a guided picker chain:
The picker steps through:
  1. Resource category (What type of resource would you like to restore?): Compute or Storage.
  2. Resource type (Select compute resource type: for EC2, or Select storage resource type: for S3, EBS, RDS).
  3. Backup vault (Select backup vault (N available):): each vault shows its recovery-point count.
  4. Resource (Select resource to restore (N available):): shows the backup count and latest backup date.
  5. Recovery point (Select a backup to restore (N available for <resource>):): the most recent backup is labelled (Latest).
  6. Confirmation (Start restore job?): shown after a summary of the restore.
RDS restores additionally prompt for the DB instance name and port before the confirmation step. Once confirmed, the restore job starts and the CLI prints the job ID and a console link to track progress:

Non-Interactive Mode

For CI/CD or scripting, pass every required option and --yes to skip the dry-run:

Finding Recovery Points

Find recovery points in:
  1. AWS Console: Backup > Protected resources > select a resource.
  2. AWS CLI:

Post-Restore Steps

After a restore completes:
  1. Verify the restored resource in the AWS Console.
  2. Update application configuration if the restored resource has a new name or endpoint.
  3. Reconcile database credentials (RDS only) — the restored database keeps the snapshot-era master password, not the current Secrets Manager value.
Importing an existing AWS resource back into a Fjall application (fjall import) is not yet available. Track restored resources manually until import ships.

Troubleshooting

Permission Denied

Solution: Grant your IAM role the AWS Backup permissions listed in Required Permissions.

Recovery Point Not Found

Solution: Confirm the ARN is valid and the recovery point exists:

Restore Failed

If a restore job fails, check the AWS Backup console for details:
  1. Go to AWS Console > Backup > Jobs.
  2. Find the failed job.
  3. Read the status message for the failure reason.

Required Permissions

The restore command requires these IAM permissions:

Next Steps

fjall list

List the resources defined in an application’s infrastructure.

fjall deploy

Deploy application changes to AWS.

fjall tunnel

Open a secure tunnel to a restored database.

fjall connect

Connect an AWS account before restoring its resources.