是否可以延迟同一堆栈中的资源创建?我有一个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属性
答案 0 :(得分:0)
通常,您可以使用 DependsOn 功能按顺序创建资源。 特别是对于EC2实例,您可以使用CreationPolicy Attribute来防止资源完成状态。
来自docs:
对于Amazon EC2和Auto Scaling资源,我们建议您使用CreationPolicy属性而不是等待条件。将CreationPolicy属性添加到这些资源,并使用cfn-signal帮助程序脚本来指示实例创建过程何时成功完成。