在 AWS 上运行 Dell PowerProtect 备份的组织面临一个反复出现的问题:多设备生态系统——PPDM(PowerProtect Data Manager)、DDVE(Data Domain Virtual Edition)和 DDMC(Data Domain Management Center)——需要仔细、按顺序的配置,而这种配置很难在不同区域和账户间保持一致。

本文介绍一种利用 Terraform 进行基础设施配置以及 AWS Step Functions 进行部署后编排的 Dell PowerProtect 自动化部署方案。此处描述的模式适用于任何在 AWS 上运行 Dell 备份设备的组织,旨在从手动或半自动部署转向完全代码化、可重复的框架。

为什么要自动化 AWS 上的 Dell 备份?

Dell PowerProtect 组件在 AWS 上通常通过 marketplace AMI 以 EC2 实例形式部署。部署本身相对简单,难点在于部署之后:

  • DDMC 需要交互式首次登录向导(接受 EULA、更改密码、文件系统设置)
  • PPDM 需要通过 REST API 进行配置(许可、NTP、凭证设置、策略创建)
  • DDVE 必须通过协调的 API 调用同时向 PPDM 和 DDMC 注册
  • DNS 解析 必须同时包含正向和反向记录——PPDM 在接受集成伙伴之前会验证双向 DNS
  • 凭证 需要从第一天起就进行安全存储和轮换

手动执行此过程会引入配置漂移、产生无文档的隐性知识,且无法扩展。基础设施即代码可以消除这些风险。

参考架构

在 AWS 上运行的生产级 Dell PowerProtect 自动化框架分为四层:

┌─────────────────────────────────────────────────────────────────────┐
│                    Layer 1: Terraform - Infrastructure                │
│  VPC / Subnets / Security Groups / Route53 / IAM / KMS / Secrets    │
├─────────────────────────────────────────────────────────────────────┤
│                    Layer 2: Terraform - Appliance Deployment          │
│  PPDM EC2 Instance / DDVE EC2 Instance / DDMC EC2 Instance          │
│  EBS Volumes / Network Interfaces / Instance Profiles                │
├─────────────────────────────────────────────────────────────────────┤
│                    Layer 3: Step Functions - Configuration            │
│  Lambda: Configure DDMC (SSH)                                        │
│  Lambda: Configure PPDM (REST API)                                   │
│  Lambda: Integrate DDVE ↔ PPDM/DDMC (REST API)                      │
│  Lambda: Credential Rotation (Secrets Manager)                       │
├─────────────────────────────────────────────────────────────────────┤
│                    Layer 4: Operational Monitoring                    │
│  EventBridge → Monitor Lambda → DynamoDB → ITSM Integration         │
└─────────────────────────────────────────────────────────────────────┘

Enter fullscreen mode Exit fullscreen mode

每一层都有清晰的职责边界,一层的变更不会不可预测地级联到其他层。

第一层:网络与安全基础

VPC 与子网设计

Dell 备份设备在特定端口(Data Domain 协议使用 2051、2052、3009,管理 API 使用 443)上通信。网络模块应配置:

  • 为备份设备分配专用 VPC(或现有 VPC 内的子网范围)
  • 跨多个可用区的私有子网以实现弹性
  • 具有针对 Dell 协议端口的精细入站/出站规则的安全组
  • NAT Gateway 访问以实现 marketplace 许可证验证和更新

DNS:隐藏的需求

PPDM 部署失败的一个常见原因是 DNS 解析问题导致集成被拒绝。PPDM 执行双向 DNS 验证——它将 DDVE 主机名解析为 IP,然后将该 IP 反向解析回主机名,并要求两者匹配。

必须同时自动化:

  • Route53 私有托管区域中的正向 DNS(A 记录)
  • 反向查找区域中的反向 DNS(PTR 记录,例如 10.in-addr.arpa

如果缺少 PTR 记录,PPDM 将报错“Network validation has failed”或“Unable to resolve FQDN/IP address”。这一要求文档中并未充分说明,经常让团队措手不及。

# Terraform reverse DNS zone and PTR record
resource "aws_route53_zone" "reverse" {
  name = "10.168.192.in-addr.arpa"
  vpc {
    vpc_id = aws_vpc.backup.id
  }
}

resource "aws_route53_record" "ppdm_ptr" {
  zone_id = aws_route53_zone.reverse.zone_id
  name    = "15.10.168.192.in-addr.arpa"
  type    = "PTR"
  ttl     = 300
  records = ["ppdm.backup.internal"]
}

Enter fullscreen mode Exit fullscreen mode

IAM 与密钥管理

每个设备角色应遵循最小权限原则:

  • PPDM 实例角色:访问 Secrets Manager(自身凭证)、S3(备份目标)、SSM(用于代理部署)
  • DDVE 实例角色:KMS 解密加密卷、Secrets Manager 轮换凭证
  • DDMC 实例角色:SSM 获取参数、EC2 DescribeInstances 进行发现

从一开始就把初始和轮换后的凭证存储在 AWS Secrets Manager 中。避免将凭证嵌入 EC2 用户数据或依赖实例 ID 作为默认密码。

第二层:使用 Terraform 部署设备

每台 Dell 设备都是通过 marketplace AMI 预置的 EC2 实例。主要注意事项:

PPDM 部署

  • 实例类型:m5.xlarge 或更高(最低 4 vCPU、16 GB RAM)
  • 根卷:100 GB gp3
  • 根据目录大小附加数据卷
  • 弹性 IP 或稳定的私有 IP 以保持 DNS 一致性

DDVE 部署

  • 实例类型:存储优化型(根据容量层选择 m5.2xlarger5.xlarge
  • 用于元数据和数据的多个 EBS 卷(DDVE 使用特定的卷布局)
  • 用于重复数据删除工作负载的高 IOPS 配置
  • 大规模部署考虑使用 io2 Block Express

DDMC 部署

  • 实例类型:m5.large(作为管理平面,资源需求较轻)
  • 用于内部数据库的数据卷
  • 对将要管理的所有 DDVE 实例的网络访问
# Parameterized appliance deployment
module "ppdm" {
  source         = "./modules/dell-appliance"
  appliance_type = "ppdm"
  ami_id         = var.ppdm_ami_id
  instance_type  = var.ppdm_instance_type
  subnet_id      = module.network.private_subnet_ids[0]
  security_groups = [module.network.ppdm_sg_id]
  iam_profile    = module.iam.ppdm_instance_profile

  tags = {
    Application = "dell-backup"
    Component   = "ppdm"
    Environment = var.environment
  }
}

Enter fullscreen mode Exit fullscreen mode

核心原则:Terraform 处理“是什么”(基础设施状态),但不处理“如何做”(设备内部配置)。这正是 Step Functions 的用武之地。

第三层:使用 Step Functions 进行部署后配置

为什么不使用 Terraform Provisioners?

Terraform provisioners(remote-execlocal-exec)看似诱人,但对于多步骤设备配置存在问题:

  • 它们在 terraform apply 时运行,无法独立重试
  • 它们没有内置状态机来处理带等待条件的顺序步骤
  • 失败会使 Terraform 状态处于不一致位置
  • 它们破坏了声明式模型——基础设施与运行时行为耦合

AWS Step Functions 提供了更合适的方案:具有重试、超时、分支和独立执行的可见状态机。

配置 Lambda 函数

DDMC 配置(基于 SSH)

DDMC 的首次登录过程是一个交互式 SSH shell 向导。使用 Paramiko(Python SSH 库)的 Lambda 函数可自动化此过程:

  1. 通过 SSH 连接到 DDMC(从 Secrets Manager 获取初始默认凭证)
  2. 通过模式匹配终端输出接受 EULA 提示
  3. 将 sysadmin 密码更改为生成的值
  4. 完成设置向导(时区、主机名、网络确认)
  5. 使用定义的配额创建备份文件系统
  6. 将新凭证存储到 Secrets Manager

主要挑战:向导提示文本因 DDMC 固件版本而异。需要构建带超时和回退检测的防御性模式匹配。

PPDM 配置(基于 REST API)

PPDM 在启动后在 443 端口暴露 REST API,但从 EC2 进入“running”状态到 API 可响应通常需要 3-8 分钟。您的 Lambda 需要:

  1. 使用指数退避轮询 PPDM API 健康端点
  2. 使用默认凭证进行身份验证
  3. 通过 API 接受 EULA
  4. 更改管理员密码
  5. 配置 NTP 设置
  6. 激活许可证
  7. 创建默认保护策略

DDVE-PPDM-DDMC 集成

集成 Lambda 编排跨设备注册:

  1. 对 PPDM API 进行身份验证
  2. 在 PPDM 中将 DDVE 添加为存储目标(需要 DDVE 凭证)
  3. 对 DDMC API 进行身份验证
  4. 在 DDMC 中注册 DDVE 实例
  5. 通过状态检查验证集成
  6. 运行测试备份以确认端到端连接

Step Function 定义

{
  "StartAt": "WaitForAppliances",
  "States": {
    "WaitForAppliances": {
      "Type": "Wait",
      "Seconds": 300,
      "Next": "ConfigureDDMC"
    },
    "ConfigureDDMC": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:...:configure-ddmc",
      "Retry": [
        {
          "ErrorEquals": ["States.ALL"],
          "IntervalSeconds": 30,
          "MaxAttempts": 3,
          "BackoffRate": 2.0
        }
      ],
      "Next": "ConfigurePPDM"
    },
    "ConfigurePPDM": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:...:configure-ppdm",
      "Retry": [
        {
          "ErrorEquals": ["States.ALL"],
          "IntervalSeconds": 60,
          "MaxAttempts": 5,
          "BackoffRate": 2.0
        }
      ],
      "Next": "IntegrateDDVE"
    },
    "IntegrateDDVE": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:...:integrate-ddve",
      "Retry": [
        {
          "ErrorEquals": ["States.ALL"],
          "IntervalSeconds": 30,
          "MaxAttempts": 3,
          "BackoffRate": 2.0
        }
      ],
      "End": true
    }
  }
}

Enter fullscreen mode Exit fullscreen mode

第四层:运营监控与 ITSM 集成

部署完成后,Dell 备份设备需要主动监控。无服务器监控模式效果良好:

监控架构

  1. EventBridge 定时规则 — 每 10 分钟触发一次监控 Lambda
  2. 监控 Lambda — 对 DDMC REST API 进行身份验证,获取 DDVE 健康状态和活动告警
  3. DynamoDB 表 — 存储当前告警状态以便去重和跟踪
  4. DynamoDB Streams — 在出现新告警或告警变更时触发 ITSM Lambda
  5. ITSM Lambda — 格式化事件并转发到您的事件管理系统(ServiceNow、Jira Service Management 等)

告警事件模式

标准化事件格式以便下游使用:

{
  "event_id": "unique-uuid",
  "source": "dell-backup-monitor",
  "severity": "critical",
  "appliance": "ddve-01.backup.internal",
  "alert_name": "Appliance Not Responding",
  "timestamp": "2026-07-15T10:30:00Z",
  "region": "eu-west-1",
  "action_required": "Investigate DDVE connectivity"
}

Enter fullscreen mode Exit fullscreen mode

事件归档

将所有事件归档到 S3,使用结构化路径便于审计和合规:

s3://backup-events/{service}/{account_id}/{region}/{date}/{event_id}-{severity}.json

Enter fullscreen mode Exit fullscreen mode

大规模 EC2 备份接入

最后的自动化环节是将 EC2 实例接入 Dell Backup 保护:

  1. 基于标签的定位 — 标记为 Backup: enabled 的实例会被发现
  2. SSM 自动化 — AWS Systems Manager 无需 SSH 访问即可安装 PPDM 代理
  3. 代理注册 — 代理使用预配置的服务器端点向 PPDM 注册
  4. 策略分配 — 根据工作负载标签分配保护策略(例如 BackupPolicy: daily-30day-retention
  5. 健康验证 — 安装后检查确认代理与 PPDM 的连接

将备份接入作为独立自动化流程——不要将其与常规 EC2 生命周期管理耦合。备份策略独立于操作系统补丁或扩缩容事件而变化。

常见陷阱及避免方法

陷阱 影响 解决方案
缺少 PTR 记录 PPDM 集成静默失败 在网络模块中自动化反向 DNS
保留默认密码 安全漏洞 首次启动时轮换,存储到 Secrets Manager
使用 Terraform provisioners 进行配置 脆弱、不可重试的部署 改用 Step Functions + Lambda
步骤间无健康检查 在设备未就绪时尝试集成 在每个 Lambda 中实现带退避的轮询
将备份与 OS 管理耦合 一方变更破坏另一方 分离 Terraform 模块和流水线
不对监控本身进行监控 告警静默失效 在 Lambda 错误指标上设置 CloudWatch 告警

摘要

自动化 AWS 上的 Dell PowerProtect 需要分层思考:

  1. Terraform 用于基础设施 — VPC、EC2、IAM、DNS(含反向)、KMS、Secrets Manager
  2. Step Functions 用于编排 — 通过 Lambda 按顺序、可重试地配置设备
  3. EventBridge + Lambda 用于监控 — 主动健康检查并集成 ITSM
  4. SSM 用于接入 — 无需 SSH 访问即可大规模部署代理

该模式清晰地分离了关注点:Terraform 拥有状态,Step Functions 拥有工作流,Lambda 拥有设备特定逻辑。这种分离使每一层都可以独立测试、更新和调试。

对于目前仍在手动部署 AWS 上 Dell 备份的团队,采用这种分层自动化方案可以消除配置漂移、提升安全态势,并在跨区域部署时无需额外工程投入即可实现规模化。


Alpesh Kumbhare 是 Atos 业务的云架构师,专注于 AWS 基础设施自动化和企业数据保护解决方案。欢迎在 LinkedIn 上联系。