Skip to content

FileSystem

Source: src/AWS/FSx/FileSystem.ts

An Amazon FSx file system — fully-managed shared storage for Lustre, Windows File Server, NetApp ONTAP, or OpenZFS.

FSx file systems take several minutes to provision. The file system id, ARN, and DNS name are returned as soon as CreateFileSystem accepts the request; the file system then transitions CREATINGAVAILABLE asynchronously. Create is idempotent on a deterministic client request token derived from the app, stage, and logical id; if state is lost, the file system is re-discovered by its internal Alchemy tags.

Lustre scratch file system (cheapest / fastest)

import * as AWS from "alchemy/AWS";
const scratch = yield* AWS.FSx.FileSystem("Scratch", {
fileSystemType: "LUSTRE",
storageCapacity: 1200,
subnetIds: [subnetId],
lustreConfiguration: { DeploymentType: "SCRATCH_2" },
});

Persistent Lustre with S3 data repository

const files = yield* AWS.FSx.FileSystem("Files", {
fileSystemType: "LUSTRE",
storageCapacity: 1200,
subnetIds: [subnetId],
lustreConfiguration: {
DeploymentType: "PERSISTENT_2",
PerUnitStorageThroughput: 125,
DataCompressionType: "LZ4",
},
});

OpenZFS file system

const zfs = yield* AWS.FSx.FileSystem("Zfs", {
fileSystemType: "OPENZFS",
storageCapacity: 64,
subnetIds: [subnetId],
openZFSConfiguration: {
DeploymentType: "SINGLE_AZ_1",
ThroughputCapacity: 64,
},
});