通过Cloudformation模板创建RDS Opsworks层

时间:2016-12-28 09:43:45

标签: json amazon-web-services amazon-rds amazon-cloudformation aws-opsworks

我正在制作一个CloudFormation模板,用于创建opsworks堆栈,图层和少量应用程序。在我的图层中,我有opsworks和RDS。在AWS文档中,只有如何创建Opsworks::Layer但我不知道如何创建Amazon RDS服务层:

enter image description here

{
  "Type": "AWS::OpsWorks::Layer",
  "Properties": {
    "Attributes" : { String:String },
    "AutoAssignElasticIps" : Boolean,
    "AutoAssignPublicIps" : Boolean,
    "CustomInstanceProfileArn" : String,
    "CustomJson" : JSON object,
    "CustomRecipes" : Recipes,
    "CustomSecurityGroupIds" :  [ String, ... ],
    "EnableAutoHealing" : Boolean,
    "InstallUpdatesOnBoot" : Boolean,
    "LifecycleEventConfiguration" : LifeCycleEventConfiguration,
    "LoadBasedAutoScaling" : LoadBasedAutoScaling,
    "Name" : String,
    "Packages" : [ String, ... ],
    "Shortname" : String,
    "StackId" : String,
    "Type" : String,
    "VolumeConfigurations" : [ VolumeConfiguration, ... ]
  }
}

我的目标是通过cloudformation自动创建我的opsworks资源。 知道怎么做吗? 谢谢

2 个答案:

答案 0 :(得分:0)

了解有关cfn-init的更多信息将是我最好的选择。希望this帮助你

答案 1 :(得分:0)

不幸的是,根据Richard@AWS as of Dec 9 2015,将RDS实例注册为OpsWorks服务层的RegisterRdsDbInstance API并未通过官方CloudFormation资源实现,并且没有计划执行此计划。

您可以与AWS联系,请求将其添加到路线图中,但与此同时,您可以尝试以下方法:

  1. 从CloudFormation模板创建您的RDS实例和OpsWorks堆栈的其余部分,然后使用AWS控制台,AWS CLI或任何其他平台的AWS开发工具包手动将RDS服务层附加到OpsWorks堆栈。 / LI>
  2. 使用AWS::OpsWorks::Layer Type db-master的{​​{3}}使用在EC2实例上运行的自我管理数据库实例层,如AWS OpsWorks Template Snippet中所述。
  3. 创建执行RegisterRdsDbInstance API调用的Custom CloudFormation Resource,例如,使用Lambda函数和NodeJS AWS SDK。