我正在使用云形成创建AWS OpsWorks堆栈。
文档说要设置" AWS :: OpsWorks :: Layer"财产"类型"图层类型的值。
类型 图层类型。除自定义类型外,堆栈不能包含多个相同类型的图层。您可以拥有任意数量的自定义类型。有关更多信息,请参阅AWS OpsWorks API Reference中的CreateLayer。
重要 如果更新需要替换图层的属性,则必须指定新类型,除非您具有自定义类型。您可以拥有任意数量的自定义类型。
必填:是
类型:字符串
但是,这并没有列出任何名称。
在教程中我看到:
MySQL: "db-master"
PHP App Server: "php-app"
是否有完整的清单?
用于配置它们的属性列表?
答案 0 :(得分:1)
我找到了答案,我建议这对任何类型的OpsWorks堆栈都是一个很好的解决方案:
首先在OpsWorks中创建所需的堆栈类型。设置它,完全按照您的需要部署您的应用程序,然后使用AWS CLI工具以JSON格式描述堆栈,图层,实例和应用程序。
例如:
$ aws opsworks --region us-east-1 describe-stacks
$ aws opsworks --region us-east-1 describe-layers --stack-id <stack-id>
$ aws opsworks --region us-east-1 describe-instances --stack-id <stack-id>
$ aws opsworks --region us-east-1 describe-apps --stack-id <stack-id>
值将在JSON中,您可以将其用作您自己的Cloudformation OpsWorks模板的基础。
特别是关于Rails的问题,这是我的rails应用层的样子:
"RailsLayer": {
"Type": "AWS::OpsWorks::Layer",
"DependsOn": "App",
"Properties": {
"StackId": {"Ref": "Stack"},
"Type": "rails-app",
"Name": "Rails App Server",
"Shortname": "rails-app",
"Packages": [
"imagemagick"
],
"EnableAutoHealing": true,
"AutoAssignElasticIps": false,
"AutoAssignPublicIps": true,
"Attributes": {
"RailsStack": "apache_passenger",
"RubyVersion": "2.1",
"BundlerVersion": "1.5.3",
"PassengerVersion": "4.0.46",
"ManageBundler": "true",
"RubygemsVersion": "2.3.0"
},
}