Cloudformation + OpsWorks

Posted

技术标签:

【中文标题】Cloudformation + OpsWorks【英文标题】: 【发布时间】:2016-11-22 11:09:13 【问题描述】:

我想使用 Cloud Formation 创建 OpsWorks 堆栈。

使用 Cloudformation,可以使用:AWS::EC2::Instance 创建 EC2 实例。要将实例添加到 OpsWorks 堆栈,我使用 AWS::OpsWorks::Instance

是否可以在AWS::OpsWorks::Instance 中引用AWS::EC2::Instance

这是一个好习惯吗?

【问题讨论】:

【参考方案1】:

不,无法使用 CloudFormation 将外部资源注册到 OpsWorks(例如预先存在的 EC2 实例、RDS 集群、ECS 集群)。

为此,您可以通过 aws-sdk 或 aws-cli 直接与 OpsWorks api 对话。

如果您没有特别的理由不这样做,我会说直接使用 AWS::OpsWorks::Instance 创建实例是最好的方法。

或者,如果您需要对实例执行 OpsWorks 无法执行的特定操作(例如使用特定的 Elastic IP),则可以使用 cloud-init 让实例使用 aws-cli 自行注册 /em> 到预先存在的 OpsWorks 堆栈和层。本文介绍了一些您可以执行以自动将实例注册到现有堆栈的命令:http://lrascao.github.io/opsworks-provisioned-auto-scaling-groups/

简而言之,尝试直接在 OpsWorks 中创建实例,如果它适合您,那么您就完成了。

【讨论】:

以上是关于Cloudformation + OpsWorks的主要内容,如果未能解决你的问题,请参考以下文章

通过 Cloudformation 模板创建 RDS Opsworks 层

如何使用 Cloudformation 向 OpsWorks 堆栈注册 RDS 实例?

Cloudformation 找不到区域性 Opsworks 堆栈

使用 OpsWorks 的 Cloudformation 处理空值

如何通过 cloudformation 部署 opsworks 应用程序?

通过 Cloudformation 将配方分配给 Opsworks 中的生命周期事件