【问题标题】:Upgrading AWS EB Platform version from 2.0.1 to 3.1.0将 AWS EB 平台版本从 2.0.1 升级到 3.1.0
【发布时间】:2019-03-19 15:12:27
【问题描述】:

我目前的平台版本是:Node.js running on 64bit Amazon Linux/2.0.1 支持以下 NodeJS 版本:0.12.6、0.10.39、0.10.38、0.10.31、0.8.28

我正在寻找一种升级 NodeJS 版本的方法:4.x.x 似乎在平台版本中可用:Node.js running on 64bit Amazon Linux/3.1.0

但是当我升级它时。它说

我如何选择允许的版本,因为它不可用。

任何帮助,

谢谢,

附言 1. 已经通过保存/加载配置进行了尝试。在那里找不到任何选项。 2.暂时不想从头开始设置。

【问题讨论】:

    标签: node.js amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    首先,确保您在部署到生产环境之前对更改进行了充分测试。之后,您可以:

    1. 记下您要升级到的平台 ARN/解决方案堆栈的名称。
    2. 执行eb init --region REGION_NAME 并选择您正在处理的应用程序和环境
    3. 执行eb config。这将在编辑器中打开您的环境配置。将 PlatformArn 的值更改为您在上面第 1 步中记下的值。
    4. 同样在编辑器中,找到选项设置aws:elasticbeanstalk:container:nodejs。将 NodeVersion 更改为 6.9.1 或上述错误消息建议的版本。
    5. 保存并退出。

    配置完成后:

    1. 执行eb status 以验证您的环境是否正在使用升级后的解决方案堆栈。

    【讨论】:

    • 还是有用的!在运行 Node 8.4.0 的环境 4.4.0 上,并且该环境仅支持 8.8.1(代码使用 async/await,因此无法返回到 7)。控制台的下一个可用环境是 4.8.3,但没有匹配的节点版本。需要从控制台eb config,效果很好。
    【解决方案2】:

    您可以使用不同的平台版本将现有环境克隆到新环境。 在“操作”菜单中,选择“使用最新平台克隆”。 这将打开一个新页面,您可以在其中从可用的 OS/nodejs 版本中进行选择。

    一旦您对新环境感到满意,您可以将 URL 与旧环境交换以替换它。之后,您可以删除旧的环境。

    【讨论】:

    • 克隆也显示与配置验证相同的错误配置验证异常:无效选项值:'0.12.6'(命名空间:'aws:elasticbeanstalk:container:nodejs',选项名称:'NodeVersion'):值不是允许的值之一:[4.8.7, 4.9.1, 5.12.0, 6.14.3, 6.14.4, 7.10.1, 8.11.4, 8.12.0, 10.13.0]
    【解决方案3】:

    这在亚马逊发布新环境之前已经发生过几次,它们不包括环境之间的共同版本。解决方案是将 nodejs 版本的值设置为空字符串,这意味着使用最新版本。它可能会破坏您的应用程序,但您可以使用最新平台进行克隆,然后切换到所需的 nodejs 版本。所以运行这个命令来做到这一点:

    aws elasticbeanstalk update-environment --region "your region" --application-name "your app" --environment-name "your env" --option-settings "OptionName=NodeVersion,Namespace=aws:elasticbeanstalk:container:nodejs,Value=''"
    

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 2021-09-25
      • 1970-01-01
      • 2019-05-13
      • 1970-01-01
      • 2021-05-06
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多