Microsoft. Sql instancePools 2025-01-01

Определение ресурса Bicep

Тип ресурса instancePools можно развернуть с помощью операций, предназначенных для следующих операций:

Для получения списка изменённых свойств в каждой версии API см. журнал изменений.

Формат ресурса

Создать Microsoft. Ресурс sql/instancePools, добавьте следующий Bicep в свой шаблон.

resource symbolicname 'Microsoft.Sql/instancePools@2025-01-01' = {
  location: 'string'
  name: 'string'
  properties: {
    licenseType: 'string'
    maintenanceConfigurationId: 'string'
    subnetId: 'string'
    vCores: int
  }
  sku: {
    capacity: int
    family: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Значения свойств

Microsoft. Sql/instancePools

Имя Описание Ценность
location Географическое расположение, в котором находится ресурс строка (обязательно)
имя имя ресурса. строка (обязательно)
свойства Свойства ресурса. InstancePoolProperties
sku Имя и уровень номера SKU. Sku
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

InstancePoolProperties

Имя Описание Ценность
licenseType Тип лицензии. Возможные значения: LicenseIncluded (цена на лицензию SQL включена) и BasePrice (без цены на лицензию SQL). 'BasePrice'
'LicenseIncluded' (обязательно)
maintenanceConfigurationId Указывает идентификатор конфигурации обслуживания для применения к этому управляемому экземпляру. струна
SubnetId Идентификатор ресурса подсети для размещения этого пула экземпляров. строка (обязательно)
vCores Количество виртуальных ядер, принадлежащих этому пулу экземпляров. int (обязательный)

Sku

Имя Описание Ценность
capacity Емкость конкретного номера SKU. int
family Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. струна
имя Имя номера SKU, как правило, буква + код номера, например P3. строка (обязательно)
size Размер конкретного номера SKU струна
уровень Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". струна

TrackedResourceTags

Имя Описание Ценность

Примеры использования

Примеры Bicep

Простой пример развертывания пулов экземпляров SQL.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource subnet 'Microsoft.Network/virtualNetworks/subnets@2023-04-01' existing = {
  name: resourceName
  parent: virtualNetwork
}

resource networkSecurityGroup 'Microsoft.Network/networkSecurityGroups@2023-04-01' = {
  name: resourceName
  location: 'azapi_resource.resourceGroup.location'
  properties: {
    securityRules: [
      {
        name: 'allow_tds_inbound'
        properties: {
          access: 'Allow'
          description: 'Allow access to data'
          destinationAddressPrefix: '*'
          destinationPortRange: '1433'
          direction: 'Inbound'
          priority: 1000
          protocol: 'TCP'
          sourceAddressPrefix: 'VirtualNetwork'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_redirect_inbound'
        properties: {
          access: 'Allow'
          description: 'Allow inbound redirect traffic to Managed Instance inside the virtual network'
          destinationAddressPrefix: '*'
          destinationPortRange: '11000-11999'
          direction: 'Inbound'
          priority: 1100
          protocol: 'Tcp'
          sourceAddressPrefix: 'VirtualNetwork'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_geodr_inbound'
        properties: {
          access: 'Allow'
          description: 'Allow inbound geodr traffic inside the virtual network'
          destinationAddressPrefix: '*'
          destinationPortRange: '5022'
          direction: 'Inbound'
          priority: 1200
          protocol: 'Tcp'
          sourceAddressPrefix: 'VirtualNetwork'
          sourcePortRange: '*'
        }
      }
      {
        name: 'deny_all_inbound'
        properties: {
          access: 'Deny'
          description: 'Deny all other inbound traffic'
          destinationAddressPrefix: '*'
          destinationPortRange: '*'
          direction: 'Inbound'
          priority: 4096
          protocol: '*'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_linkedserver_outbound'
        properties: {
          access: 'Allow'
          description: 'Allow outbound linkedserver traffic inside the virtual network'
          destinationAddressPrefix: 'VirtualNetwork'
          destinationPortRange: '1433'
          direction: 'Outbound'
          priority: 1000
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_redirect_outbound'
        properties: {
          access: 'Allow'
          description: 'Allow outbound redirect traffic to Managed Instance inside the virtual network'
          destinationAddressPrefix: 'VirtualNetwork'
          destinationPortRange: '11000-11999'
          direction: 'Outbound'
          priority: 1100
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
      {
        name: 'allow_geodr_outbound'
        properties: {
          access: 'Allow'
          description: 'Allow outbound geodr traffic inside the virtual network'
          destinationAddressPrefix: 'VirtualNetwork'
          destinationPortRange: '5022'
          direction: 'Outbound'
          priority: 1200
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
      {
        name: 'deny_all_outbound'
        properties: {
          access: 'Deny'
          description: 'Deny all other outbound traffic'
          destinationAddressPrefix: '*'
          destinationPortRange: '*'
          direction: 'Outbound'
          priority: 4096
          protocol: '*'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
        }
      }
    ]
  }
}

resource routeTable 'Microsoft.Network/routeTables@2023-04-01' = {
  name: resourceName
  location: 'azapi_resource.resourceGroup.location'
  properties: {
    disableBgpRoutePropagation: false
  }
}

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-04-01' = {
  name: resourceName
  location: 'azapi_resource.resourceGroup.location'
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Default'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: resourceName
        properties: {
          addressPrefix: '10.0.1.0/24'
          networkSecurityGroup: {
            id: networkSecurityGroup.id
          }
          routeTable: {
            id: routeTable.id
          }
          delegations: [
            {
              name: 'miDelegation'
              properties: {
                serviceName: 'Microsoft.Sql/managedInstances'
              }
            }
          ]
        }
      }
    ]
  }
}

resource instancePool 'Microsoft.Sql/instancePools@2022-05-01-preview' = {
  name: resourceName
  location: 'azapi_resource.resourceGroup.location'
  sku: {
    family: 'Gen5'
    name: 'GP_Gen5'
    tier: 'GeneralPurpose'
  }
  properties: {
    licenseType: 'LicenseIncluded'
    subnetId: subnet.id
    vCores: 8
  }
}

Проверенные модули Azure

Следующие Azure Проверенные модули могут использоваться для развертывания этого типа ресурсов.

Модуль Описание
Пул экземпляров SQL Модуль ресурсов AVM для пула экземпляров SQL

Определение ресурса ARM-шаблона

Тип ресурса instancePools можно развернуть с помощью операций, предназначенных для следующих операций:

Для получения списка изменённых свойств в каждой версии API см. журнал изменений.

Формат ресурса

Создать Microsoft. Ресурс Sql/instancePools, добавьте следующий JSON в ваш шаблон.

{
  "type": "Microsoft.Sql/instancePools",
  "apiVersion": "2025-01-01",
  "name": "string",
  "location": "string",
  "properties": {
    "licenseType": "string",
    "maintenanceConfigurationId": "string",
    "subnetId": "string",
    "vCores": "int"
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Значения свойств

Microsoft. Sql/instancePools

Имя Описание Ценность
apiVersion Версия API '2025-01-01'
location Географическое расположение, в котором находится ресурс строка (обязательно)
имя имя ресурса. строка (обязательно)
свойства Свойства ресурса. InstancePoolProperties
sku Имя и уровень номера SKU. Sku
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
тип Тип ресурса 'Microsoft. Sql/instancePools'

InstancePoolProperties

Имя Описание Ценность
licenseType Тип лицензии. Возможные значения: LicenseIncluded (цена на лицензию SQL включена) и BasePrice (без цены на лицензию SQL). 'BasePrice'
'LicenseIncluded' (обязательно)
maintenanceConfigurationId Указывает идентификатор конфигурации обслуживания для применения к этому управляемому экземпляру. струна
SubnetId Идентификатор ресурса подсети для размещения этого пула экземпляров. строка (обязательно)
vCores Количество виртуальных ядер, принадлежащих этому пулу экземпляров. int (обязательный)

Sku

Имя Описание Ценность
capacity Емкость конкретного номера SKU. int
family Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. струна
имя Имя номера SKU, как правило, буква + код номера, например P3. строка (обязательно)
size Размер конкретного номера SKU струна
уровень Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". струна

TrackedResourceTags

Имя Описание Ценность

Примеры использования

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса instancePools можно развернуть с помощью операций, предназначенных для следующих операций:

  • Группы ресурсов

Для получения списка изменённых свойств в каждой версии API см. журнал изменений.

Формат ресурса

Создать Microsoft. Ресурс sql/instancePools, добавьте следующий Terraform в свой шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/instancePools@2025-01-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      licenseType = "string"
      maintenanceConfigurationId = "string"
      subnetId = "string"
      vCores = int
    }
    sku = {
      capacity = int
      family = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  }
}

Значения свойств

Microsoft. Sql/instancePools

Имя Описание Ценность
location Географическое расположение, в котором находится ресурс строка (обязательно)
имя имя ресурса. строка (обязательно)
свойства Свойства ресурса. InstancePoolProperties
sku Имя и уровень номера SKU. Sku
tags Теги ресурсов Словарь имен и значений тегов.
тип Тип ресурса «Microsoft. Sql/instancePools@2025-01-01"

InstancePoolProperties

Имя Описание Ценность
licenseType Тип лицензии. Возможные значения: LicenseIncluded (цена на лицензию SQL включена) и BasePrice (без цены на лицензию SQL). 'BasePrice'
'LicenseIncluded' (обязательно)
maintenanceConfigurationId Указывает идентификатор конфигурации обслуживания для применения к этому управляемому экземпляру. струна
SubnetId Идентификатор ресурса подсети для размещения этого пула экземпляров. строка (обязательно)
vCores Количество виртуальных ядер, принадлежащих этому пулу экземпляров. int (обязательный)

Sku

Имя Описание Ценность
capacity Емкость конкретного номера SKU. int
family Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. струна
имя Имя номера SKU, как правило, буква + код номера, например P3. строка (обязательно)
size Размер конкретного номера SKU струна
уровень Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". струна

TrackedResourceTags

Имя Описание Ценность

Примеры использования

Примеры Terraform

Простой пример развертывания пулов экземпляров SQL.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    azurerm = {
      source = "hashicorp/azurerm"
    }
  }
}

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2022-09-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "networkSecurityGroup" {
  type      = "Microsoft.Network/networkSecurityGroups@2023-04-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = azapi_resource.resourceGroup.location
  body = {
    properties = {
      securityRules = [
        {
          name = "allow_tds_inbound"
          properties = {
            description              = "Allow access to data"
            protocol                 = "TCP"
            sourcePortRange          = "*"
            destinationPortRange     = "1433"
            sourceAddressPrefix      = "VirtualNetwork"
            destinationAddressPrefix = "*"
            access                   = "Allow"
            priority                 = 1000
            direction                = "Inbound"
          }
        },
        {
          name = "allow_redirect_inbound"
          properties = {
            description              = "Allow inbound redirect traffic to Managed Instance inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "11000-11999"
            sourceAddressPrefix      = "VirtualNetwork"
            destinationAddressPrefix = "*"
            access                   = "Allow"
            priority                 = 1100
            direction                = "Inbound"
          }
        },
        {
          name = "allow_geodr_inbound"
          properties = {
            description              = "Allow inbound geodr traffic inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "5022"
            sourceAddressPrefix      = "VirtualNetwork"
            destinationAddressPrefix = "*"
            access                   = "Allow"
            priority                 = 1200
            direction                = "Inbound"
          }
        },
        {
          name = "deny_all_inbound"
          properties = {
            description              = "Deny all other inbound traffic"
            protocol                 = "*"
            sourcePortRange          = "*"
            destinationPortRange     = "*"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "*"
            access                   = "Deny"
            priority                 = 4096
            direction                = "Inbound"
          }
        },
        {
          name = "allow_linkedserver_outbound"
          properties = {
            description              = "Allow outbound linkedserver traffic inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "1433"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "VirtualNetwork"
            access                   = "Allow"
            priority                 = 1000
            direction                = "Outbound"
          }
        },
        {
          name = "allow_redirect_outbound"
          properties = {
            description              = "Allow outbound redirect traffic to Managed Instance inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "11000-11999"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "VirtualNetwork"
            access                   = "Allow"
            priority                 = 1100
            direction                = "Outbound"
          }
        },
        {
          name = "allow_geodr_outbound"
          properties = {
            description              = "Allow outbound geodr traffic inside the virtual network"
            protocol                 = "Tcp"
            sourcePortRange          = "*"
            destinationPortRange     = "5022"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "VirtualNetwork"
            access                   = "Allow"
            priority                 = 1200
            direction                = "Outbound"
          }
        },
        {
          name = "deny_all_outbound"
          properties = {
            description              = "Deny all other outbound traffic"
            protocol                 = "*"
            sourcePortRange          = "*"
            destinationPortRange     = "*"
            sourceAddressPrefix      = "*"
            destinationAddressPrefix = "*"
            access                   = "Deny"
            priority                 = 4096
            direction                = "Outbound"
          }
        }
      ]
    }
  }
}

resource "azapi_resource" "routeTable" {
  type      = "Microsoft.Network/routeTables@2023-04-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = azapi_resource.resourceGroup.location
  body = {
    properties = {
      disableBgpRoutePropagation = false
    }
  }
}

resource "azapi_resource" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2023-04-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = azapi_resource.resourceGroup.location
  body = {
    properties = {
      addressSpace = {
        addressPrefixes = ["10.0.0.0/16"]
      }
      subnets = [
        {
          name = "Default"
          properties = {
            addressPrefix = "10.0.0.0/24"
          }
        },
        {
          name = var.resource_name
          properties = {
            addressPrefix = "10.0.1.0/24"
            networkSecurityGroup = {
              id = azapi_resource.networkSecurityGroup.id
            }
            routeTable = {
              id = azapi_resource.routeTable.id
            }
            delegations = [
              {
                name = "miDelegation"
                properties = {
                  serviceName = "Microsoft.Sql/managedInstances"
                }
              }
            ]
          }
        }
      ]
    }
  }
}

data "azapi_resource" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2023-04-01"
  parent_id = azapi_resource.virtualNetwork.id
  name      = var.resource_name
}


resource "azapi_resource" "instancePool" {
  type      = "Microsoft.Sql/instancePools@2022-05-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = azapi_resource.resourceGroup.location
  body = {
    properties = {
      licenseType = "LicenseIncluded"
      subnetId    = data.azapi_resource.subnet.id
      vCores      = 8
    }
    sku = {
      family = "Gen5"
      name   = "GP_Gen5"
      tier   = "GeneralPurpose"
    }
  }

  timeouts {
    create = "300m"
    update = "300m"
    delete = "300m"
  }
}