自定义图层中的实例总是获得 start_failed 状态

Instances in custom layers always get start_failed status

没有为实例创建 opsworks 日志,所以我没有大量的调试信息,但我会尽可能地描述。非常感谢任何提示或想法。

我有一堆自定义层,一些是服务层,一些是 mongodb,一个是客户 memcached 层。

我尝试在 RHEL7 和 Amazon Linux(2016.03) 实例(两个最新版本均具有最新的 opsworks 代理版本 3436)和 chef 11.10 上的每一层启动一个实例。

当 mongodb 层具有不与服务层重叠的实例时,它们每次都会以状态 start_failed 失败,在两个操作系统上都是 100% 的时间。

当我创建由 mongodb 层和服务层共享的实例时,该实例每次都会进入设置阶段,然后通过其余过程(除非我的一些厨师代码部分)。

实例从 EC2 启动并联机,所有状态检查都在进行。我查看了 ec2 仪表板中的实例系统日志,没有发生任何系统级错误。我无法通过 SSH 进入实例以进一步调查,因为 IAM 用户从不加载。

所有实例获取相同的自定义配方,然后在运行时间确定是否在该实例上继续执行如果层和部署不对齐是否跳过,所以我不要认为这是配方差异。

我最好的猜测是这可能是一个与代理相关的问题,但这只不过是此时的直觉?

有没有其他人遇到过类似的问题,或者甚至可以指出正确的方向?

更新

我想出了如何通过 ssh 进入实例。它有一个私有 ip,但没有 public ip,所以我不得不从另一个 opsworks 实例来做。无论如何,我在/var/log/aws/opsworks/user-data.log:

中发现了以下错误
/tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/utils.rb:111:in `block (2 levels) in execute': Failed to execute "yum --assumeyes update" pid 9536 exit 1: Loaded plugins: amazon-id, rhui-lb, search-disabled-repos (RuntimeError)


Could not contact any CDS load balancers: rhui2-cds01.us-east-1.aws.ce.redhat.com, rhui2-cds02.us-east-1.aws.ce.redhat.com.
Could not contact CDS load balancer rhui2-cds01.us-east-1.aws.ce.redhat.com, trying others.
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/utils.rb:99:in `loop'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/utils.rb:99:in `block in execute'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/utils.rb:98:in `chdir'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/utils.rb:98:in `execute'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/utils.rb:14:in `yum'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/instance_agent_installer.rb:57:in `install_system_updates'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/instance_agent_installer.rb:25:in `block in run'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/log.rb:96:in `measure'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/instance_agent_installer.rb:25:in `run'
    from /tmp/opsworks-agent-installer/opsworks-agent/lib/bootstrap/instance_agent_installer.rb:10:in `run'
    from /tmp/opsworks-agent-installer/opsworks-agent/bin/opsworks-agent-installer.rb:8:in `<main>'

自定义数据库层 public ip 地址选项已关闭。为了从 VPC 与 OpsWorks 通信以安装说明书,然后安装包,需要 public ip 地址或使用特殊的 NAT 实例。

Public 可以在 Opsworks -> 图层 -> 网络部分打开 IP 地址。

此外,这里是AWS NAT Instances Documentation