Skip to content
GitHubXDiscord

Framework

The Framework resource lets you manage AWS Backup Frameworks to define backup policies and compliance for your AWS resources.

Create a basic AWS Backup Framework with required properties and common optional settings.

import AWS from "alchemy/aws/control";
const backupFramework = await AWS.Backup.Framework("myBackupFramework", {
FrameworkControls: [{
ControlId: "myControlId",
ControlName: "DailyBackup",
ControlScope: {
"Parameters": {
"ResourceType": "AWS::EC2::Instance"
}
},
ControlInputParameters: {
"BackupVault": "myBackupVault",
"Lifecycle": {
"DeleteAfterDays": 30
}
}
}],
FrameworkName: "MyBackupFramework",
FrameworkDescription: "This framework ensures daily backups of EC2 instances."
});

Configure an AWS Backup Framework with multiple control settings for enhanced backup strategies.

const advancedBackupFramework = await AWS.Backup.Framework("advancedBackupFramework", {
FrameworkControls: [{
ControlId: "weeklyBackupControl",
ControlName: "WeeklyBackup",
ControlScope: {
"Parameters": {
"ResourceType": "AWS::RDS::DBInstance"
}
},
ControlInputParameters: {
"BackupVault": "myBackupVault",
"Lifecycle": {
"DeleteAfterDays": 90
}
}
}, {
ControlId: "monthlyBackupControl",
ControlName: "MonthlyBackup",
ControlScope: {
"Parameters": {
"ResourceType": "AWS::S3::Bucket"
}
},
ControlInputParameters: {
"BackupVault": "myBackupVault",
"Lifecycle": {
"DeleteAfterDays": 180
}
}
}],
FrameworkName: "AdvancedBackupFramework",
FrameworkDescription: "This framework manages weekly and monthly backups for RDS and S3 resources."
});

Utilize tags to enhance compliance tracking within your AWS Backup Framework.

const taggedBackupFramework = await AWS.Backup.Framework("taggedBackupFramework", {
FrameworkControls: [{
ControlId: "taggingControl",
ControlName: "TaggingCompliance",
ControlScope: {
"Parameters": {
"ResourceType": "AWS::Lambda::Function"
}
},
ControlInputParameters: {
"BackupVault": "myBackupVault",
"RequiredTags": ["Environment", "Owner"]
}
}],
FrameworkName: "TaggedBackupFramework",
FrameworkTags: [{
Key: "Environment",
Value: "Production"
},{
Key: "Owner",
Value: "DevTeam"
}],
FrameworkDescription: "This framework ensures that all Lambda functions have the required tags for compliance."
});