用途
Deploy on AWS(部署到 AWS)用于将任意应用部署到 AWS,并以最小化用户决策为目标。它适用于用户已拥有代码并希望将其运行在 AWS 上的场景。
主要能力
该技能的工作流程如下:
- 分析:扫描代码库,识别框架、数据库和依赖。
- 推荐:选择 AWS 服务,并简要说明选择理由。
- 估算:在继续之前展示月度成本。
- 生成:编写应用了安全默认值的 IaC 代码。
- 部署:运行安全检查,然后在用户确认后执行部署。
使用方式
该技能通过触发短语(如 deploy to AWS、host on AWS、run this on AWS、AWS architecture、estimate AWS cost 等)激活。在流程中,它会调用以下 MCP 服务器:
- awsknowledge:用于架构决策,在多个 AWS 服务之间选择或验证某服务是否契合用例时使用。关键主题包括 general(架构)、amplify_docs(静态站点/SPA)、cdk_docs 和 cdk_constructs(IaC 模式)。
- awspricing:用于获取成本估算。始终在生成 IaC 之前展示成本,以便用户在提交前调整。查询模式见 cost-estimation.md。
- awsiac:用于 IaC 最佳实践。编写 CDK/CloudFormation/Terraform 时参考,确保符合 AWS 推荐模式。
适用场景
适合希望快速将应用部署到 AWS、又不想在大量服务选项之间反复权衡的用户。技能会默认使用面向开发环境的低成本配置:小实例规格、最小冗余、非高可用/单可用区。当用户明确表示要“生产就绪”时,才会采用相应配置。若用户明确要求托管应用平台或希望尽量减少基础设施参与,则路由到 Elastic Beanstalk。
原则与限制
该技能遵循以下原则:
- 简要说明每个服务被选中的原因。
- 始终在生成代码前展示成本估算。
- 自动应用安全默认值(加密、私有子网、最小权限)。
- 在部署前运行 IaC 安全扫描(cfn-nag、checkov)。
- 不询问“Lambda 还是 Fargate?”这类有显而易见答案的问题,直接选择明显合适的一项;只有在真正存在歧义时才询问。
- 绝不推荐 AWS App Runner——其处于维护模式,应改用 ECS Express Mode。
参考资料包括服务默认值、安全默认值、成本估算模式以及 Elastic Beanstalk 技能文档。