Основная задача Terraform - создавать, обновлять и уничтожать долгоживущие объекты инфраструктуры. Обычно это не касается программного обеспечения, запущенного в вычислительных экземплярах, которые оно развертывает. Вместо этого он обычно ожидает, что каждый развертываемый объект будет вести себя как своего рода специализированное «устройство», либо как управляемая служба, предоставляемая вашим поставщиком облачных услуг, либо потому, что вы подготовили собственный образ машины вне Terraform, предназначенный для запуска. соответствующая рабочая нагрузка сразу после загрузки системы. Затем Terraform просто предоставляет системе любую информацию о конфигурации, необходимую для поиска и взаимодействия с окружающей инфраструктурой.
Менее идеальным способом работы с Terraform является использование функции инициаторов для поздней настройки изображения сразу после он создан, но , который считается последним средством , потому что жизненный цикл Terraform не предназначен для сильной поддержки такого рабочего процесса, и для него потребуется более тесная связь между вашей основной системой и ее уровнем оркестровки .
Terraform не имеет механизма, предназначенного для загрузки произвольных файлов в существующие виртуальные машины. Если ваши виртуальные машины нуждаются в постоянном обслуживании конфигурации после того, как они были созданы (Terraform или иным образом), тогда это пример использования для традиционных программ управления конфигурацией, таких как Ansible, Chef, Puppet, et c, а не для Terraform. .