PostgreSQL柔性服务器的天青数据库自动备份数据库。如果任何数据库被意外删除,我们可以通过为备份数据库.I中的恢复过程创建一个新的灵活的服务器来恢复数据库,知道如何从azure portal.Does中恢复数据库,terraform代码还可以为PostgreSQL灵活的服务器-恢复服务器配置“备份和恢复”。
“azure:https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-restore-server-portal”中记录的手动任务的确切摘要。我只想用terraform来完成任务。此外,确保适当的登录和数据库级别的权限。
我真的很感谢你的支持和帮助
发布于 2022-11-08 09:02:44
可以使用terraform创建用于PostgreSQL灵活服务器备份的azure数据库。
请使用下面的terraform代码恢复服务器。
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "example" {
name = "RG_NAME"
location = "EASTUS"
}
resource "azurerm_virtual_network" "example" {
name = "example-vn"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
address_space = ["10.0.0.0/16"]
}
resource "azurerm_subnet" "example" {
name = "example-sn"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.2.0/24"]
service_endpoints = ["Microsoft.Storage"]
delegation {
name = "fs"
service_delegation {
name = "Microsoft.DBforPostgreSQL/flexibleServers"
actions = [
"Microsoft.Network/virtualNetworks/subnets/join/action",
]
}
}
}
resource "azurerm_private_dns_zone" "example" {
name = "example.postgres.database.azure.com"
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_private_dns_zone_virtual_network_link" "example" {
name = "exampleVnetZone.com"
private_dns_zone_name = azurerm_private_dns_zone.example.name
virtual_network_id = azurerm_virtual_network.example.id
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_postgresql_flexible_server" "example" {
name = "example-psqlflexibleserver"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
version = "12"
delegated_subnet_id = azurerm_subnet.example.id
private_dns_zone_id = azurerm_private_dns_zone.example.id
administrator_login = "psqladmin"
administrator_password = "H@Sh1CoR3!"
zone = "1"
storage_mb = 32768
backup_retention_days = 30
geo_redundant_backup_enabled = true
sku_name = "GP_Standard_D4s_v3"
depends_on = [azurerm_private_dns_zone_virtual_network_link.example]
}
这里我提到了RG_name、子网、VM、Vnet、db名称、密码和备份策略日。
我已给出备份策略保留日为30,策略保留日应在1至35之间,默认值为7天。
在运行脚本之前,我们必须检查适当的登录服务器详细信息。
在执行以下步骤之后执行该文件
terraform init
它将初始化文件。
Terraform plan
这将创建一个执行计划,并且它将预览terraform计划的更改以建立基础设施。
Terraform apply
这将根据配置创建或更新基础设施。
以前是默认的,geo_redundant_backup_enabled是false,我已经将其设置为true,备份策略为30天。
https://stackoverflow.com/questions/74349377
复制相似问题