gpt4 book ai didi

amazon-web-services - Cloudformation "CreationPolicy"属性不起作用

转载 作者:行者123 更新时间:2023-12-03 07:32:31 27 4
gpt4 key购买 nike

我在 AWS 网站上找到了一份精彩的文档,介绍如何在第二个实例开始出现之前完全启动并配置一个实例。它位于 https://aws.amazon.com/blogs/devops/tag/cloudformation/page/2/

文档使用 CreationPolicy 属性和 cfn-signal 通知 AWS Cloudformation Instance1 已启动。我尝试了代码。它运行了。但问题是 Instance2 先出现,而不是等待 Instance1 出现。这是代码,我附上了实例出现时的屏幕截图。

{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "EC2 Head Node Instance ",
"Resources": {
"EC2Instance1": {
"Type": "AWS::EC2::Instance",
"CreationPolicy" : {
"ResourceSignal" : {
"Timeout": "PT10M",
"Count" : "1"
}
},
"Properties": {
"ImageId": "ami-3723c04f",
"UserData":{
"Fn::Base64":{
"Fn::Join": ["", [
"<script>\n",
"cfn-signal.exe -e 0 ",
" --stack ", {"Ref" : "AWS::StackName"},
" --resource EC2Instance1",
" --region ", {"Ref" : "AWS::Region"}, "\n" ,
"</script>\n"

]

]

}


},
"Tags" : [
{"Key" : "Name", "Value" : "QRM Head Node"}
]

}
},
"EC2Instance2": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": "ami-3723c04f",
"Tags" : [{"Key" : "Dependency", "Value" : "EC2Instance1"}
]

}
}


}

Stack Events picture }

最佳答案

您必须指定 DependsOn属性。

"EC2Instance2": {   
"DependsOn": "EC2Instance1",
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": "ami-3723c04f",
"Tags" : [{"Key" : "Dependency", "Value" : "EC2Instance1"}
]

}
}

上面的代码片段应该可以解决您的问题。

Edit-1:cfn-signal + DependsOn

创建 cfn-signal 以在 Ec2Instance1 上的安装完成后发送信号。请引用cfn-signal documentation .

现在,创建一个 AWS::CloudFormation::WaitCondition 并在 Ec2Instance2 中引用它。这是有关如何将 WaitConditions 集成到模板中的文档 cfn-wait-condition .

关于amazon-web-services - Cloudformation "CreationPolicy"属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45890043/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com