AWS ECS代理在启动时找不到/etc/resolv.conf,无法将实例添加到ECS群集

我正在尝试按照此处的说明将实例添加到我的AWS ECS群集。

所以我:

  1. 为自动缩放实例( AMIami-a28476c2 us-west-2 )创build了自动缩放启动configuration
  2. 该实例从自动缩放组引导,没有问题,但从不join我的ECS集群default因为文档说应该。
  3. 我把这个实例join到日志中,并看到:

    [ec2-user @ ip-172-31-47-157〜] $ cat /var/log/ecs/ecs-init.log.2016-05-10-03 2016-05-10T03:31:21Z [INFO]预启动2016-05-10T03:31:22Z [INFO] start 2016-05-10T03:31:22Z [INFO]没有现有代理容器要删除。 [错误]无法启动代理程序:API错误(500):无法启动容器dbee780d6770f62afc3266ba14b77957a5e6054f94e89b2ced77f9636c4be64b:打开/ etc / resolv.conf:没有这样的文件或目录

所以它看起来像ECS代理失败,因为它找不到/etc/resolv.conf 。 我不知道为什么这是因为我逐字跟踪文档。

有没有人试过这个? 我不知道如何去debugging这个。

我解决了这个问题。 使用这个页面上的帮助,我发现有些东西(不知道是什么原因)阻止了这个实例。

在我的自动调节启动configuration中,我将下面的代码添加到user-data部分:

 #!/bin/bash echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf 

这会创build缺less的文件( /etc/resolv.conf )并告诉实例使用Google DNS服务器(大概是任何你想要的DNS服务器)。

现在所有的作品都很棒。