Crie pontos de extremidade virtuais para réplicas de leitura com o Terraform

Usando o Terraform, você pode criar e gerenciar pontos de extremidade virtuais para réplicas de leitura no Banco de Dados do Azure para PostgreSQL — Servidor Flexível. Terraform é uma ferramenta de infraestrutura como código de código aberto que permite definir e provisionar infraestrutura usando uma linguagem de configuração de alto nível.

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • Uma conta do Azure com as permissões necessárias.
  • Terraform instalado em sua máquina local. Você pode baixá-lo do site oficial da Terraform.
  • CLI do Azure instalada e autenticada. As instruções estão na documentação da CLI do Azure.

Certifique-se de ter uma compreensão básica da sintaxe do Terraform e do provisionamento de recursos do Azure.

Configuração passo a passo do Terraform: Forneça um guia passo a passo sobre como configurar pontos de extremidade virtuais para réplicas de leitura usando o Terraform.

Configurando pontos de extremidade virtuais

Siga estas etapas para criar pontos de extremidade virtuais para réplicas de leitura no Banco de Dados do Azure para PostgreSQL - Servidor Flexível:

Inicializar a configuração do Terraform

Crie um main.tf arquivo e defina o provedor do Azure.

 provider "azurerm" {
   features {}
 }

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

Criar o Banco de Dados do Azure primário para PostgreSQL

Defina o recurso de servidor PostgreSQL primário.

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"
  }
}

Criar réplicas de leitura

Defina as réplicas de leitura para o servidor primário.

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
}

Configurar pontos de extremidade virtuais

Defina os recursos necessários para configurar pontos de extremidade virtuais.

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"]
  }
}

Aplicar a configuração

Inicialize o Terraform e aplique a configuração.

terraform init terraform apply

Confirme a ação de aplicação quando solicitado. Terraform provisiona os recursos e configura os pontos de extremidade virtuais conforme especificado.

Para obter informações adicionais sobre pontos de extremidade virtuais, consulte Criar pontos de extremidade virtuais