AWS Directory Service目录备份与恢复方案咨询
AWS托管Directory Service备份与风险规避方案
一、加固快照有效性的前置措施
AWS托管AD的快照确实在目录被删除后无法恢复,但可以先通过权限控制降低误删概率:
- 配置IAM策略,严格限制
DeleteDirectory操作的权限,仅授权给极少数核心管理员,同时开启操作审计追踪 - 在目录详情页开启删除保护功能,防止误触发删除操作
- 将快照保留周期调整到业务允许的最大值,确保目录未被删除时,能快速回滚到历史状态
二、离线导出核心数据作为兜底备份
由于无法直接访问域控制器,可通过两种方式导出关键AD数据:
- 用AWS CLI批量导出基础对象:
把导出的文件上传到开启版本控制和服务器端加密的S3桶,必要时可以设置生命周期规则归档到Glacier。# 导出用户列表到JSON文件 aws ds list-users --directory-id <你的目录ID> --output json > ad_users_backup.json # 导出组列表 aws ds list-groups --directory-id <你的目录ID> --output json > ad_groups_backup.json - 临时搭建加入域的EC2实例,用PowerShell导出完整属性:
启动一台Windows EC2实例并加入托管域,执行以下命令导出用户的完整属性:
同样将导出文件备份到安全存储,作为快照失效后的兜底方案。Get-ADUser -Filter * -Properties * | Export-Csv -Path "ad_full_users_backup.csv" -NoTypeInformation
三、隔离Terraform误删风险
针对旧流水线的Terraform风险,有两种处理方式:
- 完全解除Terraform管理:从当前Terraform状态文件中移除该托管目录的资源条目,后续流水线不再对其进行任何操作,彻底避免误删。
- 保留管理但添加保护:在Terraform配置中给该目录资源添加
prevent_destroy = true参数,示例:
这样执行resource "aws_directory_service_directory" "managed_ad" { # 原有配置... prevent_destroy = true }terraform destroy或会触发删除的更新操作时,Terraform会直接报错终止,阻止误删。同时备份当前的Terraform状态文件到离线存储。
四、跨区域容灾备份(可选)
如果需要更高的容灾级别:
- 创建托管AD的跨区域只读副本,利用AWS的自动同步机制保持数据一致,主目录出现问题时可提升副本为只读或读写目录。
- 定期将导出的AD数据复制到跨区域S3桶,确保极端情况下的异地恢复能力
内容的提问来源于stack exchange,提问作者Teh__docco
相关产品推荐
相关产品推荐

