Что касается поведения скрипта terraform

#azure #terraform #terraform-provider-azure

#azure #terraform #terraform-provider-azure

Вопрос:

Я использую сценарии Terraform для создания служб Azure, у меня есть некоторые сомнения относительно Terraform,

 1) If I have one environment let say dev in azure having some azure resources how can I copy all the resources to new environment lest say prod using terraform script.

2)what are the impact of re-run the terraform file with additional azure resources, what it will do.

3)What if I want to create an app service with the same name from Terraform script that already present in the azure will it update the resource or do nothing after terraform execution completed. 
  

Пожалуйста, не стесняйтесь отвечать на вопрос, это будет большим подспорьем.

Ответ №1:

Чтобы ответить на ваши вопросы:

  1. Вы можете создать новое рабочее пространство с помощью terraform workspace new и скопировать все файлы конфигурации ( .tf ) в новую среду, затем запустить terraform init, планировать, применять.
  2. Terraform сравнит содержимое вашего текущего файла состояния с вашим файлом конфигурации, затем обновит новые атрибуты или создаст новые ресурсы, отличные от повторного создания существующих ресурсов.
  3. Вы можете запустить импорт terraform для импорта существующей инфраструктуры в Terraform. Для ссылки на существующие ресурсы на портале можно использовать источники данных.

Комментарии:

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

2. Что вы имеете в виду в других средах? Находится ли эта среда в той же подписке и клиенте, что и текущая среда? Развернутый ресурс Terraform зависит от файлов конфигурации, если у вас есть файлы конфигурации, вы можете воспроизвести инфраструктуру, за исключением того же имени ресурса (конфликт).

3. Предположим, мне нужно выполнить развертывание в другой подписке Azure, тогда как я могу выполнить развертывание с помощью файла terraform

4. Вы можете определить идентификатор подписки при использовании provider "azurerm" подобным образом или, если вы хотите дополнительно определить несколько конфигураций для одного и того же поставщика и выбрать, какую из них использовать для каждого ресурса или для каждого модуля, вы можете использовать псевдоним, подобный этому .

5. хорошо, понял, мой вопрос в том, как скопировать инфраструктуру, созданную вручную на портале Azure