Microsoft. SQL instancePools

Bicep erőforrás definíciója

A instancePools erőforrástípus üzembe helyezhető olyan műveletekkel, amelyek a következő célokat célják:

Az egyes API-verziók módosított tulajdonságainak listáját a változásnaplócímű témakörben találja.

Erőforrás formátuma

Hogy létrehozzunk egy Microsoft-ot. Sql/instancePools erőforrás esetén add hozzá a következő Bicep-et a sablonodhoz.

resource symbolicname 'Microsoft.Sql/instancePools@2025-02-01-preview' = {
  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'
  }
}

Tulajdonságértékek

Microsoft. SQL/instancePools

Name Description Value
hely Az a földrajzi hely, ahol az erőforrás él sztring (kötelező)
name Az erőforrás neve sztring (kötelező)
properties Erőforrás tulajdonságai. InstancePoolProperties
sku Az SKU neve és szintje. Sku
tags Erőforráscímkék Címkenevek és -értékek szótára. sablonok címkéinek megtekintése

InstancePoolProperties

Name Description Value
licenseType A licenc típusa. A lehetséges értékek a "LicenseIncluded" (az SQL-licenc ára) és a "BasePrice" (SQL-licenc ára nélkül). 'BasePrice'
"LicenseIncluded" (kötelező)
maintenanceConfigurationId Megadja a felügyelt példányra alkalmazandó karbantartási konfiguráció azonosítóját. karakterlánc
subnetId Az alhálózat erőforrás-azonosítója a példánykészlet elhelyezéséhez. sztring (kötelező)
vCores A példánykészlethez tartozó virtuális magok száma. int (kötelező)

Sku

Name Description Value
kapacitás Az adott termékváltozat kapacitása. int
family Ha a szolgáltatás különböző hardvergenerációval rendelkezik ugyanahhoz az SKU-hoz, akkor ezt itt rögzítheti. karakterlánc
name Az termékváltozat neve általában egy betű + Szám kód, pl. P3. sztring (kötelező)
size Az adott termékváltozat mérete karakterlánc
rétegez Az adott termékváltozat szintje vagy kiadása, például Alapszintű, Prémium. karakterlánc

TrackedResourceTags

Name Description Value

Használati példák

Bicep minták

Egyszerű példa az SQL-példánykészletek üzembe helyezésére.

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-ból ellenőrzött modulok

A következő Azure Verified Modules használhatók ennek az erőforrástípusnak a telepítéséhez.

Module Description
SQL Instance Pool AVM-erőforrásmodul SQL-példánykészlethez

ARM-sablon erőforrásdefiníciója

A instancePools erőforrástípus üzembe helyezhető olyan műveletekkel, amelyek a következő célokat célják:

Az egyes API-verziók módosított tulajdonságainak listáját a változásnaplócímű témakörben találja.

Erőforrás formátuma

Hogy létrehozzunk egy Microsoft-ot. Sql/instancePools erőforrás esetén add hozzá a következő JSON-t a sablonodhoz.

{
  "type": "Microsoft.Sql/instancePools",
  "apiVersion": "2025-02-01-preview",
  "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"
  }
}

Tulajdonságértékek

Microsoft. SQL/instancePools

Name Description Value
apiVersion Az API verziója '2025-02-01-preview"
hely Az a földrajzi hely, ahol az erőforrás él sztring (kötelező)
name Az erőforrás neve sztring (kötelező)
properties Erőforrás tulajdonságai. InstancePoolProperties
sku Az SKU neve és szintje. Sku
tags Erőforráscímkék Címkenevek és -értékek szótára. sablonok címkéinek megtekintése
típus Az erőforrás típusa "Microsoft. Sql/instancePools'

InstancePoolProperties

Name Description Value
licenseType A licenc típusa. A lehetséges értékek a "LicenseIncluded" (az SQL-licenc ára) és a "BasePrice" (SQL-licenc ára nélkül). 'BasePrice'
"LicenseIncluded" (kötelező)
maintenanceConfigurationId Megadja a felügyelt példányra alkalmazandó karbantartási konfiguráció azonosítóját. karakterlánc
subnetId Az alhálózat erőforrás-azonosítója a példánykészlet elhelyezéséhez. sztring (kötelező)
vCores A példánykészlethez tartozó virtuális magok száma. int (kötelező)

Sku

Name Description Value
kapacitás Az adott termékváltozat kapacitása. int
family Ha a szolgáltatás különböző hardvergenerációval rendelkezik ugyanahhoz az SKU-hoz, akkor ezt itt rögzítheti. karakterlánc
name Az termékváltozat neve általában egy betű + Szám kód, pl. P3. sztring (kötelező)
size Az adott termékváltozat mérete karakterlánc
rétegez Az adott termékváltozat szintje vagy kiadása, például Alapszintű, Prémium. karakterlánc

TrackedResourceTags

Name Description Value

Használati példák

Terraform (AzAPI-szolgáltató) erőforrásdefiníciója

A instancePools erőforrástípus üzembe helyezhető olyan műveletekkel, amelyek a következő célokat célják:

  • erőforráscsoportok

Az egyes API-verziók módosított tulajdonságainak listáját a változásnaplócímű témakörben találja.

Erőforrás formátuma

Hogy létrehozzunk egy Microsoft-ot. Sql/instancePools erőforrás esetén add hozzá a következő Terraformot a sablonodhoz.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/instancePools@2025-02-01-preview"
  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"
    }
  }
}

Tulajdonságértékek

Microsoft. SQL/instancePools

Name Description Value
hely Az a földrajzi hely, ahol az erőforrás él sztring (kötelező)
name Az erőforrás neve sztring (kötelező)
properties Erőforrás tulajdonságai. InstancePoolProperties
sku Az SKU neve és szintje. Sku
tags Erőforráscímkék Címkenevek és -értékek szótára.
típus Az erőforrás típusa "Microsoft. Sql/instancePools@2025-02-01-preview"

InstancePoolProperties

Name Description Value
licenseType A licenc típusa. A lehetséges értékek a "LicenseIncluded" (az SQL-licenc ára) és a "BasePrice" (SQL-licenc ára nélkül). 'BasePrice'
"LicenseIncluded" (kötelező)
maintenanceConfigurationId Megadja a felügyelt példányra alkalmazandó karbantartási konfiguráció azonosítóját. karakterlánc
subnetId Az alhálózat erőforrás-azonosítója a példánykészlet elhelyezéséhez. sztring (kötelező)
vCores A példánykészlethez tartozó virtuális magok száma. int (kötelező)

Sku

Name Description Value
kapacitás Az adott termékváltozat kapacitása. int
family Ha a szolgáltatás különböző hardvergenerációval rendelkezik ugyanahhoz az SKU-hoz, akkor ezt itt rögzítheti. karakterlánc
name Az termékváltozat neve általában egy betű + Szám kód, pl. P3. sztring (kötelező)
size Az adott termékváltozat mérete karakterlánc
rétegez Az adott termékváltozat szintje vagy kiadása, például Alapszintű, Prémium. karakterlánc

TrackedResourceTags

Name Description Value

Használati példák

Terraform minták

Egyszerű példa az SQL-példánykészletek üzembe helyezésére.

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