Настройка Terraform в Azure Cloud Shell с помощью Bash
Terraform поддерживает определение, предварительный просмотр и развертывание облачной инфраструктуры. С помощью Terraform можно создавать файлы конфигурации с применением синтаксиса HCL. Синтаксис HCL позволяет указать поставщика облачных служб, например Azure, и элементы, составляющие облачную инфраструктуру. После создания файлов конфигурации создается план выполнения, который позволяет предварительно просматривать изменения инфраструктуры до их развертывания. После проверки изменений примените план выполнения для развертывания инфраструктуры.
В этой статье представлены варианты для аутентификации в Azure для использования с Terraform.
Вы узнаете, как выполнять следующие задачи:
- настраивать Cloud Shell;
- отображать текущую учетную запись Azure;
- описывать общие сценарии аутентификации Terraform и Azure;
- выполнять аутентификацию с помощью учетной записи Майкрософт из Cloud Shell (с помощью Bash или PowerShell);
- выполнять аутентификацию с помощью учетной записи Майкрософт из Windows (с помощью Bash или PowerShell);
- создавать субъект-службу с помощью Azure CLI;
- Создание субъекта-службы с помощью Azure PowerShell
- указывать учетные данные субъекта-службы в переменных среды;
- указывать учетные данные субъекта-службы в блоке поставщика Terraform.
1. Настройка среды
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
2. Открытие Cloud Shell
Если у вас уже открыт сеанс Cloud Shell, вы можете перейти к следующему разделу.
Откройте портал Azure в браузере.
При необходимости войдите в подписку Azure и измените каталог Azure.
Откройте Cloud Shell.
Если вы ранее не использовали Cloud Shell, настройте параметры среды и хранилища.
Выберите среду командной строки.
3. Установка последней версии Terraform в Azure Cloud Shell
Cloud Shell автоматически обновляется до последней версии Terraform. Однако обновления приходят в течение нескольких недель после выпуска. В этой статье показано, как скачать и установить текущую версию Terraform.
Определите версию Terraform, используемую в Cloud Shell.
terraform version
Если версия Terraform, установленная в Cloud Shell, не является самой актуальной, появится сообщение о том, что версия Terraform устарела.
Если вы хорошо работаете с указанной версией, перейдите к следующему разделу. В противном случае выполните следующие действия.
Перейдите на страницу загрузки Terraform.
Прокрутите вниз до ссылки загрузки Linux.
Наведите указатель мыши на ссылку 64-разрядная. Эта ссылка предназначена для последней 64-разрядной версии LINUX AMD, которая подходит для Cloud Shell.
Скопируйте URL-адрес.
Выполните
curl
, заменив текст заполнителя URL-адресом из предыдущего шага.curl -O <terraform_download_url>
Распакуйте файл .
unzip <zip_file_downloaded_in_previous_step>
Создайте каталог с именем
bin
, если его не существует.mkdir bin
Переместите файл
terraform
в каталогbin
.mv terraform bin/
Закройте и перезапустите Cloud Shell.
Убедитесь, что скачанная версия Terraform находится первой по пути.
terraform version
4. Проверка подписки Azure по умолчанию
При входе на портал Azure с помощью учетной записи Майкрософт используется подписка Azure по умолчанию для такой учетной записи.
Terraform автоматически выполняет аутентификацию с использованием сведений из подписки Azure по умолчанию.
Выполните команду az account show, чтобы проверить текущую учетную запись Майкрософт и подписку Azure.
az account show
Все изменения, внесенные с помощью Terraform, находятся в отображаемой подписке Azure. Если это необходимо, пропустите инструкции в оставшейся части этой статьи.
Устранение неполадок с Terraform в Azure
Устранение распространенных проблем при использовании Terraform в Azure