Поделиться через


Краткое руководство. Развертывание кластера Azure DocumentDB с помощью Terraform

В этом кратком руководстве описано, как развернуть новый кластер Azure DocumentDB с помощью Terraform. В этом кратком руководстве приведены пошаговые инструкции, которые помогут вам быстро приступить к работе. Этот кластер содержит все ресурсы MongoDB: базы данных, коллекции и документы. Она предоставляет уникальную конечную точку для средств и пакетов SDK для подключения к Azure DocumentDB и выполнения операций.

Предпосылки

Настройка среды

Настройте среду Azure CLI для управления ресурсами Azure DocumentDB в подписке.

  1. Начните в пустом каталоге.

  2. Войдите в Azure CLI.

    az login
    
  3. Проверьте целевую подписку Azure.

    az account show
    

    Замечание

    Если вы не подключены к ожидаемой подписке, используйте эту команду, чтобы изменить подписку:

    az account set --subscription "<subscription-name>"
    

    Дополнительные сведения см. в статье об управлении подписками Azure с помощью Azure CLI.

Подготовка конфигурации Terraform

Создайте и настройте файл Terraform, чтобы определить ресурсы, необходимые для развертывания кластера Azure DocumentDB.

  1. Создайте файл main.tf в каталоге проекта.

  2. Добавьте эту конфигурацию в содержимое файла.

    variable "admin_username" {
      type = string
      description = "Username for default administrator account"
    }
    
    variable "admin_password" {
      type = string
      description = "Password for default administrator account"
      sensitive = true
    }
    
    terraform {
      required_providers {
        azurerm = {
          source = "hashicorp/azurerm"
          version = "~> 4.0"
        }
      }
    }
    
    provider "azurerm" {
      features { }
    }
    
    resource "azurerm_resource_group" "resource_group" {
      name     = "example-resource-group"
      location = "West US"
    }
    
    resource "azurerm_mongo_cluster" "cluster" {
      name                   = "example-mongo-cluster"
      resource_group_name    = azurerm_resource_group.resource_group.name
      location               = azurerm_resource_group.resource_group.location
      administrator_username = var.admin_username
      administrator_password = var.admin_password
      shard_count            = "1"
      compute_tier           = "M10"
      high_availability_mode = "Disabled"
      storage_size_in_gb     = "32"
      version                = "8.0"
    }
    

    Подсказка

    Дополнительные сведения о параметрах использования ресурса azurerm_mongo_cluster смотрите в документации поставщика в Реестре Terraform azurerm.

Развертывание конфигурации

Разверните файл конфигурации, созданный на предыдущем шаге, с помощью плана выполнения.

  1. Инициализировать развертывание Terraform с помощью Интерфейса командной строки Terraform.

    terraform init --upgrade
    
  2. Создайте план выполнения и сохраните его в файл с именем main.tfplan. Укажите значения для переменных admin_username и admin_password, когда будет предложено.

    ARM_SUBSCRIPTION_ID=$(az account show --query id --output tsv) terraform plan --out "main.tfplan"
    

    Замечание

    Эта команда временно задает ARM_SUBSCRIPTION_ID переменную среды. Этот параметр необходим для azurerm поставщика, начиная с версии 4.0, дополнительные сведения см. в azurermразделе "Идентификатор подписки".

  3. Примените план выполнения для развертывания ресурсов в Azure.

    ARM_SUBSCRIPTION_ID=$(az account show --query id --output tsv) terraform apply "main.tfplan"
    
  4. Дождитесь завершения операции развертывания перед переходом.

Проверка развернутых ресурсов

Перечислите ресурсы Azure DocumentDB, развернутые в группе ресурсов.

  1. Используйте az resource list, чтобы получить список ресурсов в вашей группе ресурсов.

    az resource list \
        --resource-group "<resource-group-name>" \
        --namespace "Microsoft.DocumentDB" \
        --resource-type "mongoClusters" \
        --query "[].name" \
        --output json
    
  2. В примере выходных данных найдите ресурсы с типом Microsoft.DocumentDB/mongoClusters. Ниже приведен пример типа выходных данных, которые следует ожидать:

    [
      "msdocs-documentdb-example-cluster"
    ]
    

Очистите ресурсы

Удалите все ресурсы, определенные в конфигурации Terraform.

  1. Уничтожьте ресурсы, управляемые Terraform, командой destroy.

    ARM_SUBSCRIPTION_ID=$(az account show --query id --output tsv) terraform destroy
    

    Подсказка

    Кроме того, используйте az group delete для удаления группы ресурсов из подписки:

    az group delete \
        --name "<resource-group-name>" \
        --yes \
        --no-wait
    

    Это важно

    Убедитесь, что перед выполнением этой команды ресурсы больше не требуются, так как они удаляются безвозвратно.

  2. Подтвердите любые соответствующие запросы, чтобы продолжить удаление.