我目前正在为Elastic Beanstalk应用程序运行Node JS配置 . 我想将环境更改为Docker而不必删除环境 . 有谁知道我怎么做到这一点?
有一个重建环境的操作,但我不确定是否会让我更改配置 .
我还没有上传到环境中的任何东西,所以我并不担心文件或数据库被删除 .
有任何想法吗?
EDIT:
我的问题是我在另一台指向我的弹性beanstalk域(domain.elasticbeanstalk.com)的服务器上有一个DNS . 如果我删除该应用程序,我可以取回该名称吗?
3 回答
您实际上无法在Docker,Node.js等之间更改环境类型(基于http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html),但您可以创建具有不同域的新环境并使用Swap CNAME功能 . 在这种情况下,您的新环境将获得相同的URL(旧的可以安全删除) .
您可以使用EB CLI执行此操作 . (3.2)只需执行
eb config
并将解决方案堆栈名称更改为所需的精确解决方案堆栈字符串 .我找到了一种方法来做到这一点,没有url交换或删除和使用aws cli重新创建环境 . 它可能是一种黑客攻击,但它并不是太糟糕而且有效 .
首先,更新环境以使用新的解决方案堆栈 . 我发现我必须删除新解决方案堆栈中不支持的选项设置,我不得不同时更改为适用于新解决方案堆栈的新应用程序版本:
这个命令有效,但是导致混乱的环境,因为beanstalk会更新所有设置,但是你仍然有一个带有旧解决方案堆栈的底层EC2 . 所以重建环境:
环境恢复正常!