amazon-ecs-agent总是重启

car*_*ari 4 amazon-s3 amazon-ec2 amazon-web-services amazon-ecs aws-cli

我在亚马逊上有一个自动缩放组,它产生服务器实例.

我的aws-cli配置是:

[default]
s3 =
    signature_version = s3v4
    addressing_style = path
region = eu-central-1
Run Code Online (Sandbox Code Playgroud)

我的ecs-agent配置在实例启动时使用aws-cli从s3读取,如下所示:

ECS_CLUSTER=cluster-mongodb
ECS_ENGINE_AUTH_TYPE=dockercfg
ECS_ENGINE_AUTH_DATA={"domain.com":{"auth":"bsaewfgvewgf23g9hv3","email":""}}
Run Code Online (Sandbox Code Playgroud)

遗憾的是,生成的实例上的ecs-agent总是在10秒后重新启动,而不是注册到群集"cluster-mongodb".

错误日志在这里:

2016-02-05T14:40:47Z [INFO] Starting Agent: Amazon ECS Agent - v1.7.1 (007985c)
2016-02-05T14:40:47Z [INFO] Loading configuration
2016-02-05T14:40:47Z [INFO] Checkpointing is enabled. Attempting to load state
2016-02-05T14:40:47Z [INFO] Loading state! module="statemanager"
2016-02-05T14:40:47Z [INFO] Detected Docker versions [1.17 1.18 1.19 1.20]
2016-02-05T14:40:47Z [INFO] Registering Instance with ECS
2016-02-05T14:41:07Z [ERROR] Could not register module="api client" err="RequestError: send request failed
caused by: Post https://ecs.eu-central-1.amazonaws.com/: net/http: request canceled while waiting for connection"
2016-02-05T14:41:07Z [ERROR] Error registering: RequestError: send request failed
caused by: Post https://ecs.eu-central-1.amazonaws.com/: net/http: request canceled while waiting for connection
Run Code Online (Sandbox Code Playgroud)

有人以前见过这个吗?这可能与乱搞安全组/ LB配置有关吗?

提前致谢

[编辑]找到了解决方案:

如果子网已注册到正确的路由表(vpc - >路由表),请检查.在我的情况下,这是错误的.

此外,我的实例需要一个由Autoscaling组的启动配置分配的公共IP,但这对我的设置来说很特殊.

Rod*_*o M 8

该消息表明您的实例无法对ecs.eu-central-1.amazonaws.com端点执行HTTPS POST .

确保您的安全组和/或VPC配置允许出站HTTPS到您的ECS端点.

您可以在命令行中确认从实例到端点的端点连接:

curl https://ecs.eu-central-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

这应该返回类似于以下内容的消息:

<MissingAuthenticationTokenException>
  <Message>Missing Authentication Token</Message>
</MissingAuthenticationTokenException>
Run Code Online (Sandbox Code Playgroud)