В мире инфраструктуры как кода (IaC) Terraform стал мощным инструментом для управления и предоставления облачных ресурсов. Он позволяет вам определять вашу инфраструктуру декларативным образом, упрощая управление версиями, управление и совместную работу над изменениями инфраструктуры. Однако что, если у вас уже есть существующая инфраструктура, которой вы хотите управлять с помощью Terraform? Именно здесь в игру вступает команда terraform import. В этой статье мы рассмотрим, когда и как использовать terraform importдля импорта существующей инфраструктуры в состояние Terraform.
Когда использовать terraform import:
-
Внедрение существующих ресурсов. Если у вас есть ресурсы инфраструктуры, созданные за пределами Terraform, такие как серверы, подготовленные вручную, или уже существующие облачные ресурсы, вы можете использовать
terraform importдля переноса их под управлением Terraform. Это позволяет вам воспользоваться преимуществами отслеживания состояния, создания планов и автоматизации инфраструктуры Terraform. -
Переход с другого инструмента. Если вы переходите с другого инструмента управления инфраструктурой на Terraform, вы можете использовать
terraform importдля импорта существующих ресурсов в ваше состояние Terraform. Это помогает свести к минимуму сбои и обеспечивает постепенный переход к рабочему процессу управления инфраструктурой Terraform.
Методы использования terraform import:
-
Определите ресурс. Сначала определите ресурс, который вы хотите импортировать, и его уникальный идентификатор. Например, если вы хотите импортировать экземпляр AWS EC2, вам понадобится его идентификатор экземпляра. Эту информацию можно найти в консоли, API или интерфейсе командной строки соответствующего облачного провайдера.
-
Объявите ресурс в конфигурации Terraform. Затем объявите ресурс в файле конфигурации Terraform (обычно написанном на языке конфигурации HashiCorp — HCL). Убедитесь, что определение ресурса соответствует свойствам существующей инфраструктуры, таким как тип ресурса, имя и все соответствующие атрибуты.
-
Запустите
terraform import: как только ресурс будет объявлен в вашей конфигурации, выполните командуterraform import, а затем укажите тип ресурса и его уникальный идентификатор. Например:$ terraform import aws_instance.example i-1234567890abcdef0Это связывает импортированный ресурс с соответствующим блоком ресурсов Terraform.
-
Проверка и фиксация: после импорта запустите
terraform plan, чтобы убедиться, что Terraform распознает импортированный ресурс и его текущее состояние. Если все выглядит хорошо, внесите изменения в свою систему контроля версий, чтобы обеспечить воспроизводимость. -
Обновить конфигурацию Terraform. В большинстве случаев конфигурация импортированного ресурса в Terraform потребует корректировки, чтобы привести ее в соответствие с желаемым состоянием инфраструктуры. Внесите необходимые изменения в файл конфигурации Terraform, чтобы отразить любые различия между импортированным ресурсом и желаемым состоянием.
Импорт существующей инфраструктуры в ваше состояние Terraform с помощью команды terraform import— это мощная функция, которая позволяет вам взять под контроль Terraform ресурсы, не управляемые Terraform. Независимо от того, внедряете ли вы существующую инфраструктуру или переходите с другого инструмента, terraform importпозволяет вам использовать преимущества Terraform, сохраняя при этом согласованность и воспроизводимость рабочего процесса управления инфраструктурой.
Следуя методам, изложенным в этой статье, вы сможете плавно интегрировать существующую инфраструктуру с Terraform, что упростит управление и автоматизацию всего вашего стека инфраструктуры.