1

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

所以我:

  1. 为自动缩放实例创建了自动缩放启动配置 ( AMI : ami-a28476c2 us-west-2 )
  2. 该实例从自动缩放组启动,没有任何问题,但从未default像文档所说的那样加入我的 ECS 集群。
  3. 我进入实例并记录日志并查看:

    [ec2-user@ip-172-31-47-157 ~]$ cat /var/log/ecs/ecs-init.log.2016-05-10-03 2016-05-10T03:31:21Z [信息] pre-start 2016-05-10T03:31:22Z [INFO] start 2016-05-10T03:31:22Z [INFO] 没有要删除的现有代理容器。2016-05-10T03:31:22Z [INFO] 启动 Amazon EC2 容器服务代理 2016-05-10T03:31:23Z [错误] 无法启动代理:API 错误 (500):无法启动容器 dbee780d6770f62afc3266ba14b77957a5e6054f94e89b2ced77f9636c:4 打开resolv.conf:没有这样的文件或目录

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

过去有没有人尝试过这个?我不确定如何进行调试。

4

1 回答 1

2

我已经解决了这个问题。使用页面上的帮助,我发现某些东西(不知道原因是什么)正在为实例设置防火墙。

在我的自动缩放启动配置中,我将以下代码添加到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

它会创建丢失的文件 ( /etc/resolv.conf) 并告诉实例使用 Google DNS 服务器(可能是您想要的任何 DNS 服务器)。

现在一切都很好。

于 2016-05-10T12:00:28.047 回答