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


Создание виртуальных конечных точек для реплик чтения с помощью Terraform

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

Необходимые компоненты

Перед началом работы убедитесь, что имеется следующее:

  • Учетная запись Azure с необходимыми разрешениями.
  • Terraform, установленный на локальном компьютере. Его можно скачать с официального веб-сайта Terraform.
  • Azure CLI установлен и прошел проверку подлинности. Инструкции приведены в документации по Azure CLI.

Убедитесь, что у вас есть базовое представление о синтаксисе Terraform и подготовке ресурсов Azure.

Пошаговые инструкции по настройке Terraform: пошаговые инструкции по настройке виртуальных конечных точек для реплик чтения с помощью Terraform.

Настройка виртуальных конечных точек

Выполните следующие действия, чтобы создать виртуальные конечные точки для реплик чтения в База данных Azure для PostgreSQL — гибкий сервер:

Инициализация конфигурации Terraform

Создайте файл и определите main.tf поставщика Azure.

 provider "azurerm" {
   features {}
 }

 resource "azurerm_resource_group" "example" {
   name     = "example-resources"
   location = "East US"
 }

Создание основного База данных Azure для PostgreSQL

Определите основной ресурс сервера PostgreSQL.

resource "azurerm_postgresql_flexible_server" "primary" {
  name                = "primary-server"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  version             = "12"
  administrator_login = "adminuser"
  administrator_password = "password"
  sku_name            = "Standard_D4s_v3"

  storage_mb = 32768
  backup_retention_days = 7
  geo_redundant_backup = "Disabled"
  high_availability {
    mode = "ZoneRedundant"
  }
}

Создание реплик чтения

Определите реплики чтения для первичного сервера.

resource "azurerm_postgresql_flexible_server_replica" "replica" {
  name                = "replica-server"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  source_server_id    = azurerm_postgresql_flexible_server.primary.id
}

Настройка виртуальных конечных точек

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

resource "azurerm_private_endpoint" "example" {
  name                = "example-private-endpoint"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  subnet_id           = azurerm_subnet.example.id

  private_service_connection {
    name                           = "example-privateserviceconnection"
    private_connection_resource_id = azurerm_postgresql_flexible_server.primary.id
    is_manual_connection           = false
    subresource_names              = ["postgresqlServer"]
  }
}

Применение конфигурации

Инициализируйте Terraform и примените конфигурацию.

terraform init terraform apply

Подтвердите действие применения при появлении запроса. Terraform подготавливает ресурсы и настраивает виртуальные конечные точки, как указано.

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