2017-06-19 102 views
9

我在AWS EC2容器服务中有一个群集。当我设置它时,我使用了t2.micro实例,因为这些实例足够用于开发。现在我想使用更强大的实例,比如m4.large。如何更改AWS ECS群集中的实例类型?

我想知道是否有可能只改变实例类型,所以我不需要重新创建整个集群。我无法找到如何做到这一点。

回答

13

是的,这是可能的。

群集中的实例类型由启动配置中的“实例类型”设置确定。

  1. 将群集启动配置的副本,并更新“实例类型”:在不必重新创建群集更新实例类型。
  2. 调整集群Auto Scaling Group指向新的启动配置注意:这将终止您的现有群集实例
  3. 等待您的新实例在群集中注册并启动服务。

您还可以通过创建链接到不同的启动配置多个自动缩放组添加多个实例类型为集群。但请注意,您无法在控制台中轻松复制Auto Scaling组。

+1

终止实例1你是对的。我能够使用您的方法更改实例类型。我将接受的答案更改为你的答案,请相应编辑。非常感谢! –

+0

这是否会更改启动配置名称? – 2017-08-23 09:39:11

+1

@Rothschild是的,无法复制Launch Configuration _without_更改名称(它是不可变的)。这使您可以更改配置,而不会影响与启动配置关联的Auto Scaling组。 –

9

是的,您可以在CloudFormation中实现此目的。

  • 单击对应于您的ECS群集的堆栈。
  • 点击Update Stack
  • 使用无线电current templateNext
  • 变化EcsInstanceType
  • NextNextUpdate
  • 高档群集在2*n情况下,正在创建的新类型的n新实例
  • 等待
  • 缩减您的群集到n
  • 或者你可以只排和1
+1

应该接受答案! – Mika

+2

对于我来说,一个一个地抽取实例是一种更好的方法,因为缩小比例2n-> n使用正在运行的容器有效地导致我的服务停机。很奇怪,AWS并没有逐步缩小比例,即用正在运行的容器终止一个实例,在可用实例等产生新容器,终止另一个实例等等。 – tporeba

+1

接受的答案要求为您的群集启用Auto Scaling。此解决方案无需Auto Scaling即可运行。因此它可以被任何人使用。 –

相关问题