Skip to content
GitHubXDiscord

FileSystem

The FileSystem resource lets you manage AWS FSx FileSystems for your applications, providing fully managed file storage solutions that can be accessed via common file protocols.

Create a basic FSx FileSystem with required properties and a common optional property.

import AWS from "alchemy/aws/control";
const fsxFileSystem = await AWS.FSx.FileSystem("myFsxFileSystem", {
FileSystemType: "LUSTRE",
StorageCapacity: 1200, // Storage capacity in GiB
SubnetIds: ["subnet-0abcd1234efgh5678"],
SecurityGroupIds: ["sg-0abcd1234efgh5678"],
Tags: [{ Key: "Environment", Value: "Development" }]
});

Configure a FileSystem with additional advanced settings, such as KMS key and Lustre configuration.

const advancedFsxFileSystem = await AWS.FSx.FileSystem("advancedFsxFileSystem", {
FileSystemType: "LUSTRE",
StorageCapacity: 2400,
SubnetIds: ["subnet-0abcd1234efgh5678"],
SecurityGroupIds: ["sg-0abcd1234efgh5678"],
KmsKeyId: "arn:aws:kms:us-west-2:123456789012:key/abcd-1234-efgh-5678-ijkl",
LustreConfiguration: {
DeploymentType: "PERSISTENT_1",
PerUnitStorageThroughput: 200, // MiB/s
},
Tags: [{ Key: "Project", Value: "AI-Model" }]
});

Create an FSx FileSystem with Windows configuration settings.

const windowsFsxFileSystem = await AWS.FSx.FileSystem("windowsFsxFileSystem", {
FileSystemType: "WINDOWS",
StorageCapacity: 3000,
SubnetIds: ["subnet-0abcd1234efgh5678"],
SecurityGroupIds: ["sg-0abcd1234efgh5678"],
WindowsConfiguration: {
ActiveDirectoryId: "d-1234567890",
ThroughputCapacity: 1024,
WeeklyMaintenanceStartTime: "1:00:00",
},
Tags: [{ Key: "Department", Value: "Finance" }]
});

Deploy an FSx FileSystem with OpenZFS configuration.

const openZfsFsxFileSystem = await AWS.FSx.FileSystem("openZfsFsxFileSystem", {
FileSystemType: "OPENZFS",
StorageCapacity: 500,
SubnetIds: ["subnet-0abcd1234efgh5678"],
SecurityGroupIds: ["sg-0abcd1234efgh5678"],
OpenZFSConfiguration: {
RootVolume: {
Name: "rootVolume",
Quota: 400, // in GiB
RecordSize: 128 // in KiB
},
UserAndGroupQuotas: [
{
UserId: "1001",
Quota: 100 // in GiB
}
]
},
Tags: [{ Key: "Application", Value: "WebService" }]
});