在AWS中使用WaitCondtion vs Creation策略

时间:2019-01-24 12:27:49

标签: amazon-web-services amazon-ec2 autoscaling

我正在解决一个问题,我将用户数据作为EC2实例中启动配置的一部分,安装了aws cli和python软件包,有时未安装aws cli和python,并且EC2实例已启动并正在运行。

我的用户数据中的代码

pip install awscli

为解决这个问题,我查看了aws文档。我发现有两种方法可以使用带有cfn信号的Waitcondition和创建策略来解决此问题。

我想知道我的情况是哪种方法。

2 个答案:

答案 0 :(得分:0)

第三种方法(可能是最简单的方法)是预先烘焙自定义AMI,您可以在其中手动安装aws cli和上述python软件包,并调试可能发生的任何问题。

然后,不要运行带有user-data脚本的新EC2实例,而只需运行具有上述配置的自定义AMI。这样,您的实例将启动得更快,并且您不必担心该脚本执行期间可能发生的任何错误,因为该脚本已经执行并经过了测试。

答案 1 :(得分:0)

AWS文档说:

  

对于Amazon EC2和Auto Scaling资源,我们建议您使用   CreationPolicy属性而不是等待条件。

     

向这些资源添加CreationPolicy属性,然后使用   cfn-signal帮助程序脚本,用于在实例创建过程中发出信号   已成功完成。

     

对于以下情况,您可以使用等待条件:

     

使用以下配置操作来协调堆栈资源的创建:   在堆栈创建外部。

由于您的EC2实例是cf堆栈的一部分,因此应使用CreationPolicy属性。 检查here了解更多信息。