使用 Puppet 管理 AWS Beanstalks

使用 Puppet 管理 AWS Beanstalks

我正在考虑使用 Puppet Enterprise 将一组服务器/服务部署到 Amazon Web Services。据我所知,最好的方法是通过云形成

根据我所读的内容,CloudFormation 定义了如何设置/创建服务。而你使用 Puppet 来设置维护服务器/服务配置。

所以有两个问题:

  1. 我可以使用 Puppet 创建 Elastic Beanstalk 吗?
  2. 是否有可能维护 Elastic Beanstalk 以及它如何工作?

背景

我的组织使用 Elastic Beanstalk 发布其现有的 Web 应用程序/服务,并且我想保留此工作流程或在时间允许的情况下从 Beanstalk 过渡到其他东西。

答案1

我可以使用 Puppet 创建 Elastic Beanstalk 吗?

最简洁的答案是不。

如何使用 Elastic Beanstalk?

您实际上并不使用 Elastic Beanstalk 管理您的基础设施(或底层应用程序技术),您只需上传您的应用程序(例如使用 git 推送您的代码)然后 Beanstalk 会为您部署它。

https://aws.amazon.com/elasticbeanstalk/details/

AWS Elastic Beanstalk 是一种易于使用的应用程序管理服务,可使用 Java、PHP、Python、Ruby 和 .NET 等流行的应用程序容器构建 Web 应用程序和 Web 服务。客户上传代码,Elastic Beanstalk 自动完成其余工作

我可以同时使用 CloudFormation 和 Beanstalk 吗?

是的。CF 可以帮助您管理大量 AWS 资源包括豆茎。

CF 文档是一个很好的起点http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html

以下是CF可以管理的资源:

  • AWS::ElasticBeanstalk::应用程序
  • AWS::ElasticBeanstalk::应用程序版本
  • AWS::ElasticBeanstalk::配置模板
  • AWS::ElasticBeanstalk::环境

其他选项

如果你想要更多的控制权,你可能需要看看 OpsWorkshttps://aws.amazon.com/opsworks/它允许您通过 Chef(类似于 Puppet 的 CM 工具)控制操作系统配置。

如果您想要更多控制权,您可以直接使用 CloudFormation,这样您就可以管理基础设施的各个方面(然后您将完全控制 EC2 以按照您认为合适的方式进行管理,例如使用 Puppet、Chef 或 Ansible 等 CM 工具)。

差异

https://aws.amazon.com/opsworks/faqs/

OpsWorks 和 Beanstalk 是应用程序管理服务。

AWS OpsWorks 和 AWS CloudFormation 都是支持应用程序建模、部署、配置、管理和相关活动的应用程序管理服务。两者都支持各种架构模式,从简单的 Web 应用程序到高度复杂的应用程序。AWS OpsWorks 和 AWS CloudFormation 在抽象级别和关注领域方面有所不同。

CF 允许您管理几乎任何 AWS 资源

AWS CloudFormation 是一种构建块服务,使客户能够通过基于 JSON 的特定领域语言配置和管理几乎任何 AWS 资源。

OpsWorks 可以让你做的比 Beanstalk 更多

AWS OpsWorks 支持比 Elastic Beanstalk 更广泛的架构模式。AWS Elastic Beanstalk 专门针对最常见的 Web 应用程序和 Web 服务模式以及应用程序中间件进行了优化,而 AWS OpsWorks 支持从简单的 Web 应用程序到高度复杂的应用程序的各种架构模式。

审查选项

我喜欢将这些选项视为一个尺度(从左到右),左侧更易于使用,而右侧可为您提供更多控制(但需要付出更多努力来维护):

Beanstalk -> OpsWorks -> CloudFormation。

相关内容