我想使用Cloud formation来创建OpsWorks堆栈。
使用Cloudformation,可以使用:AWS::EC2::Instance
创建EC2实例。要将实例添加到OpsWorks堆栈,我使用AWS::OpsWorks::Instance
。
是否可以在AWS::EC2::Instance
内引用AWS::OpsWorks::Instance
?
这是一个好习惯吗?
答案 0 :(得分:0)
不,没有办法通过CloudFormation向OpsWorks注册外部资源(例如,预先存在的EC2实例,RDS集群,ECS集群)。
为此,您可以通过aws-sdk或aws-cli直接与OpsWorks api对话。
如果您没有特别的理由不这样做,我说直接使用AWS :: OpsWorks :: Instance创建实例是最好的方法。
或者,如果您需要对OpsWorks中的实例执行特定的操作(例如使用特定的弹性IP),那么您可以使用cloud-init让实例使用aws-cli来注册本身< / em>到预先存在的OpsWorks堆栈和层。本文介绍了一些可以执行的命令,可以自动将实例注册到现有堆栈:http://lrascao.github.io/opsworks-provisioned-auto-scaling-groups/
简而言之,尝试在OpsWorks中直接创建实例,如果它适合你,那么你就完成了。