AWS Backup备份数据库

AWS Backup 是一项完全托管的备份服务,可以轻松集中和自动化AWS 服务的数据备份。使用 AWS Backup,可以创建备份计划(Backup plans), 使用这些计划来定义备份要求,例如备份数据的频率以及保留这些备份的时间。AWS Backup通过标记AWS 资源来将backup plans应用于它们。然后,AWS Backup 会根据定义的备份计划自动备份 AWS 资源。

RDS PostgreSQL 将自动备份数据库,并在保留期内保留这些备份,最长可达 35 天。通过AWS Backup执行的备份被视为手动快照,并且将持续存在直至删除。

为AWS Backup创建service role

为了让 AWS Backup 代表AWS用户执行操作,我们需要为其创建service role。

在IAM中创建role:

image-20231104153816456

选择AWS Backup作为信任实体:

image-20231104153839389

在添加权限中,选择AWSBackupServiceRolePolicyForBackupAWSBackupServiceRolePolicyForRestore

image-20231104153916175

为角色命名rdspg-AWSBackupServiceRole并进行创建:

image-20231104154000617

使用AWS Backup进行On-demand backup

首先创建一个Backup vaults,它是管理备份的逻辑容器:

image-20231104154034398

命名为rdspg-backup-vault,然后创建:

image-20231104154114861

现在可以创建on-demand backup。从左侧菜单中选择Protected resources ,然后单击Create on-demand backup:

image-20231104154207019

选择 RDS 资源类型,然后选择 rds-pg-labs 数据库;选择刚创建的backup vault; 选择rdspg-AWSBackupServiceRole;最后点击Create on-demand backup:

image-20231104154417299

我们Jobs中看到该备份。这与手动快照相同,但这个备份被保存在backup vaults中:

image-20231104154500398

image-20231104155034943

在Backup中设置备份计划

现在我们使用resource tag创建备份计划。首先从RDS控制台为数据库打标签:

image-20231104155137431

添加以下标签:

image-20231104155207007

回到Backup控制台,创建新的backup plan:

image-20231104155245506

输入备份计划名称rdspg-backup-plan,输入备份规则名称DailyBackups,选择rdspg-backup-vault,其他所有内容保留默认值,然后单击create plan:

image-20231104155427984

image-20231104155515999

创建备份计划后,选择Assign resources:

Assign Resources

输入资源分配名称rdspg-bp-resource-selection,然后选择之前创建的rdspg-AWSBackupServiceRole 。最后添加env和type标签:

image-20231104155702033

现在我们已经创建了基于标签的备份计划,将来使用这些标签创建的任何数据库都将自动使用此计划进行备份。