Откуда cloud-init берет настройки
При старте cloud-init ищет поддерживаемый data source. Это может быть metadata service платформы или локальный источник. От него зависят hostname, сети, instance-id, SSH-ключи и user-data. Поэтому один и тот же шаблон может вести себя по-разному в разных облаках.
Источник важен. Проверьте документацию образа и облачной платформы.
User-data бывает cloud-config, скриптом или MIME-объектом с несколькими частями. Некоторые модули выполняются один раз для экземпляра, другие - при каждой загрузке; проверяйте частоту запуска конкретного модуля, чтобы повторный boot не создал побочный эффект.
Как диагностировать первичную настройку
Смотрите статус и журналы cloud-init, затем проверяйте распознанный datasource и instance-data. В шаблоне не используйте поля, которых этот источник не предоставляет: cloud-init может выдать предупреждение или оставить переменную неразрешенной.
На образе без подходящего datasource возможно использование None datasource. В официальной документации отмечено, что этот режим не получает и не формирует сетевую конфигурацию автоматически. Тестируйте образ на одноразовом инстансе до применения к важной машине.
Сверяйте журнал и этап запуска, чтобы понять, завершилась ли начальная настройка. Если поменялся datasource или instance-id, модуль может вести себя иначе; не повторяйте provisioning-скрипт без проверки побочных эффектов.
cloud-init запускается по стадиям и отслеживает instance-id, чтобы отличать новый экземпляр от повторной загрузки. Перед сменой образа или datasource проверьте, какие модули запускаются «один раз» и какие могут сработать снова.
cloud-init запускается по стадиям и отслеживает instance-id, чтобы отличать новый экземпляр от повторной загрузки. Перед сменой образа или datasource проверьте, какие модули запускаются «один раз» и какие могут сработать снова.
Что не класть в user-data
Параметры запуска могут попадать в metadata service, журналы, шаблоны и историю управления виртуальными машинами. Не передавайте открытые постоянные пароли или приватные ключи без специально предусмотренного secret manager. Ограничьте права чтения и удаляйте временные bootstrap-секреты после настройки.
Смотрите SSH-ключи, VPS на Linux и SSH на VPS. Использованы официальные docs cloud-init, проверенные 8 октября 2026 года; инстансы не создавались и user-data не запускались.

Вывод относится к сценарию этой страницы и не заменяет проверку конкретного тарифа.