我想使用云形成来创建一个OpsWorks堆栈。
使用Cloudformation,可以使用:AWS::EC2::Instance创建一个EC2实例。为了将实例添加到OpsWorks堆栈,我使用了AWS::OpsWorks::Instance。
是否可以在AWS::OpsWorks::Instance中引用AWS::EC2::Instance
这是一个很好的实践吗?
发布于 2016-08-08 08:33:38
不可以,没有办法通过CloudFormation将外部资源注册到OpsWorks (例如,预先存在的EC2实例、RDS集群、ECS集群)。
为此,您可以通过aws-sdk或aws-cli直接与OpsWorks api对话。
如果您没有其他特别的理由,我会说使用AWS::OpsWorks::Instance直接创建实例是最好的方法。
或者,如果您需要对实例执行无法从OpsWorks执行的特定操作(如使用特定的弹性IP),则可以使用cloud-init让实例使用aws-cli将其自身注册到预先存在的OpsWorks堆栈和层。本文解释了一些可以执行以自动将实例注册到现有堆栈的命令:http://lrascao.github.io/opsworks-provisioned-auto-scaling-groups/
简而言之,尝试直接在OpsWorks中创建实例,如果它对您有效,那么您就完成了。
https://stackoverflow.com/questions/38460499
复制相似问题