使用 Terraform 为只读副本创建虚拟终结点
使用 Terraform,可以在 Azure Database for PostgreSQL 灵活服务器中创建和管理只读副本的虚拟终结点。 Terraform 是一个开源基础结构即代码工具,让你可以使用高级配置语言定义和预配基础结构。
先决条件
在开始之前,确保你拥有:
- 一个拥有所需权限的 Azure 帐户。
- 已在本地计算机上安装 Terraform。 可以从官方 Terraform 网站下载 Terraform。
- Azure CLI 已安装并已经过身份验证。 Azure CLI 文档中提供了相关说明。
确保你对 Terraform 语法和 Azure 资源预配有基本的了解。
逐步配置 Terraform:提供有关使用 Terraform 为只读副本配置虚拟终结点的分步指南。
配置虚拟终结点
按照以下步骤为 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" "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 预配资源,并根据指定的信息配置虚拟终结点。
有关虚拟终结点的其他信息,请参阅创建虚拟终结点