"Rails App Server" 的云形成是什么类型?
What is the type for "Rails App Server" in cloud formation?
我正在使用云形成创建 AWS OpsWorks 堆栈。
文档说要为图层类型设置 "AWS::OpsWorks::Layer" 属性 "Type" 值。
来自 AWS::OpsWorks::Layer :
Type
The layer type. A stack cannot have more than one layer of the same type, except for the custom type. You can have any number of custom types. For more information, see CreateLayer in the AWS OpsWorks API Reference.
Important
If you update a property that requires the layer to be replaced, you must specify a new type unless you have a custom type. You can have any number of custom types.
Required: Yes
Type: String
然而,这并没有列出任何名字。
在我看到的教程中:
MySQL: "db-master"
PHP App Server: "php-app"
有完整的列表吗?
以及用于配置它们的属性列表?
我找到了答案,我认为它是适用于任何类型的 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"
},
}
我正在使用云形成创建 AWS OpsWorks 堆栈。
文档说要为图层类型设置 "AWS::OpsWorks::Layer" 属性 "Type" 值。
来自 AWS::OpsWorks::Layer :
Type The layer type. A stack cannot have more than one layer of the same type, except for the custom type. You can have any number of custom types. For more information, see CreateLayer in the AWS OpsWorks API Reference.
Important If you update a property that requires the layer to be replaced, you must specify a new type unless you have a custom type. You can have any number of custom types.
Required: Yes
Type: String
然而,这并没有列出任何名字。
在我看到的教程中:
MySQL: "db-master"
PHP App Server: "php-app"
有完整的列表吗?
以及用于配置它们的属性列表?
我找到了答案,我认为它是适用于任何类型的 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"
},
}