将 AWS CloudFormation 模板与 AWS Backup 结合使用 - AWS Backup
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 AWS CloudFormation 模板与 AWS Backup 结合使用

以下信息介绍了如何使用 AWS CloudFormation 模板来简化和自动执行与备份计划、备份文件库和资源选择相关的任务。

将 AWS Backup 与 AWS CloudFormation 集成

借助 AWS CloudFormation,您可以使用自己创建的模板以安全、可重复的方式预配置和管理 AWS 资源。您可以使用 AWS CloudFormation 模板管理备份计划、备份资源选择和备份文件库。有关使用 AWS CloudFormation 的信息,请参阅 AWS CloudFormation 用户指南中的 AWS CloudFormation 的工作原理

在创建 AWS CloudFormation 堆栈之前,您应该考虑以下几点:

  • 我们建议您为备份计划和备份文件库创建单独的模板。由于只有在备份文件库为空时才能将其删除,因此如果备份文件库包含任何恢复点,则无法删除包含备份文件库的堆栈。

  • 在创建堆栈之前,请确保您具有可用的服务角色。首次将资源分配给备份计划时,系统会为您创建 AWS Backup 默认服务角色。如果您尚未执行此操作,则默认服务角色不可用。您还可以指定自己创建的自定义角色。有关 角色的更多信息,请参阅IAM 服务角色

以下是创建备份计划的示例模板。

Description: "Backup Plan template to back up all resources tagged with backup=daily daily at 5am UTC." Resources: KMSKey: Type: AWS::KMS::Key Properties: Description: "Encryption key for daily" EnableKeyRotation: True Enabled: True KeyPolicy: Version: "2012-10-17" Statement: - Effect: Allow Principal: "AWS": { "Fn::Sub": "arn:${AWS::Partition}:iam::${AWS::AccountId}:root" } Action: - kms:* Resource: "*" BackupVaultWithDailyBackups: Type: "AWS::Backup::BackupVault" Properties: BackupVaultName: "BackupVaultWithDailyBackups" EncryptionKeyArn: !GetAtt KMSKey.Arn BackupPlanWithDailyBackups: Type: "AWS::Backup::BackupPlan" Properties: BackupPlan: BackupPlanName: "BackupPlanWithDailyBackups" BackupPlanRule: - RuleName: "RuleForDailyBackups" TargetBackupVault: !Ref BackupVaultWithDailyBackups ScheduleExpression: "cron(0 5 ? * * *)" DependsOn: BackupVaultWithDailyBackups DDBTableWithDailyBackupTag: Type: "AWS::DynamoDB::Table" Properties: TableName: "TestTable" AttributeDefinitions: - AttributeName: "Album" AttributeType: "S" KeySchema: - AttributeName: "Album" KeyType: "HASH" ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "5" Tags: - Key: "backup" Value: "daily" BackupRole: Type: "AWS::IAM::Role" Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "backup.amazonaws.com" Action: - "sts:AssumeRole" ManagedPolicyArns: - "arn:aws:iam::aws:policy/service-role/service role" TagBasedBackupSelection: Type: "AWS::Backup::BackupSelection" Properties: BackupSelection: SelectionName: "TagBasedBackupSelection" IamRoleArn: !GetAtt BackupRole.Arn ListOfTags: - ConditionType: "STRINGEQUALS" ConditionKey: "backup" ConditionValue: "daily" BackupPlanId: !Ref BackupPlanWithDailyBackups DependsOn: BackupPlanWithDailyBackups

如果您使用的是默认服务角色,请将服务角色替换为 AWSBackupServiceRolePolicyForBackup

有关将 AWS CloudFormation 与 AWS Backup 结合使用的信息,请参阅 AWS CloudFormation 用户指南中的 AWS Backup 资源类型参考

有关使用 AWS CloudFormation 时控制对 AWS 服务资源的访问的信息,请参阅 AWS CloudFormation 用户指南中的使用 AWS Identity and Access Management 控制访问