OpenStack-Heat中的AWS::WaitCondition的使用

Heat资源依赖与WaitCondition
本文介绍在Heat中如何通过WaitCondition机制确保资源按特定顺序创建。尤其在等待某个实例完成初始化后再创建依赖于它的资源时非常有用。文章提供了一个具体的实例模板,展示了如何设置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'
Database:
    Type: AWS::EC2::Instance
    Properties:
      UserData:
        Fn::Base64:
          Fn::Join:
            - /opt/aws/bin/cfn-signal -e 0 -r "Wiki server setup complete" '
            - {Ref: WaitHandle}
            - '''

              '
WebServer:
    Type: AWS::EC2::Instance
    DependsOn: WaitCondition


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值