使用 Terraform 为只读副本创建虚拟终结点

使用 Terraform,可以在 Azure Database for PostgreSQL 灵活服务器中创建和管理只读副本的虚拟终结点。 Terraform 是一个开源基础结构即代码工具,让你可以使用高级配置语言定义和预配基础结构。

先决条件

在开始之前,确保你拥有:

  • 具有活动订阅的 Azure 帐户。
  • 已在本地计算机上安装 Terraform。 可以从官方 Terraform 网站下载 Terraform。
  • Azure CLI 已安装并已经过身份验证。 Azure CLI 文档中提供了相关说明。

确保你对 Terraform 语法和 Azure 资源预配有基本的了解。

配置虚拟终结点

按照以下步骤为 Azure Database for PostgreSQL 灵活服务器中的只读副本创建虚拟终结点:

初始化 Terraform 配置

创建 main.tf 文件并定义 Azure 提供程序。

provider "azurerm" {
  features {}
  environment = "china"
}

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "China North 3"
}

创建主要 Azure Database for 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" {
  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_postgresql_flexible_server_virtual_endpoint" "example" {
  name                = "example-virtual-endpoint"
  resource_group_name = azurerm_resource_group.example.name
  server_name         = azurerm_postgresql_flexible_server.primary.name
}

应用配置

初始化 Terraform 并应用配置。

terraform init
terraform apply

出现提示时确认应用操作。 Terraform 预配资源,并根据指定的信息配置虚拟终结点。

有关虚拟终结点的其他信息,请参阅创建虚拟终结点