我最近开始使用AWS,并阅读了它的文档。
对于我的需求,我必须从我的node.js代码中部署EC2实例,等待它们被添加到我的ECS集群中(通过使用正确的Arnance Profile),然后在最后启动的EC2实例上启动一个任务。
但实际上,我没有找到在EC2启动时定义任务的方法,因为我必须用nodejs的变量覆盖docker命令,并做一些其他的任务。因此,我必须等待EC2被添加到ECS集群中,然后再尝试用我的参数和容器实例Id中的Arn启动任务(但我无法从listContainerInstances()中得到它)。
有什么方法可以轻松实现这个目标吗? (事实上,我尝试用setTimeout循环,直到listContainerInstances()返回新的东西,但我认为这根本不是一个好的做法,我的代码看起来有点难看)。
Nodejs SDK中的EC2和ECS类都有waitFor,允许你进行循环,直到满足某个条件。它将每6秒循环一次,最多100次。
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#waitFor-property