如何使用 Elastic Beanstalk 为 AWS CDK 指定 Node.js 版本?

How to specify Node.js version for AWS CDK with Elastic Beanstalk?

常规 CloudFormation 已经有 ,但我正在努力寻找 CDK 配置的任何文档。

在指定 ARN arn:aws:elasticbeanstalk:eu-central-1::platform/Node.js running on 64bit Amazon Linux/4.10.2 时自动使用特定平台可用的最新版本 arn:aws:elasticbeanstalk:eu-central-1::platform/Node.js running on 64bit Amazon Linux/4.10.2,但我希望能够指定确切的版本 10.15.0,可在 UI 并通过链接的 CloudFormation。

对 Elastic Beanstalk 使用 CDK 的唯一参考是 API docs and this example,但文档没有提到 Node.js 版本,示例是针对 Java 8 的堆栈(也没有指定确切的 Java 版本)。

您可以使用solutionStackName 属性指定堆栈名称和optionSettings指定节点版本,例如:

const options: ebs.CfnEnvironment.OptionSettingProperty[] = [{
  namespace: 'aws:elasticbeanstalk:container:nodejs',
  optionName: 'NodeVersion',
  value: '10.15.0'
}];

const webAppEnv = new ebs.CfnEnvironment(this, 'nodeAppEnv', {
  applicationName: myNodeApp.ref,
  solutionStackName: '64bit Amazon Linux 2018.03 v4.8.2 running Node.js',
  optionSettings: options
});