Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этого краткого руководства вы узнаете, как с помощью Terraform создать группу ресурсов Azure, хранилище служб восстановления Azure и политику резервного копирования для совместного использования файлов в Azure. Служба Azure Site Recovery может помочь бизнес-приложениям оставаться в сети во время запланированных и незапланированных сбоев. В частности, Site Recovery использует репликацию, отработку отказа и восстановление для управления локальными компьютерами и виртуальными машинами Azure во время аварийного восстановления. Эти методы Site Recovery могут способствовать непрерывности бизнес-процессов и стратегии аварийного восстановления.
Хранилище служб восстановления Azure — это сущность хранилища в Azure, в которой содержатся такие данные, как резервные копии и точки восстановления, которые могут защитить данные и управлять ими. Сначала создается хранилище, а затем политика резервного копирования для файлов общего доступа, которая указывает, когда и как часто следует выполнять резервное копирование, а также период хранения. Эта настройка поможет обеспечить согласованное резервное копирование ваших данных и при необходимости легко восстановить их.
Terraform включает определение, предварительную версию и развертывание облачной инфраструктуры. С помощью Terraform вы создаете файлы конфигурации с помощью синтаксиса HCL. Синтаксис HCL позволяет указать поставщика облачных служб, например Azure, и элементы, составляющие облачную инфраструктуру. После создания файлов конфигурации вы создадите план выполнения , который позволяет предварительно просмотреть изменения инфраструктуры перед развертыванием. После проверки изменений примените план выполнения для развертывания инфраструктуры.
- Создайте группу ресурсов Azure с уникальным именем.
- Определите локальные переменные для имени и уровня SKU.
- Создайте хранилище служб восстановления Azure в группе ресурсов.
- Создайте политику резервного копирования для общего доступа к файлам в группе ресурсов.
- Выводит имена хранилища служб восстановления и политики резервного копирования для общего доступа к файлам.
Необходимые компоненты
Создайте учетную запись Azure с активной подпиской. Вы можете бесплатно создать учетную запись.
Реализация кода Terraform
Примечание.
Пример кода для этой статьи находится в репозитории Azure Terraform GitHub. Вы можете просмотреть файл журнала, содержащий результаты теста из текущих и предыдущих версий Terraform.
Дополнительные статьи и пример кода, демонстрирующие использование Terraform для управления ресурсами Azure.
Создайте каталог, в котором необходимо протестировать и запустить пример кода Terraform и сделать его текущим каталогом.
Создайте файл с именем
main.tfи вставьте следующий код:# Create Resource Group resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } resource "azurerm_resource_group" "rg" { location = var.resource_group_location name = random_pet.rg_name.id } locals { skuName = "RS0" skuTier = "Standard" } # Create Recovery Services Vault resource "azurerm_recovery_services_vault" "vault" { name = var.vaultName location = azurerm_resource_group.rg.location resource_group_name = azurerm_resource_group.rg.name sku = local.skuName } # Create Backup Policy for File Share resource "azurerm_backup_policy_file_share" "policy" { name = "vaultstorageconfig" resource_group_name = azurerm_resource_group.rg.name recovery_vault_name = azurerm_recovery_services_vault.vault.name backup { frequency = "Daily" time = "23:00" } retention_daily { count = 10 } }Создайте файл с именем
outputs.tfи вставьте следующий код:output "recovery_services_vault_name" { value = azurerm_recovery_services_vault.vault.name } output "backup_policy_file_share_name" { value = azurerm_backup_policy_file_share.policy.name }Создайте файл с именем
providers.tfи вставьте следующий код:terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Создайте файл с именем
variables.tfи вставьте следующий код:variable "resource_group_location" { type = string default = "eastus" description = "Location of the resource group." } variable "resource_group_name_prefix" { type = string default = "rg" description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." } variable "vaultName" { description = "Name of the Recovery Services Vault." type = string default = "examplevault" }
Инициализация Terraform
Запустите terraform init , чтобы инициализировать развертывание Terraform. Эта команда скачивает поставщик Azure, необходимый для управления ресурсами Azure.
terraform init -upgrade
Ключевые моменты:
- Параметр
-upgradeобновляет необходимые подключаемые модули поставщика до последней версии, которая соответствует ограничениям версии конфигурации.
Создание плана выполнения Terraform
Выполните команду terraform plan, чтобы создать план выполнения.
terraform plan -out main.tfplan
Ключевые моменты:
- Команда
terraform planсоздает план выполнения, но не выполняет его. Вместо этого она определяет, какие действия необходимы для создания конфигурации, заданной в файлах конфигурации. Этот шаблон позволяет проверить, соответствует ли план выполнения вашим ожиданиям, прежде чем вы начнете вносить изменения в фактические ресурсы. - Необязательный параметр
-outпозволяет указать выходной файл для плана. Использование параметра-outгарантирует, что проверяемый план полностью соответствует применяемому.
Применение плана выполнения Terraform
Запустите terraform apply, чтобы применить план выполнения к вашей облачной инфраструктуре.
terraform apply main.tfplan
Ключевые моменты:
- В примере
terraform applyкоманды предполагается, что вы ранее выполнили.terraform plan -out main.tfplan - Если для параметра
-outуказано другое имя файла, используйте то же имя в вызове кterraform apply. - Если вы не использовали параметр
-out, вызовитеterraform applyбез параметров.
Проверка результатов
Получите имя группы ресурсов Azure.
resource_group_name=$(terraform output -raw resource_group_name)Получите имя хранилища служб восстановления Azure.
recovery_services_vault_name=$(terraform output -recovery_services_vault_name)Получите имя общей папки политики резервного копирования хранилища служб восстановления Azure.
backup_policy_file_share_name=$(terraform output -backup_policy_file_share_name)Запустите
az backup vault show, чтобы просмотреть хранилище служб восстановления Azure.az backup vault show --name $recovery_services_vault_name --resource group $resource_group_name
Очистка ресурсов
Если вам больше не нужны ресурсы, созданные через Terraform, выполните следующие действия:
Запустите terraform plan и укажите флаг
destroy.terraform plan -destroy -out main.destroy.tfplanКлючевые моменты:
- Команда
terraform planсоздает план выполнения, но не выполняет его. Вместо этого она определяет, какие действия необходимы для создания конфигурации, заданной в файлах конфигурации. Этот шаблон позволяет проверить, соответствует ли план выполнения вашим ожиданиям, прежде чем вы начнете вносить изменения в фактические ресурсы. - Необязательный параметр
-outпозволяет указать выходной файл для плана. Использование параметра-outгарантирует, что проверяемый план полностью соответствует применяемому.
- Команда
Чтобы применить план выполнения, запустите terraform apply.
terraform apply main.destroy.tfplan
Устранение неполадок с Terraform в Azure
Устранение распространенных проблем при использовании Terraform в Azure.