什么是 AWS OpsWorks? - AWS OpsWorks

什么是 AWS OpsWorks?

AWS OpsWorks 是一项配置管理服务,可帮助您利用 Puppet 或 Chef 配置和运行云企业中的应用程序。AWS OpsWorks Stacks 和 AWS OpsWorks for Chef Automate 让您可将 Chef 说明书和解决方案用于配置管理,而 OpsWorks for Puppet Enterprise 让您可以在 AWS 中配置 Puppet Enterprise 主服务器。Puppet 提供了一组工具,用于为基础设施实施所需的状态和自动按需任务。

AWS OpsWorks 服务

AWS OpsWorks for Puppet Enterprise

OpsWorks for Puppet Enterprise 让您可以创建 AWS 托管的 Puppet Master 服务器。Puppet Master 服务器管理基础设施中的节点,存储有关节点的事实,并用作 Puppet 模块的中央存储库。模块是可重用、可共享的 Puppet 代码单元,其中包含有关应如何配置基础设施的指令。您可以从 Puppet Forge 下载社区模块,或者使用 Puppet 开发工具包创建自己的自定义模块,然后使用 Puppet Code Manager 管理其部署。

OpsWorks for Puppet Enterprise 提供了完全托管的 Puppet Master,这是一套自动化工具,让您可以检测、交付、操作和帮助应用程序适应未来需求,并提供对用户界面的访问,让您查看有关节点和 Puppet 活动的信息。OpsWorks for Puppet Enterprise 让您使用 Puppet 来自动化完成如何配置、部署和管理节点,不论它们是 Amazon EC2 实例还是非本地设备。OpsWorks for Puppet Enterprise 主服务器可以处理软件和操作系统配置、程序包安装、数据库设置、更改管理、策略实施、监控和质量保证等任务,提供一应俱全的自动化功能。

由于 OpsWorks for Puppet Enterprise 管理 Puppet Enterprise 软件,因此服务器可在您选择的时间自动备份,始终运行最新的 AWS 兼容 Puppet 版本,并且始终应用最新的安全更新。您可以使用 Amazon EC2 Auto Scaling 组,自动将新的 Amazon EC2 节点与您的服务器关联。

AWS OpsWorks for Chef Automate

使用 AWS OpsWorks for Chef Automate,您可以创建包含 Chef Automate 高级功能的 AWS 托管的 Chef 服务器,并使用 Chef DK 及其他 Chef 工具来管理这些服务器。Chef 服务器管理您环境中的各个节点、存储有关这些节点的信息,并用作 Chef 说明书的中央存储库。说明书包含您使用 Chef 管理的每个节点上的 Chef Infra 客户端 (chef-client) 代理运行的配方。您可以使用 Chef 工具(如 knifeTest Kitchen)在 AWS OpsWorks for Chef Automate 服务的 Chef 服务器上管理节点和说明书。

Chef Automate 是附带的服务器软件包,为持续部署和合规性检查提供自动化工作流程。AWS OpsWorks for Chef Automate 通过使用单一 Amazon Elastic Compute Cloud 实例来安装和管理 Chef Automate、Chef Infra 和 Chef InSpec。借助 AWS OpsWorks for Chef Automate,您可以使用社区编写的或自定义的 Chef 说明书,而无需进行特定于 AWS OpsWorks 的更改。

由于 AWS OpsWorks for Chef Automate 在单个实例上管理 Chef Automate 组件,因此服务器可在您选择的时间自动备份,始终运行最新的 Chef 次要版本,并且始终应用最新的安全更新。您可以使用 Amazon EC2 Auto Scaling 组,自动将新的 Amazon EC2 节点与您的服务器关联。

AWS OpsWorks 堆栈

基于云的计算通常涉及各组 AWS 资源,如 EC2 实例和 Amazon Relational Database Service (RDS) 实例。例如,一个 Web 应用程序通常需要应用程序服务器、数据库服务器、负载均衡器以及其他资源。此组实例通常称为堆栈

AWS OpsWorks Stacks 是一项基本服务,此服务提供了一种用于创建和管理堆栈及应用程序的简单灵活的方式。借助 AWS OpsWorks Stacks,您可以部署和监控堆栈中的应用程序。您可以创建堆栈,以帮助您在专门的组 (名为) 中管理云资源。层代表一组服务特定目的 (如提供应用程序服务或承载数据库服务器) 的 EC2 实例。层依靠 Chef 配方来处理诸如在实例上安装程序包、部署应用程序和运行脚本等任务。

与 AWS OpsWorks for Chef Automate 不同,AWS OpsWorks Stacks 不需要也不创建 Chef 服务器;AWS OpsWorks Stacks 为您执行一些 Chef 服务器的工作。AWS OpsWorks Stacks 监控实例的运行状况,并在需要时通过自动修复和 Auto Scaling,为您预配置新的实例。简单的应用程序服务器堆栈可能类似于下图。