Настройте пользовательские данные Amazon EC2 с помощью специального кода для запуска и перезапуска экземпляра. - PullRequest
0 голосов
/ 03 июля 2019

Я создаю шаблон запуска AWS EC2, который включает команды в поле «Данные пользователя» для выполнения действий при первом запуске экземпляра (обновление пакетов, установка программного обеспечения, форматирование томов EBS и т. Д.).В дополнение к этому я также хочу выполнить задачи по перезагрузке или последующему запуску экземпляра, такие как монтирование существующих томов EBS и конфигурирование и монтирование энергозависимых томов SSD.Я вижу, что могу использовать MIME-тип для запуска кода при перезапуске экземпляра здесь:

https://aws.amazon.com/premiumsupport/knowledge-center/execute-user-data-ec2/

Таким образом, я могу четко изменить Данные пользователя после Я изначальнозапустить экземпляр, но это громоздко, поскольку, скорее всего, требуется ручное вмешательство или ожидание, пока экземпляр выполнит исходный код пользовательских данных, который выполняется при инициализации экземпляра.

Мой вопрос:

Можно ли настроить формат MIME, состоящий из нескольких частей, для запуска кода, который будет выполняться при инициализации экземпляра, и другого кода, который будет выполняться при каждом перезапуске экземпляра?

1 Ответ

0 голосов
/ 03 июля 2019

Я понимаю, что вы пытаетесь достичь, передавая два набора команд, используя Userdata. Один набор, который будет выполняться при создании экземпляра, и другой набор, который должен выполняться при каждой перезагрузке. Пожалуйста, дайте мне знать, если я неправильно понял.

Для первой части вы можете использовать сами данные пользователя, как вы уже знаете. Для команд, которые должны запускаться при каждой перезагрузке, вы можете использовать rc.local.

Сценарий /etc/rc.local предназначен для использования системным администратором. Он традиционно выполняется после запуска всех обычных системных служб, в конце процесса переключения на многопользовательский уровень выполнения и т. Д. Вы можете использовать его для запуска пользовательской службы или для подключения дополнительных томов.

Чтобы записать в /etc/rc.local, вы можете загрузить набор команд из S3 и скопировать в файл или просто повторить его. Пример:

echo 'echo HelloWorld' >> /etc/rc.local

Надеюсь, это поможет.

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