Создание пула экземпляров (предварительная версия) — Управляемый экземпляр SQL Azure
Применимо к:Управляемый экземпляр SQL Azure
В этой статье описывается, как создать пул экземпляров для Управляемый экземпляр SQL Azure, а также как перемещать экземпляры в пул и из него.
Пулы экземпляров позволяют развертывать несколько экземпляров с общими ресурсами на одной виртуальной машине, что обеспечивает удобную и эффективную инфраструктуру для переноса нескольких экземпляров SQL Server без необходимости объединять небольшие и менее вычислительные рабочие нагрузки на более крупные Управляемый экземпляр SQL.
Примечание.
Пулы экземпляров для Управляемый экземпляр SQL Azure в настоящее время находятся в предварительной версии.
Необходимые компоненты
Чтобы создать пул экземпляров, необходимо:
- Существующая виртуальная сеть с соответствующим размером диапазона подсети.
- Последний модуль Az.SQL для текущей версии PowerShell или последней версии Azure CLI.
- Просмотр свойств экземпляра и пула.
Рекомендации по размеру подсети
Тщательно спланируйте размер подсети, если планируется использовать пул экземпляров. См. инструкции по определению требуемого размера подсети и диапазона для рекомендаций по размеру подсети.
Используйте следующую формулу при вычислении количества IP-адресов, необходимых для одного пула экземпляров, содержащего несколько экземпляров общего назначения:
2 * (5 + (3 * # of MIs)) + 5
Это # of MIs
относится к максимальному потенциальному количеству экземпляров, которые планируется подготовить. Максимально возможное количество экземпляров в пуле — 40.
Создание пула экземпляров
Пул экземпляров можно создать с помощью PowerShell или Azure CLI. Рассмотрим следующий пример.
- В настоящее время доступно только уровень служб общего назначения в стандартной серии (5-го поколения) или оборудовании серии "Премиум".
- Имя пула может содержать только строчные буквы, цифры и дефисы, но оно не может начинаться с дефиса.
- Преимущество гибридного использования Azure применяется на уровне пула экземпляров. Можно задать тип лицензии при создании пула и обновить тип лицензии после создания пула.
Внимание
Развертывание пула экземпляров — это длительная операция, которая может занять до 4,5 часа.
Чтобы создать пул экземпляров, используйте New-AzSqlInstancePool.
Рассмотрим следующий пример.
- Для
LicenseType
этого используйте BasePrice для Преимущество гибридного использования Azure или LicenseIncluded, если у вас нет лицензии SQL Server, которую можно использовать для скидки Преимущество гибридного использования Azure. - Используется
Get-AzLocation | select displayname, location
для получения списка регионов, где доступны пулы экземпляров.
Создайте пул экземпляров с 8 виртуальными ядрами на оборудовании стандартной серии (5-го поколения), выполнив следующий пример сценария:
# Identify the SubnetId
$virtualNetwork = Get-AzVirtualNetwork -Name <vnet name> -ResourceGroupName <resource group name>
$miSubnet = Get-AzVirtualNetworkSubnetConfig -Name <subnet name> -VirtualNetwork $virtualNetwork
$miSubnetConfigId = $miSubnet.Id
# Create the instance
$instancePool = New-AzSqlInstancePool `
-ResourceGroupName <resource group name> `
-Name <instance pool name> `
-SubnetId $miSubnetConfigId `
-LicenseType LicenseIncluded `
-VCore 8 `
-Edition GeneralPurpose `
-ComputeGeneration Gen5 `
-Location <region>
Создание нового экземпляра внутри пула
После создания пула можно создать новый экземпляр в пуле с помощью PowerShell или Azure CLI.
Чтобы определить параметры пула, используйте Get-AzSqlInstancePool , а затем создайте экземпляр в определенном пуле с помощью New-AzSqlInstance.
Создайте новый экземпляр в пуле, выполнив следующий пример сценария:
$adminCredential = Get-Credential
$instancePool = Get-AzSqlInstancePool -ResourceGroupName <resource group name> -Name <instance pool name>
$instance01 = $instancePool | New-AzSqlInstance `
-Name $instance01`
-VCore 2 `
-StorageSizeInGB 32 `
-AdministratorCredential $adminCredential `
Перемещение существующего экземпляра
Вы можете переместить существующий экземпляр в пул и выйти из него с помощью PowerShell или Azure CLI, если:
- Он находится в той же группе ресурсов, что и пул.
- Он находится в той же виртуальной сети и подсети, что и пул.
- Он соответствует ограничениям ресурсов пула экземпляров.
При перемещении существующего экземпляра в пул параметры на уровне пула имеют приоритет над параметрами уровня экземпляра. Например, экземпляр наследует тип лицензии и период обслуживания на уровне пула. При перемещении экземпляра из пула он сохраняет параметры, унаследованные от пула. Единственным исключением является тип лицензии, который по умолчанию возвращает значение LicenseIncluded при удалении экземпляра из пула экземпляров. Преимущество прав на отработку отказа Преимущество гибридного использования Azure и гибридной отработки отказа должно быть настроено вручную после перемещения экземпляра из пула.
Чтобы переместить экземпляр в пул, укажите имя пула при использовании Set-AzSqlInstance:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName
Чтобы переместить экземпляр из пула, укажите пустое имя пула:
$instance01 | Set-AzSqlInstance -InstancePoolName ''
Подключение экземпляр в пуле
Чтобы подключиться к экземпляру в пуле, сначала включите общедоступную конечную точку для экземпляра, а затем разрешите трафик общедоступной конечной точки в группе безопасности сети.
Чтобы включить общедоступную конечную точку для экземпляра, установите -PublicDataEndpointEnabled
значение true при обновлении свойств экземпляра с помощью Set-AzSqlInstance:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName -PublicDataEndpointEnabled $true
Создание базы данных
Создание базы данных для экземпляра в пуле совпадает с созданием базы данных для одного экземпляра. Вы можете создать новую базу данных с помощью PowerShell или Azure CLI.
Чтобы создать базу данных для своего экземпляра, используйте New-AzSqlInstanceDatabase:
New-AzSqlInstanceDatabase -Name <database name> -InstanceName <instance name> -ResourceGroupName <resource group>
Получение сведений об использовании пула
С помощью PowerShell можно определить, как используются ресурсы в пуле.
Чтобы получить список экземпляров в пуле, используйте Get-AzSqlInstance:
$instancePool | Get-AzSqlInstance
Чтобы получить использование ресурсов пула, используйте Get-AzSqlInstancePoolUsage:
$instancePool| Get-AzSqlInstancePoolUsage
Вы можете добавить параметр -ExpandChildren, чтобы получить подробный обзор пула и экземпляров внутри него:
$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren
Чтобы получить список баз данных в экземпляре, используйте Get-AzSqlInstanceDatabase:
$databases = Get-AzSqlInstanceDatabase -InstanceName $instance01Name -ResourceGroupName $resourceGroupName
Примечание.
Чтобы проверка ограничения на экземпляры, развернутые в пуле, и базы данных для каждого пула экземпляров, просмотрите ограничения ресурсов.
Обновление пула экземпляров
PowerShell можно использовать для внесения изменений в ограничения пула экземпляров.
Следующий пример скрипта изменяет тип лицензии, размер виртуальных ядер и тип оборудования:
Изменение типа лицензии:
$instancePool | Set-AzSqlInstancePool -LicenseType BasePrice -VCores 16 -ComputeGeneration Gen8
Кроме того, можно определить доступные расписания периода обслуживания:
# 'Available maintenance schedules in $location'
$configurations = Get-AzMaintenancePublicConfiguration
$configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"}
$maintenanceWindowOptions = $configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"}
Затем можно изменить период обслуживания, указав параметр окна, например:
$instancePool | Set-AzSqlInstancePool -MaintenanceConfigurationId $maintenanceWindowOptions[1].Id
Обновление экземпляра в пуле
Если ограничения ресурсов пула не были превышены, можно изменить конфигурации ресурсов для экземпляра в пуле с помощью PowerShell или Azure CLI.
Чтобы изменить параметры ресурсов для экземпляра в пуле, используйте Set-AzSqlInstance.
Например, следующий скрипт обновляет виртуальные ядра до 8 и изменяет размер хранилища на 512 ГБ для Instance1:
$instance1name | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName $instancePoolName
Удаление пула экземпляров
Пул экземпляров можно удалить с помощью PowerShell или Azure CLI, когда все экземпляры в пуле были удалены или перемещены из пула.
Чтобы удалить пул экземпляров, используйте Remove-AzSqlInstancePool.
Следующий пример скрипта удаляет пустой пул экземпляров:
Remove-AzSqlInstancePool -ResourceGroupName <resource group name -Name <instance pool name>
Операции с пулом экземпляров
В следующей таблице показаны доступные операции пула экземпляров:
Команда | Портал Azure | PowerShell | Azure CLI |
---|---|---|---|
Создание пула экземпляров | No | Да | Да |
Обновление свойств пула | No | Да | Да |
Проверка использования пула и свойств | Да | Да | Да |
Удаление пула экземпляров | Да | Да | Да |
Создание управляемого экземпляра в пуле | No | Да | Да |
Перемещение управляемого экземпляра в пул | No | Да | Да |
Удаление управляемого экземпляра из пула | Да | Да | Да |
Перемещение управляемого экземпляра из пула | No | Да | Да |
Создание базы данных в экземпляре в пуле | Да | Да | Да |
Удаление базы данных из управляемого экземпляра SQL | Да | Да | Да |
Чтобы использовать PowerShell, установите последнюю версию PowerShell Core и следуйте инструкциям по установке модуля Azure PowerShell.
Доступные команды PowerShell
Командлет | Description |
---|---|
New-AzSqlInstancePool | Создает пул экземпляров. |
Get-AzSqlInstancePool | Возвращает сведения о пуле экземпляров. |
Set-AzSqlInstancePool | Задает свойства для пула экземпляров. |
Remove-AzSqlInstancePool | Удаляет пул экземпляров. |
Get-AzSqlInstancePoolUsage | Возвращает сведения об использовании пула экземпляров. |
Для операций, относящихся к экземплярам внутри пулов и отдельным экземплярам, используйте стандартные команды управляемого экземпляра, но при использовании этих команд для экземпляра в пуле необходимо заполнить свойство имени пула экземпляров.
Ограничения
Во время общедоступной предварительной версии экземпляры в пуле имеют следующие ограничения:
- Имя пула может содержать только строчные буквы, цифры и дефисы, но оно не может начинаться с дефиса.
- Все экземпляры в пуле используют одну и ту же модель лицензирования. При указании модели лицензии для экземпляра, отличного от модели лицензии для пула, используется модель лицензии пула. При перемещении экземпляра из пула он автоматически переключается на полную платную лицензию (
LicenseType
= LicenseIncluded). Вручную активируйте Преимущество гибридного использования Azure или преимущество гибридных прав отработки отказа, чтобы изменить модель лицензирования. - Экземпляры в пуле должны принадлежать одной подсети и группе ресурсов. Перемещение экземпляра в пул и из него возможно только в подсети пула и той же группы ресурсов.
- Только уровень служб общего назначения доступен на оборудовании ценовой категории "Стандартный" (5-го поколения) или "Премиум". Оборудование, оптимизированное для памяти следующего поколения, критически важный для бизнеса уровня служб и оптимизированное для памяти класса Premium оборудование недоступно.
- Максимально возможное количество экземпляров в пуле — 40.
- Пул экземпляров можно удалить только после того, как все экземпляры в пуле удаляются или перемещаются из пула.
- Вы не можете использовать портал Azure для:
- Настройте пул экземпляров. Вместо этого используйте PowerShell или Azure CLI.
- Перемещение экземпляров в пул и из него. Вместо этого используйте PowerShell или Azure CLI.
- Следующие Управляемый экземпляр SQL функции не поддерживаются, если экземпляры находятся в пуле:
- Группы отработки отказа. Права отработки отказа недоступны для экземпляров в пуле.
- Запуск и остановка.
- Избыточность зоны.
- Цены на зарезервированные экземпляры емкости недоступны.
Запросы в службу поддержки
Создание запросов на поддержку и управление ими осуществляется на портале Azure.
Если при создании или удалении экземпляра возникают проблемы, обязательно укажите пулы экземпляров в поле подтипа проблемы.
Если у вас возникли проблемы, связанные с одним управляемым экземпляром или базой данных в пуле, необходимо создать обычный запрос в службу поддержки для Управляемый экземпляр SQL Azure.
Чтобы создать более крупные Управляемый экземпляр SQL развертывания (с пулами экземпляров или без нее), может потребоваться получить более крупную региональную квоту. Дополнительные сведения см. в статье Запрос на увеличение квоты для базы данных SQL Azure. Логика развертывания пулов экземпляров сравнивает общее потребление виртуальных ядер на уровне пула с квотой, чтобы определить, разрешено ли создавать новые ресурсы без дальнейшего увеличения квоты.
Связанный контент
- Общие функции SQL.
- Управляемый экземпляр SQL конфигурации виртуальной сети.
- Краткое руководство по созданию управляемого экземпляра.
- Управляемый экземпляр SQL миграции с помощью Database Migration Service.
- Мониторинг Управляемый экземпляр SQL Azure с помощью Аналитики SQL Azure.
- Управляемый экземпляр SQL цены.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по