cloudformation延迟同一堆栈中的资源创建

时间:2017-06-30 09:25:35

标签: amazon-web-services amazon-cloudformation

是否可以延迟同一堆栈中的资源创建?我有一个DC和另一台服务器,一旦DC全部设置就需要加入域。两个服务器都在同一堆栈中创建。我尝试使用waithandle,但它仍然同时创建两个资源,然后在等待句柄的持续时间内表示正在进行中。

编辑:代码按要求: 1. DC服务器的用户数据

        # "Fn::Base64":
    #   Fn::Join ["", [
    #   "<script>cfn-init -v --stack ", !Ref "AWS::StackName", " --resource DC --configsets ascending --region", !Ref "AWS::Region", "\n",
    #   "cfn-signal.exe -e 0 ", Fn::Base64 !Ref DCServerWaitHandle, "</script>"]]

等待句柄

DCServerWaitHandle:
  Type: AWS::CloudFormation::WaitConditionHandle
DCServerWaitCondition:
  Type: AWS::CloudFormation::WaitCondition
  DependsOn: DC
  Properties:
    Handle: !Ref DCServerWaitHandle
    Timeout: 600

那么应该等待600秒才能构建DC的另一台服务器有一个依赖:DC属性

1 个答案:

答案 0 :(得分:0)

通常,您可以使用 DependsOn 功能按顺序创建资源。 特别是对于EC2实例,您可以使用CreationPolicy Attribute来防止资源完成状态。

来自docs

  

对于Amazon EC2和Auto Scaling资源,我们建议您使用CreationPolicy属性而不是等待条件。将CreationPolicy属性添加到这些资源,并使用cfn-signal帮助程序脚本来指示实例创建过程何时成功完成。