AWS Backup
是一项完全托管的备份服务,可以轻松集中和自动化AWS 服务的数据备份。使用 AWS Backup,可以创建备份计划(Backup plans), 使用这些计划来定义备份要求,例如备份数据的频率以及保留这些备份的时间。AWS Backup通过标记AWS 资源来将backup plans
应用于它们。然后,AWS Backup 会根据定义的备份计划自动备份 AWS 资源。
RDS PostgreSQL 将自动备份数据库,并在保留期内保留这些备份,最长可达 35 天。通过AWS Backup执行的备份被视为手动快照,并且将持续存在直至删除。
为了让 AWS Backup 代表AWS用户执行操作,我们需要为其创建service role。
在IAM中创建role:
选择AWS Backup作为信任实体:
在添加权限中,选择AWSBackupServiceRolePolicyForBackup和AWSBackupServiceRolePolicyForRestore:
为角色命名rdspg-AWSBackupServiceRole并进行创建:
首先创建一个Backup vaults,它是管理备份的逻辑容器:
命名为rdspg-backup-vault
,然后创建:
现在可以创建on-demand backup。从左侧菜单中选择Protected resources ,然后单击Create on-demand backup
:
选择 RDS 资源类型,然后选择 rds-pg-labs
数据库;选择刚创建的backup vault; 选择rdspg-AWSBackupServiceRole
;最后点击Create on-demand backup:
我们Jobs中看到该备份。这与手动快照相同,但这个备份被保存在backup vaults
中:
现在我们使用resource tag创建备份计划。首先从RDS控制台为数据库打标签:
添加以下标签:
回到Backup控制台,创建新的backup plan:
输入备份计划名称rdspg-backup-plan
,输入备份规则名称DailyBackups
,选择rdspg-backup-vault
,其他所有内容保留默认值,然后单击create plan:
创建备份计划后,选择Assign resources
:
输入资源分配名称rdspg-bp-resource-selection,然后选择之前创建的rdspg-AWSBackupServiceRole 。最后添加env和type标签:
现在我们已经创建了基于标签的备份计划,将来使用这些标签创建的任何数据库都将自动使用此计划进行备份。