4

У меня есть группа автомасштабирования на амазонке, которая порождает экземпляры сервера.amazon-ecs-agent всегда перезагружается

Моего AWS-кли конфигурации являются:

[default] 
s3 = 
    signature_version = s3v4 
    addressing_style = path 
region = eu-central-1 

Моего ЭКС-агент конфигурации получает читать s3 с AWS-Cli на экземпляре и загрузке выглядит следующим образом:

ECS_CLUSTER=cluster-mongodb 
ECS_ENGINE_AUTH_TYPE=dockercfg 
ECS_ENGINE_AUTH_DATA={"domain.com":{"auth":"bsaewfgvewgf23g9hv3","email":""}} 

Грустно ecs- агент на порожденном экземпляре всегда перезапускается через 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 

Кто-то видел это раньше? Возможно, это связано с перепутанными группами безопасности/конфигурацией LB?

Заранее спасибо

[EDIT] найдено решение:

чек, если подсеть зарегистрирован в правой таблице маршрутизации (VPC - таблицы> маршрутные). в моем случае это было неправильно.

Кроме того, моим экземплярам нужен публичный IP-адрес, назначенный конфигурацией запуска группы автомасштабирования, но это было особенным для моей настройки.

ответ

5

Это сообщение указывает, что ваш экземпляр не может выполнить POST HTTPS до конечной точки ecs.eu-central-1.amazonaws.com.

Убедитесь, что ваши группы безопасности и/или конфигурация VPC позволяют использовать исходящие HTTPS для вашего ECS endpoint.

Вы можете подтвердить подключение к конечной точке от экземпляра к конечной точке командной строки:

curl https://ecs.eu-central-1.amazonaws.com 

Это должно возвращать сообщение, подобное следующему:

<MissingAuthenticationTokenException> 
    <Message>Missing Authentication Token</Message> 
</MissingAuthenticationTokenException> 
+0

Да, я не могу достичь ecs.eu-central-1.amazonaws.com из экземпляра, я получаю тайм-аут. ACL VPC полностью открыты, хотя разрешен весь трафик. то же самое касается группы безопасности группы автомасштабирования и экземпляра. где еще можно искать? – cari

+0

Вы используете iptables/local firewall для ограничения исходящих из экземпляра? Вы можете получить доступ к https://www.google.com из локального экземпляра? Имеет ли сам экземпляр группу безопасности? Какие там правила выезда? –

+0

ну, экземпляры имеют публичный ip, но не могут добраться до интернета. если я вручную присоединяю эластичный ip к экземпляру, они могут. но поскольку экземпляр запускается с автомасштабирования, мне нужно другое решение проблемы. у вас есть идея? – cari

0

Используйте экземпляр NAT, и пусть интернет-поток через виртуальную виртуальную машину внутри вашего VPC.