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


Быстрый старт: Создание общедоступного IP-адреса, используя Terraform

Из этого краткого руководства вы узнаете, как создать общедоступный IP-адрес Azure. Общедоступные IP-адреса в Azure используются для общедоступных подключений к ресурсам Azure. Общедоступные IP-адреса предоставляются в двух номерах SKU: "Стандартный" и "Базовый". Предоставляются два уровня общедоступных IP-адресов: региональный и глобальный. Предпочтительный вариант маршрутизации задается при создании общедоступного IP-адреса. Доступные варианты — маршрутизация в Интернете и маршрутизация в сети Майкрософт.

Схема использования общедоступного IP-адреса. Общедоступный IP-адрес назначается подсистеме балансировки нагрузки.

Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.

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

В этой статье вы узнаете, как:

  • Создание случайного имени домашних животных для имени группы ресурсов Azure с помощью random_pet
  • Создание группы ресурсов Azure с помощью azurerm_resource_group
  • Создайте стандартный общедоступный IPv4-адрес с отказоустойчивостью по зонам с именем myStandardPublicIP
  • Создание базового статического общедоступного IPv4-адреса с именем myBasicPublicIP
  • Создание стандартного зонального общедоступного IPv4-адреса в зоне 2 с именем myZonalStandardPublicIP
  • Создать не-зональный IP-адрес с именем myNonZonalStandardPublicIP
  • Создание стандартного статического общедоступного IPv4-адреса с именем myRoutingPreferenceStandardPublicIP , поддерживающего функцию предпочтения маршрутизации
  • Создайте стандартный статический общедоступный IPv4-адрес с именем myGlobalTierStandardPublicIP , поддерживающий функцию глобального уровня.

Примечание.

Пример кода для этой статьи находится в репозитории Azure Terraform GitHub. Вы можете просмотреть файл журнала, содержащий результаты теста из текущих и предыдущих версий Terraform.

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

Создание группы ресурсов

Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.

# Random pet resource to generate a unique name for the resource group
resource "random_pet" "rg_name" {
  prefix = var.resource_group_name_prefix
}

# Create a resource group
resource "azurerm_resource_group" "example" {
  location = var.resource_group_location
  name     = random_pet.rg_name.id
}

Создание общедоступного IP-адреса

Примечание.

Для производственных рабочих нагрузок рекомендуется общедоступный IP-адрес категории "Стандартный". Дополнительные сведения об номерах SKU см. в разделе "Общедоступные IP-адреса".

Следующий фрагмент команды работает для API версии 2020-08-01 или более поздней. Дополнительные сведения об используемой версии API см. в разделе "Поставщики ресурсов" и "Типы".

# Create a public IP: IPv4 Standard SKU
resource "azurerm_public_ip" "myStandardPublicIP" {
  name                = "myStandardPublicIP"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  allocation_method   = "Static"
  sku                 = "Standard"

  ip_version          = "IPv4"
  zones               = ["1", "2", "3"]
}

Внимание

Для версий API до 2020-08-01 не включайте поле zone, чтобы создать зонально-избыточный IP-адрес.

Создание зонального или незонального IP-адреса

В этом разделе описано, как создать зональный и общедоступный IP-адрес, отличный от зоны.

В следующем фрагменте кода создается стандартный зональный общедоступный IPv4-адрес в зоне 2 с именем myZonalStandardPublicIP.

Чтобы создать IPv6-адрес, задайте ip_version значение IPv6.

# Create a public IP: IPv4 Zonal
resource "azurerm_public_ip" "myZonalStandardPublicIP" {
  name                = "myZonalStandardPublicIP"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  allocation_method   = "Static"
  sku                 = "Standard"

  ip_version          = "IPv4"
  zones               = ["2"]
}

Примечание.

Дополнительные сведения о зонах доступности см. в разделе "Что такое зоны доступности?".

Приоритет и уровень маршрутизации

Статические общедоступные IPv4-адреса стандартного уровня SKU поддерживают настройку предпочтений маршрутизации или функцию глобального уровня.

По умолчанию для общедоступных IP-адресов выбрана сеть Майкрософт, которая передает трафик по глобальной сети Майкрософт.

Выбор Интернета минимизирует использование сети Microsoft, вместо этого используя сеть транзитного ISP для передачи трафика с оптимизированными затратами.

Дополнительные сведения о предпочтениях маршрутизации см. в разделе "Что такое предпочтения маршрутизации (предварительная версия)?".

В следующем фрагменте кода создается новый общедоступный IPv4-адрес, избыточный по зонам, с предпочтениями маршрутизации типа Internet:

# Create a public IP: IPv4 with Routing Preference
resource "azurerm_public_ip" "myRoutingPreferenceStandardPublicIP" {
  name                = "myRoutingPreferenceStandardPublicIP"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  allocation_method   = "Static"
  sku                 = "Standard"

  ip_version          = "IPv4"

  ip_tags = {
    RoutingPreference = "Internet"
  }

  zones = ["1", "2", "3"]
}

Очистка ресурсов

Если вам больше не нужны ресурсы, созданные через Terraform, выполните следующие действия:

  1. Запустите команду terraform plan и укажите флаг destroy.

    terraform plan -destroy -out main.destroy.tfplan
    

    Ключевые моменты:

    • Команда terraform plan создает план выполнения, но не выполняет его. Вместо этого она определяет, какие действия необходимы для создания конфигурации, заданной в файлах конфигурации. Этот шаблон позволяет проверить, соответствует ли план выполнения вашим ожиданиям, прежде чем вы начнете вносить изменения в фактические ресурсы.
    • Необязательный параметр -out позволяет указать выходной файл для плана. Использование параметра -out гарантирует, что проверяемый план полностью соответствует применяемому.
  2. Чтобы применить план выполнения, запустите terraform apply.

    terraform apply main.destroy.tfplan
    

Устранение неполадок с Terraform в Azure

Устранение распространенных проблем при использовании Terraform в Azure

Следующие шаги