用途:为使用 AWS Elastic Beanstalk 的部署流程提供生产验证过的模式,尤其适用于配合 GitHub Actions 与 Pulumi 基础设施的场景。
核心原则:部署前始终验证基础设施健康状态;不假设资源就绪,需实现重试逻辑;优雅处理已终止环境并清理状态;用并发控制防止部署冲突;预装依赖以提升部署速度与可靠性;实现带兜底的综合错误处理。
基础设施健康检查:部署前检查基础设施状态。步骤从 Pulumi 状态读取环境名(pulumi stack output ebEnvironmentName),若为空则说明将部署基础设施;否则用 aws elasticbeanstalk describe-environments 查询状态,若为 Terminated 或 NOT_FOUND,则从 Pulumi 状态删除对应环境(pulumi state delete "$EB_URN" --force)后重建;正常时用 pulumi preview --diff --expect-no-changes 判断是否需要变更。目的:避免部署到孤立资源、自动恢复已终止环境、节省僵尸资源成本。
Beanstalk 就绪验证:等待环境完全就绪。先用 aws elasticbeanstalk wait environment-exists 等待环境存在,再循环最多 30 次查询状态与健康度,每次间隔 20 秒(共约 10 分钟),状态为 Ready 即通过,否则在警告后继续。目的:避免时序性失败,确保应用部署前环境已配置完成。
适用场景:Elastic Beanstalk 与 GitHub Actions、Pulumi 组合的生产部署流水线。
限制:资料仅展示上述模式,完整部署模式、Pulumi 配置、监控与生产检查清单需见完整文档;其他功能、平台支持、收费与价格等信息暂未提供。