首页 > 代码库 > Heat中的AWS::WaitCondition的使用
Heat中的AWS::WaitCondition的使用
在heat中,一个instance的创建成功信号是在这个instance状态成为active之后发出的,这时候user-data可能还没有执行。但是heat已经认为这个resource创建成功了,开始调度下一个resource的创建。
如果我们要建立一个webserver,这个webserver需要在databaseServer执行完user-data之后才开始创建,就需要使用AWS的waitcondition通讯机制。
- 整个流程如下:
Create WaitHandler ->
WaitHandler Done ->
Create "Database" (Dependon WaitHandler) ->
Database Done ->
Create "WaitCondition" (Dependon Database) ->
Wait for Database signal ->
Database send signal to WaitHandler ->
WaitCondition Done ->
Create WebServer (Dependon WaitCondition)->
WebServer Done
- Template例子:
WaitHandle: {Type: ‘AWS::CloudFormation::WaitConditionHandle‘}
WaitCondition:
Type: AWS::CloudFormation::WaitCondition
DependsOn: WikiDatabase
Properties:
Handle: {Ref: WaitHandle}
Count: ‘1‘
Timeout: ‘600‘
Type: AWS::CloudFormation::WaitCondition
DependsOn: WikiDatabase
Properties:
Handle: {Ref: WaitHandle}
Count: ‘1‘
Timeout: ‘600‘
Database:
Type: AWS::EC2::Instance
Type: AWS::EC2::Instance
Properties:
UserData:
Fn::Base64:
Fn::Join:
- /opt/aws/bin/cfn-signal -e 0 -r "Wiki server setup complete" ‘
- {Ref: WaitHandle}
- ‘‘‘
‘
- {Ref: WaitHandle}
- ‘‘‘
‘
WebServer:
Type: AWS::EC2::Instance
Type: AWS::EC2::Instance
DependsOn: WaitCondition
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。