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 处理空值