AWS EC2 LifeCyle Hook против пользовательских данных в конфигурации запуска - PullRequest
0 голосов
/ 31 октября 2019

В AWS EC2 и ловушка жизненного цикла, и пользовательские данные конфигурации запуска позволяют выполнять некоторые настраиваемые действия при запуске экземпляров.

Не могли бы вы сказать, выполняются ли действия, связанные с ловушкой Lifecyle, до того, или пользовательские данные, определенные при запуске? конфигурация выполнялась раньше?

Когда вы выбрали какую? В чем их отличия?

1 Ответ

1 голос
/ 31 октября 2019

Данные пользователя и Cloud-Init

При запуске экземпляра Amazon EC2 вы можете указать поле Данные пользователя . Информация, введенная в это поле, доступна экземпляру через http://169.254.169.254/latest/user-data/.

. Это отличный способ передать информацию в экземпляр , который доступен для программного обеспечения, работающего на этом экземпляре.

Затем Canonical, создатель Ubuntu, задумал Cloud-Init как способ запуска сценариев при запуске виртуальных машин. Cloud-Init берет скрипт, переданный через пользовательские данные EC2, и запускает его как root при первой загрузке экземпляра. * Отличный способ установить программное обеспечение и настроить устройство при его первом использовании.

Amazon EC2 Auto-Scaling Lifecycle Hooks

AmazonАвтоматическое масштабирование EC2 - это метод автоматического масштабирования парка экземпляров EC2 на основе рабочей нагрузки. Экземпляры запущены или прекращены на основе целевого показателя емкости. Экземпляры, запускаемые с помощью автоматического масштабирования, являются обычными экземплярами EC2, поэтому пользовательские данные можно использовать для настройки этих экземпляров.

Иногда, однако, при запуске / завершении экземпляров требуется более сложная операция. Например, при запуске экземпляров может потребоваться связаться с внешней службой конфигурации, а при завершении экземпляров может потребоваться скопировать данные из экземпляра. Эти задачи можно выполнить с помощью крюков жизненного цикла .

с крючков жизненного цикла Amazon EC2 с автоматическим масштабированием - автоматическое масштабирование Amazon EC2 :

жизненный циклХуки позволяют выполнять пользовательские действия, останавливая экземпляры, когда группа автоматического масштабирования запускает или завершает их. Когда экземпляр приостановлен, он остается в состоянии ожидания, пока вы либо не выполните действие жизненного цикла, используя команду CLI complete-lifecycle-action, либо действие CompleteLifecycleAction API, либо пока не истечет период ожидания (по умолчанию один час).

По сравнению с пользовательскими данными, крючки жизненного цикла используются редко. Они обычно требуются, когда требуется более длительный или внешний процесс, прежде чем экземпляры будут готовы обрабатывать запросы. Например, для новых экземпляров может потребоваться длительный процесс запуска, который превышает время, обычно предоставляемое для проверок работоспособности. Либо внешний процесс (вне экземпляра) может потребоваться запустить до того, как экземпляр сможет начать обработку трафика.

Захваты жизненного цикла более сложны, поскольку включают механизм сигнализации. Когда экземпляр автоматического масштабирования запускается или завершается, автоматическое масштабирование отправит сообщение через Amazon SQS или Amazon SNS. Затем вы несете ответственность за запуск процесса, который отвечает на этот сигнал. Когда процесс завершен, он должен отправить сигнал обратно в автоматическое масштабирование, чтобы экземпляр можно было полностью добавить или удалить из группы автоматического масштабирования. Для этого обычно требуется что-то, выполняющее внешний по отношению к экземпляру EC2 для обработки крюка жизненного цикла.

Итог: Вы хотите использовать данные пользователя. Редко вы бы использовали Lifecycle Hook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...