Skip to content

Snapshot

The Snapshot resource allows you to manage AWS FSx Snapshots for your Amazon FSx file systems, enabling you to create backups and restore your data efficiently.

Minimal Example

Create a basic FSx snapshot with required properties and a tag.

ts
import AWS from "alchemy/aws/control";

const fsxSnapshot = await AWS.FSx.Snapshot("myFsxSnapshot", {
  volumeId: "vol-12345678",
  name: "MyFirstSnapshot",
  tags: [
    { key: "Environment", value: "Production" }
  ]
});

Advanced Configuration

Configure a snapshot with additional properties, including adopting an existing resource.

ts
const advancedFsxSnapshot = await AWS.FSx.Snapshot("advancedFsxSnapshot", {
  volumeId: "vol-87654321",
  name: "AdvancedSnapshot",
  adopt: true,
  tags: [
    { key: "Project", value: "Alpha" },
    { key: "Owner", value: "Team-X" }
  ]
});

Using Snapshot for Data Recovery

Create a snapshot and then use it to restore the volume if needed.

ts
import AWS from "alchemy/aws/control";

const recoverySnapshot = await AWS.FSx.Snapshot("recoverySnapshot", {
  volumeId: "vol-12345678",
  name: "RecoverySnapshot"
});

// Logic to restore the volume from the snapshot would go here

Tagging for Organization

Create a snapshot with multiple tags for better organization in your AWS account.

ts
const organizedSnapshot = await AWS.FSx.Snapshot("organizedSnapshot", {
  volumeId: "vol-12345678",
  name: "OrganizedSnapshot",
  tags: [
    { key: "Department", value: "Finance" },
    { key: "BackupType", value: "Weekly" },
    { key: "RetentionPolicy", value: "30Days" }
  ]
});