使用AWS Typescript CDK创建DynamoDB表并实现备份求助
使用AWS TypeScript CDK创建DynamoDB表并配置备份
完整实现示例
以下是包含DynamoDB表创建、AWS Backup计划及备份规则配置的完整TypeScript CDK代码:
import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; import * as dynamodb from 'aws-cdk-lib/aws-dynamodb'; import * as backup from 'aws-cdk-lib/aws-backup'; export class DynamoDbBackupStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // 创建DynamoDB表 const demoTable = new dynamodb.Table(this, 'DemoTable', { tableName: 'DemoTable', partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING }, billingMode: dynamodb.BillingMode.PAY_PER_REQUEST, removalPolicy: cdk.RemovalPolicy.RETAIN, // 生产环境建议保留,避免误删数据 }); // 创建Backup存储库(Vault) const backupVault = new backup.BackupVault(this, 'DemoBackupVault', { backupVaultName: 'DemoDynamoDbBackupVault', removalPolicy: cdk.RemovalPolicy.RETAIN, }); // 创建Backup计划 const backupPlan = new backup.BackupPlan(this, 'DemoBackupPlan', { backupVault: backupVault, }); // 添加每日定时备份规则,保留30天 backupPlan.addRule(new backup.BackupPlanRule({ ruleName: 'DailyBackup', schedule: backup.Schedule.cron({ hour: '2', minute: '0' }), // 每日凌晨2点执行备份 deleteAfter: cdk.Duration.days(30), })); // 添加按需备份规则(支持手动触发,保留90天) backupPlan.addRule(new backup.BackupPlanRule({ ruleName: 'OnDemandBackup', deleteAfter: cdk.Duration.days(90), })); // 将DynamoDB表关联到Backup计划 backupPlan.addSelection('DemoTableSelection', { resources: [backup.BackupResource.fromDynamoDbTable(demoTable)], selectionName: 'DemoDynamoDbTableSelection', }); } } // 初始化并合成栈 const app = new cdk.App(); new DynamoDbBackupStack(app, 'DynamoDbBackupStack'); app.synth();
关键说明
- Backup Vault:存储备份数据的容器,默认使用AWS KMS加密,可自定义加密密钥或访问策略。
- 备份规则:支持定时和按需两种模式,通过
deleteAfter配置备份保留时长,超过时长自动清理。 - 资源关联:通过
addSelection将指定DynamoDB表绑定到备份计划,CDK会自动生成所需IAM权限,无需手动配置。 - 移除策略:示例中设置
RemovalPolicy.RETAIN,避免栈销毁时误删表或备份数据,生产环境建议保留,测试环境可改为DESTROY。
部署验证
部署完成后,可通过AWS控制台确认:
- 进入Backup服务,查看已创建的备份计划和存储库。
- 进入目标DynamoDB表的「备份」标签页,确认已关联备份计划。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

