备份与还原
通过自动化快照、S3 跨 Region 复制和 AWS Backup 策略,实现成本最低的 DR 层级,并完成一次还原演练
备份与还原 是 CoddyKit 上的免费 AWS Solutions Architect 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Solutions Architect 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Solutions Architect 课程共包含 4 节课。
Backup and Restore 基础
Backup and Restore 是最简单且最具成本效益的灾难恢复策略。您定期创建数据和基础设施的备份,将其存储在持久性较高的位置(通常是另一个区域中的 S3),并在发生灾难时从这些备份中恢复。虽然维护成本低廉,但它会导致最长的 RTO(数小时),而 RPO 也可能较长(自上次备份以来的时间)。这种策略适用于对停机数小时可以接受的非关键工作负载。
# Backup and Restore workflow:
# 1. Create snapshots/backups on a schedule
# 2. Replicate backups to a secondary region
# 3. On disaster:
# a. Launch new infrastructure in DR region
# b. Restore data from most recent backup
# c. Update DNS to point to DR region
# 4. Failback when primary is restoredAWS Backup:集中式备份管理
AWS Backup 是一项完全托管的服务,可集中并自动化管理 AWS 服务中的数据保护。它支持EBS 卷、RDS 数据库、DynamoDB 表、EFS 文件系统、FSx、EC2 实例、Aurora 集群和 S3。您可以通过计划、保留期限和存储库目标来定义备份计划。AWS Backup 可通过 AWS Organizations 在多个账户之间强制实施备份策略,因此它是企业级备份管理的首选服务。
# Create AWS Backup vault
aws backup create-backup-vault \
--backup-vault-name production-dr-vault \
--encryption-key-arn arn:aws:kms:us-east-1:123:key/abc
# Assign resources to backup plan
aws backup create-backup-selection \
--backup-plan-id <plan-id> \
--backup-selection '{
"SelectionName": "all-production",
"IamRoleArn": "arn:aws:iam::123:role/BackupRole",
"ListOfTags": [{"ConditionType":"STRINGEQUALS","ConditionKey":"Environment","ConditionValue":"production"}]
}'RDS 自动备份
Amazon RDS 会自动创建每日快照并捕获事务日志,以支持时间点恢复(PITR)。您可以将数据库恢复到备份保留窗口(1-35 天)内的任意一秒。自动备份存储在 S3 中(由 AWS 管理,不会显示在您的 S3 控制台中)。对于跨区域 DR,请使用控制台或 CLI 将数据库快照复制到另一个区域,复制的快照可用于在灾难期间启动新的 RDS 实例。
# Copy RDS snapshot to DR region
aws rds copy-db-snapshot \
--source-db-snapshot-identifier arn:aws:rds:us-east-1:123:snapshot:rds:mydb-2026-06-21-05-00 \
--target-db-snapshot-identifier mydb-dr-2026-06-21 \
--region us-west-2 \
--copy-tags
# Restore in DR region from copied snapshot
aws rds restore-db-instance-from-db-snapshot \
--db-instance-identifier mydb-dr \
--db-snapshot-identifier mydb-dr-2026-06-21 \
--region us-west-2用于备份的 S3 跨区域复制
S3 Cross-Region Replication (CRR) 会自动将源 Bucket 中的新对象复制到另一个区域的目标 Bucket。对于备份,请将备份作业配置为写入已启用 CRR 的 S3 Bucket,备份会在几分钟内自动复制到 DR 区域。在两个 Bucket 上启用versioning(CRR 的必需条件),以保留较旧的备份版本。结合使用 S3 Object Lock,可以使备份不可变,并防范勒索软件。
# Enable S3 bucket versioning (required for CRR)
aws s3api put-bucket-versioning \
--bucket my-backups-us-east-1 \
--versioning-configuration Status=Enabled
# Configure Cross-Region Replication
aws s3api put-bucket-replication \
--bucket my-backups-us-east-1 \
--replication-configuration '{
"Role": "arn:aws:iam::123:role/replication-role",
"Rules": [{
"Status": "Enabled",
"Destination": {
"Bucket": "arn:aws:s3:::my-backups-us-west-2",
"StorageClass": "STANDARD_IA"
}
}]
}'EC2 AMI 备份与实例恢复
要在 DR 区域启用 EC2 恢复,请预先从生产 EC2 实例创建Amazon Machine Images (AMIs),并将其复制到 DR 区域。AMI 会捕获根卷、实例配置以及可选的数据卷。发生灾难时,请从 DR 区域的 AMI 启动新的 EC2 实例,并挂载已恢复的 EBS 卷。您可以使用 AWS Backup EC2 resource type 或 EC2 Image Builder 自动创建 AMI,以构建标准镜像流水线。
# Create AMI from running EC2 instance
aws ec2 create-image \
--instance-id i-1234567890abcdef0 \
--name 'prod-web-server-$(date +%Y%m%d)' \
--no-reboot
# Copy AMI to DR region
aws ec2 copy-image \
--source-region us-east-1 \
--source-image-id ami-12345678 \
--region us-west-2 \
--name 'prod-web-server-dr'DynamoDB 备份:按需备份与 PITR
DynamoDB 提供两种备份机制。On-Demand backups 会立即创建完整备份,且不会影响性能;备份可以无限期保留,并在几分钟内恢复。启用后,Point-In-Time Recovery (PITR) 会持续备份表最近 35 天的数据,使您能够恢复到该时间窗口内的任意一秒。这两种备份类型都可以导出到 S3,用于跨区域备份或与 AWS Backup 集成。强烈建议为生产表启用 PITR。
# Enable DynamoDB PITR
aws dynamodb update-continuous-backups \
--table-name Orders \
--point-in-time-recovery-specification PointInTimeRecoveryEnabled=true
# Restore to a specific point in time
aws dynamodb restore-table-to-point-in-time \
--source-table-name Orders \
--target-table-name Orders-DR-Restored \
--restore-date-time '2026-06-21T10:30:00.000Z'使用 AWS Backup 备份 EFS
Amazon EFS 可与 AWS Backup 集成,以执行自动每日备份。EFS 备份采用增量方式:完成初始备份后,只复制发生更改的数据,因此能够节省存储空间。您可以从备份中恢复整个文件系统,也可以恢复单个文件。对于跨区域 DR,请使用 AWS Backup Cross-Region Copy,将 EFS 备份自动复制到 DR 区域的存储库中。请注意,EFS 本身已在一个区域内实现 Multi-AZ;跨区域备份则用于应对区域级故障场景。
# AWS Backup plan with cross-region copy for EFS
{
'Rules': [{
'RuleName': 'daily-efs-backup',
'TargetBackupVaultName': 'primary-vault',
'ScheduleExpression': 'cron(0 5 ? * * *)',
'Lifecycle': {'DeleteAfterDays': 7},
'CopyActions': [{
'DestinationBackupVaultArn': 'arn:aws:backup:us-west-2:123:backup-vault:dr-vault',
'Lifecycle': {'DeleteAfterDays': 30}
}]
}]
}备份保留与生命周期策略
并非所有备份都需要永久保留。请根据您的 RPO 和合规性要求设计保留策略。一种常见模式是:每日备份保留 7 天、每周备份保留 4 周、每月备份保留 12 个月、年度备份保留 7 年(祖-父-子方案)。AWS Backup 生命周期规则可以自动执行此策略。对于存储在 S3 中的备份,请使用 S3 Lifecycle policies 将较旧的备份转移到 S3 Glacier 或 Deep Archive,从而大幅降低存储成本。
# S3 lifecycle policy for backup files
aws s3api put-bucket-lifecycle-configuration \
--bucket my-backups \
--lifecycle-configuration '{
"Rules": [{
"ID": "backup-tiering",
"Status": "Enabled",
"Transitions": [
{"Days": 30, "StorageClass": "STANDARD_IA"},
{"Days": 90, "StorageClass": "GLACIER"},
{"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
]
}]
}'备份存储库锁定与不可变性
AWS Backup Vault Lock 实施 WORM(写入一次,读取多次)策略,防止任何人(包括根用户)在锁定到期前删除备份或修改锁定设置。这可以保护备份免受勒索软件攻击和内部人员威胁。Vault Lock 一旦应用便无法禁用。对于要求备份不可变的法规合规性(SOC 2、PCI DSS、HIPAA)而言,此功能至关重要。请设置最短和最长保留期限,确保备份不会被过早删除。
# Apply Backup Vault Lock
aws backup put-backup-vault-lock-configuration \
--backup-vault-name production-dr-vault \
--min-retention-days 7 \
--max-retention-days 365
# Note: Once locked, cannot be unlocked
# Use --changeable-for-days N during initial setup
# for a grace period to change configuration测试备份恢复
创建备份只是工作的一半,您还必须定期测试恢复是否能够正确完成,并且是否能在 RTO 内完成。AWS Backup 支持恢复测试计划,可以按计划自动将备份恢复到测试环境,并验证恢复是否成功。如果不定期进行恢复测试,您可能会在真正发生灾难时才发现备份已损坏、不完整,或恢复所需时间远超预期。请记录恢复时间,将其作为实际 RTO 的数据点。
# AWS Backup restore testing (available in newer API)
# Steps to manually test restore:
# 1. Identify most recent successful backup
aws backup list-recovery-points-by-backup-vault \
--backup-vault-name production-dr-vault \
--by-resource-type RDS
# 2. Start restore job
aws backup start-restore-job \
--recovery-point-arn arn:aws:rds:us-east-1:123:snapshot:mydb-recovery \
--iam-role-arn arn:aws:iam::123:role/BackupRestoreRole \
--resource-type RDS \
--metadata RecoveryPointId=...备份监控与告警
必须立即检测备份失败,因为备份作业失败意味着下一次灾难发生时没有近期的恢复点。请通过 SNS 配置 AWS Backup notifications,以便在备份作业失败时发出告警。使用 CloudWatch metrics(例如 NumberOfBackupJobsFailed)创建告警。使用 AWS Config 规则(例如 BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK),持续验证资源是否已分配适当的备份计划。请将漏做备份视为潜在的合规性违规。
# SNS notification for backup failures
aws backup put-backup-vault-notifications \
--backup-vault-name production-dr-vault \
--sns-topic-arn arn:aws:sns:us-east-1:123:backup-alerts \
--backup-vault-events \
BACKUP_JOB_FAILED \
RESTORE_JOB_FAILED \
COPY_JOB_FAILED快速检查
测试您对本课 AWS Solutions Architect (SAA-C03) 概念的理解。
课程回顾
在本课中,您学习了:AWS Backup 可集中管理 RDS、DynamoDB、EFS、EC2 等服务的备份,S3 Cross-Region Replication 会自动将备份复制到您的 DR 区域,以及Backup Vault Lock 可提供符合合规要求且能防范勒索软件的不可变备份。请始终测试恢复,以验证实际的 RTO。接下来,我们将探讨 Pilot Light 和 Warm Standby 策略。
常见问题解答
「备份与还原」课时是免费的吗?
是的 — 「备份与还原」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Solutions Architect 课程的其余内容,请升级到 CoddyKit PRO。 AWS Solutions Architect 课程共包含 4 节课。
「备份与还原」这节课中我会学到什么?
通过自动化快照、S3 跨 Region 复制和 AWS Backup 策略,实现成本最低的 DR 层级,并完成一次还原演练 你通过在浏览器中直接运行的动手代码来练习 AWS Solutions Architect,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AWS Solutions Architect 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AWS Solutions Architect 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「备份与还原」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AWS Solutions Architect 课中编写并运行代码吗?
能。每节 AWS Solutions Architect 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。