我有一个cloudformation脚本,该脚本通过AWS :: AutoScaling :: LaunchConfiguration设置EC2。然后,它通过AWS :: ECS :: TaskDefinition在此EC2上启动docker容器(ECS任务)。我还有一个AutoScaler,如果运行状况检查发现ECS出现故障,它会启动一个新的ECS docker容器。
现在是我的问题。 当启动我的EC2实例时,cloudformation还会在EC2实例上启动一个bash脚本,以等待docker容器启动。启动后,它将向Docker容器注入一些代码,并在Docker容器中触发服务。问题是,如果ECS由于某种原因而关闭并重新启动,则此EC2 bash脚本将无法运行。这意味着重新启动的实例将不会由该脚本启动。
一个明显的解决方案是构建我自己的docker映像,并有一个运行必要脚本的入口点。但是,我不想建立自己的形象。我希望整个设置由cloudformation完成...以防万一我无法在cloudformation脚本中构建映像。