AWS Service Catalog
IT 管理员创建和管理已批准的产品目录,用户通过自助服务部署标准化基础设施的治理服务
概述
AWS Service Catalog 是一项允许 IT 管理员创建和管理已批准的 AWS 资源产品目录,最终用户通过自助服务门户部署这些产品的服务。产品以 CloudFormation 模板或 Terraform 配置定义,管理员控制可用的配置选项和版本。实现基础设施标准化和治理的同时,赋予开发者自助部署的能力,平衡敏捷性和合规性。
产品组合与产品设计
Service Catalog 的核心概念是产品组合(Portfolio)和产品(Product)。产品组合是产品的逻辑分组,通常按团队、部门或用途组织。产品是可部署的 IT 服务单元,由 CloudFormation 模板或 Terraform 配置定义。每个产品支持多个版本,管理员可控制哪些版本对用户可用。约束(Constraints)限制产品的部署方式:启动约束指定部署时使用的 IAM 角色(用户无需直接拥有创建资源的权限),模板约束限制用户可选择的参数值(如只允许特定实例类型),通知约束在产品部署时发送 SNS 通知。标签选项强制为部署的资源添加指定标签,确保成本分配和合规。
访问控制与自助部署
产品组合通过 IAM 用户、组或角色的关联控制谁可以访问。Organizations 共享允许将产品组合共享给成员账户,实现跨账户的标准化部署。用户通过 Service Catalog 控制台或 API 浏览可用产品,选择产品和版本,填写参数后一键部署。部署过程对用户透明——底层的 CloudFormation 堆栈创建和资源供应自动完成。已部署产品(Provisioned Products)的生命周期管理包括更新(应用新版本)、终止(删除资源)和自助操作(如重启实例)。管理员可强制更新已部署产品到最新版本,确保所有环境保持一致。
治理模式与 Terraform 支持
Service Catalog 的治理价值在于:管理员预先审查和批准模板,用户只能部署已批准的配置,所有部署都有审计跟踪。这防止了影子 IT(用户绕过标准自行创建资源)和配置漂移。Terraform 支持通过 Terraform Cloud/Enterprise 引擎执行 terraform apply,允许使用现有 Terraform 模块作为 Service Catalog 产品。TagOption 库集中管理标签策略,确保所有部署产品携带必要的标签(成本中心、环境、所有者等)。与 Control Tower 集成,Account Factory 使用 Service Catalog 产品自动化新账户的供应和基线配置。预算关联可为每个产品组合设置支出限制,防止超支。