如何在cloudformation中为我的beantalk定义nodejs的版本
Posted
技术标签:
【中文标题】如何在cloudformation中为我的beantalk定义nodejs的版本【英文标题】:How to define the version of nodejs for my beanstalk in cloudformation 【发布时间】:2017-12-26 15:41:57 【问题描述】:我正在尝试使用特定版本的 nodejs 创建 beanstalk:
这是我在 cloudformation 中的 beanstalk 设置选项:
"configurationTemplate":
"Type": "AWS::ElasticBeanstalk::ConfigurationTemplate",
"Properties":
"ApplicationName":
"Ref": "xxxxx"
,
"Description": "AWS ElasticBeanstalk Sample Configuration Template",
"OptionSettings": [
"Namespace": "aws:autoscaling:asg",
"OptionName": "MinSize",
"Value":
"Ref": "MinEc2s"
,
"Namespace": "aws:autoscaling:asg",
"OptionName": "MaxSize",
"Value":
"Ref": "MaxEc2s"
,
"Namespace": "aws:elasticbeanstalk:environment",
"OptionName": "EnvironmentType",
"Value": "LoadBalanced"
,
"Namespace": "aws:autoscaling:launchconfiguration",
"OptionName": "InstanceType",
"Value":
"Ref": "InstanceType"
,
"Namespace": "aws:ec2:vpc",
"OptionName": "VPCId",
"Value":
"Ref": "VpcIdBn"
,
"Namespace": "aws:ec2:vpc",
"OptionName": "Subnets",
"Value":
"Ref": "SubnetIds"
],
"SolutionStackName": "64bit Amazon Linux 2017.03 v4.2.0 running
Node.js"
如您所见,我将我需要的堆栈解决方案定义如下:
"SolutionStackName": "64bit Amazon Linux 2017.03 v4.2.0 running
Node.js"
当我运行它时,一切正常,并且我的 beanstalk 被创建,但是节点版本为 6.x.x 但是我需要更新版本的 nodejs。我检查了我手动创建的 benastalk,我注意到 beanstalk 可以接受版本 7.10.1,这是我需要的版本。所以我改变了stacksolution如下:
"SolutionStackName": "64bit Amazon Linux 2017.03 v4.2.0 running
Node.js 7.10.1"
当我运行 cloudformation 时,它无法运行。那么我有什么遗漏吗?如何定义要安装的节点版本?有什么想法吗?
【问题讨论】:
【参考方案1】:你试过添加下面的代码吗?
OptionSettings:
- Namespace: aws:elasticbeanstalk:container:nodejs
OptionName: NodeVersion
Value: "8.11.3"
【讨论】:
以上是关于如何在cloudformation中为我的beantalk定义nodejs的版本的主要内容,如果未能解决你的问题,请参考以下文章
在 Cloudformation 模板中为 API 网关启用 CORS DEFAULT 4XX/5XX
如何在 CloudFormation 模板中为 Elastic Beanstalk 启动配置指定安全组?