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


Краткое руководство: Создание префикса общедоступного IP-адреса с помощью Terraform

Общие сведения о префиксе общедоступного IP-адреса, а также о его создании, изменении и удалении. Префикс общедоступного IP-адреса — это непрерывный диапазон общедоступных IP-адресов для стандартного номера SKU.

При создании ресурса общедоступного IP-адреса можно назначить статический общедоступный IP-адрес из префикса и привязать этот адрес к виртуальным машинам, подсистемам балансировки нагрузки или другим ресурсам. Дополнительные сведения см. в обзоре префикса общедоступного IP-адреса.

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

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

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

  • Создание случайного имени домашних животных для имени группы ресурсов Azure с помощью random_pet
  • Создание группы ресурсов Azure с помощью azurerm_resource_group
  • Создайте стандартный префикс общедоступного IPv4-адреса с избыточностью по зонам, с именем myIPv4
  • Создание стандартного зонального общедоступного IPv4-адреса с именем myIPv4Zonal
  • Создание стандартного незонального общедоступного IPv4-адреса с именем myIPv4NonZonal
  • Создайте стандартный общедоступный IPv4-адрес с именем myIPv4RPInternet , поддерживающий функцию предпочтения маршрутизации.
  • Создайте стандартный префикс общедоступного IPv6-адреса с избыточностью между зонами с именем myIPv6
  • Создание стандартного зонального общедоступного IPv6-адреса с именем myIPv6Zonal
  • Создание стандартного незонального общедоступного IPv6-адреса с именем myIPv6NonZonal
  • Создание статического общедоступного IP-адреса IPv4 из префикса IP
  • Создание статического общедоступного IP-адреса IPv6 из префикса IP

Примечание.

Пример кода для этой статьи находится в репозитории 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-адреса с помощью Azure PowerShell.

В примерах используются следующие префиксы:

  • IPv4 — /28 (16 адресов)

  • IPv6 — /124 (16 адресов)

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

IPv4

Чтобы создать префикс общедоступного IP-адреса IPv4, укажите IPv4 в качестве ip_version значения. Чтобы создать избыточный по зонам префикс IPv4, укажите ["1", "2", "3"] в качестве значения для zone.

# Create a public IP prefix: IPv4 Zone redundant
resource "azurerm_public_ip_prefix" "my_ipv4" {
  name                = "myIPv4"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  ip_version    = "IPv4"
  prefix_length = 28

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

Чтобы создать префикс общедоступного IP-адреса IPv4 с параметрами маршрутизации в Интернете, добавьте RoutingPreference=Internet в tags блок.

# Create a public IP prefix: IPv4 with Routing Preference set to Internet
resource "azurerm_public_ip_prefix" "my_ipv4_rp_internet" {
  name                = "myIPv4RPInternet"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  ip_version    = "IPv4"
  prefix_length = 28

  tags = {
    RoutingPreference = "Internet"
  }
}

IPv6

Чтобы создать префикс общедоступного IP-адреса IPv6, укажите IPv6 в качестве ip_version значения. Чтобы создать зонально избыточный IPv6 префикс, укажите ["1", "2", "3"] в качестве значения zone.

# Create a public IP prefix: IPv6 Zone redundant
resource "azurerm_public_ip_prefix" "my_ipv6" {
  name                = "myIpv6"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  ip_version    = "IPv6"
  prefix_length = 124

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

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

После создания префикса можно создать статические IP-адреса из префикса. В этом разделе показано, как создать префикс, а затем создать адрес, указывающий на префикс.

# Create a public IP prefix: IPv4
resource "azurerm_public_ip_prefix" "my_public_ip_prefix_ipv4" {
  name                = "myPublicIpPrefix1"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  ip_version    = "IPv4" # Default
  prefix_length = 28
}

# Create a public IP (IPv4) and specify the public IP prefix
resource "azurerm_public_ip" "my_public_ip_ipv4" {
  name                = "myPublicIPIPv4"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = "Standard"
  allocation_method   = "Static"

  ip_version = "IPv4"

  public_ip_prefix_id = azurerm_public_ip_prefix.my_public_ip_prefix_ipv4.id
}

Примечание.

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

Удаление префикса

В этом разделе описано, как удалить префикс в командной строке.

Чтобы удалить префикс общедоступного IP-адреса, используйте az network public-ip prefix delete.

  az network public-ip prefix delete \
    --resource-group <resource_group_name>
    --name <public_ip_prefix_name> \

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

Если вам больше не нужны ресурсы, созданные через 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

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