2016-08-23 110 views
0

我有一个注册到Amazon ECS群集的Amazon EC2实例。更改已注册EC2实例的群集的实例类型

而且我想将此实例的类型从c4.large更改为c4.8xlarge

我可以在AWS控制台中将其类型从c4.large更改为c4.8xlarge。但改变后,我发现

[ERROR] Could not register module="api client" err="ClientException: Container instance type changes are not supported. Container instance XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX was previously registered as c4.large.

被印在/var/log/ecs/ecs-agent.log.20XX-XX-XX-XX文件。

是否可以更改ec2实例类型并将其重新注册到集群?

我想也许先注销它,然后再注册它应该工作。但是我担心这可能会导致我的AWS工作环境中出现不可逆转的情况。所以我还没有尝试过这种方法。

+0

您是否联系aws获取此功能?如果它不支持您的预期? – BMW

回答

0

你不能这样做。 Per their docs

The type of EC2 instance that you choose for your container instances determines the resources available in your cluster. Amazon EC2 provides different instance types, each with different CPU, memory, storage, and networking capacity that you can use to run your tasks. For more information, see Amazon EC2 Instances.

这意味着,当你对一个实例启动容器,该代理收集一堆的元数据的有关实例来运行它。如果你改变它,那么所有的元数据(或很多)都会以一种不好的方式发生变化。 CPU单元,内存等。代理知道这and will report it as an error

您应该启动新类型的新实例并将其注册到群集并让任务在其上运行。如果它是一个服务,只需要终止旧的实例并让它针对新的实例运行。

我想不出任何真正原因终止旧的实例会导致不可逆转的东西,除非它是通过用户特定的设置配置错误或脆弱的,默认情况下,这会不会造成任何破坏性。