AWS Elastic beanstalk - 更改解决方案堆栈名称

Tal*_*Tal 7 amazon-web-services amazon-elastic-beanstalk

我在AWS上运行了一个弹性beanstalk,即"运行Tomcat 7 Java 7的64位Amazon Linux 2013.09".我想升级到2014.03解决方案堆栈名称,而无需重新配置完整的环境.

我尝试创建一个新环境并加载旧环境配置,但是当我加载它时,它将linux版本更改为2013.09.

请指教.

谢谢塔尔

Ste*_*pel 6

更新

Elastic Beanstalk发布2015-03-30引入了对就地升级Elastic Beanstalk环境平台版本的支持,大大简化了使任何特定平台保持最新的过程(更改平台即解决方案堆栈名称,例如从Go 1.3到Go 1.4,仍然需要初始答案中概述的方法):

当您的环境的新版本称为"支持的平台"部分可用时,Elastic Beanstalk会在环境管理控制台中显示一条消息 ,并使"更改"按钮可用.

[...]

  1. 导航到您的环境的管理控制台.
  2. 在" 概述"部分的" 配置"下,单击" 更改".
  3. 在" 更新平台版本"页上,单击" 平台",然后单击希望环境使用的平台版本.
  4. 选择要使用的平台版本后,单击" 保存".

初步答复

标准解决方案堆栈更新过程通常在解决方案堆栈公告中概述,请参阅例如公告:AWS Elastic Beanstalk宣布更新的应用程序容器和R3实例类型支持(听起来您基本上遵循此过程了吗?):

要将现有环境迁移到新发布的平台版本,请按照以下步骤操作:

  1. 登录AWS管理控制台,从服务列表中选择Elastic Beanstalk.
  2. 找到要迁移的应用程序,然后单击应用程序名称旁边的" 操作"按钮.
  3. 在下拉菜单中,选择Launch New Environment.
  4. 单击相应的" 预定义配置"和" 环境类型",然后单击" 继续".(注意:Elastic Beanstalk将选择配置的默认版本.您可以单击"更改默认值"以选择其他版本.)
  5. 在下拉菜单中,选择要在更新的环境中运行的应用程序版本.
  6. 通过为应用程序选择适当的设置来完成向导的其余部分.
  7. 环境启动后,请测试您的应用程序以确保它按预期工作.
  8. 在新环境的" 概述"屏幕上,单击" 操作",然后单击" 交换环境URL".
  9. 在交换URL屏幕上,选择要与之交换URL的旧环境,然后单击" 交换".
  10. 交换完成后,新环境将为流量提供服务.

  • @adnan - 好问题:我刚刚通过"更改"按钮(或基础[UpdateEnvironment](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateEnvironment.html)测试了这个和新方法)API动作)仅支持升级平台的解决方案堆栈的版本 - 也就是说,它不包括从PHP 5.5升级.到PHP 5.6,因为这些是两个不同的解决方案堆栈,它仍然需要我的初始答案中概述的过程(除了要求临时的第二环境,它也适用于这种方法). (2认同)