首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以使用terraform为PostgreSQL灵活的服务器--恢复服务器->(备份和恢复)创建Azure数据库?

是否可以使用terraform为PostgreSQL灵活的服务器--恢复服务器->(备份和恢复)创建Azure数据库?
EN

Stack Overflow用户
提问于 2022-11-07 15:56:06
回答 1查看 118关注 0票数 0

PostgreSQL柔性服务器的天青数据库自动备份数据库。如果任何数据库被意外删除,我们可以通过为备份数据库.I中的恢复过程创建一个新的灵活的服务器来恢复数据库,知道如何从azure portal.Does中恢复数据库,terraform代码还可以为PostgreSQL灵活的服务器-恢复服务器配置“备份和恢复”。

“azure:https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-restore-server-portal”中记录的手动任务的确切摘要。我只想用terraform来完成任务。此外,确保适当的登录和数据库级别的权限。

我真的很感谢你的支持和帮助

EN

回答 1

Stack Overflow用户

发布于 2022-11-08 09:02:44

可以使用terraform创建用于PostgreSQL灵活服务器备份的azure数据库。

请使用下面的terraform代码恢复服务器。

代码语言:javascript
运行
复制
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天。

在运行脚本之前,我们必须检查适当的登录服务器详细信息。

在执行以下步骤之后执行该文件

代码语言:javascript
运行
复制
terraform init

它将初始化文件。

代码语言:javascript
运行
复制
Terraform plan

这将创建一个执行计划,并且它将预览terraform计划的更改以建立基础设施。

代码语言:javascript
运行
复制
Terraform apply

这将根据配置创建或更新基础设施。

以前是默认的,geo_redundant_backup_enabledfalse,我已经将其设置为true,备份策略为30天。

作为参考,您可以使用此https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server#backup_retention_days

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74349377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档