Creación de un grupo de instancias (versión preliminar): Azure SQL Managed Instance
Se aplica a:Azure SQL Managed Instance
En este artículo se explica cómo crear un grupo de instancias para Azure SQL Managed Instance, así como cómo mover instancias dentro y fuera del grupo.
Los grupos de instancias permiten implementar varias instancias con recursos compartidos en una sola máquina virtual, lo que proporciona una infraestructura cómoda y rentable para migrar varias instancias de SQL Server sin tener que consolidar cargas de trabajo más pequeñas y menos intensivas en un instancia de SQL Managed Instance más grande.
Nota:
Actualmente, los grupos de instancias para Azure SQL Managed Instance están en versión preliminar.
Requisitos previos
Para crear un grupo de instancias, debe:
- Tener una red virtual existente con un intervalo de subred de tamaño adecuado.
- Tener el módulo Az.SQL más reciente para la versión actual de PowerShell o la última versión de la CLI de Azure.
- Haber revisado las propiedades de instancia y grupo.
Consideraciones de tamaño de subredes
Planee cuidadosamente el tamaño de la subred si planea usar un grupo de instancias. Consulte Determinar el tamaño y el rango de subred necesarios para obtener instrucciones de ajuste de tamaño de subred.
Use la fórmula siguiente al calcular el número de direcciones IP requeridas por un grupo de instancias que contenga varias instancias de uso general:
2 * (5 + (3 * # of MIs)) + 5
# of MIs
hace referencia al número potencial máximo de instancias que planea aprovisionar. El número máximo posible de instancias del grupo es 40.
Crear un grupo de instancias
Puede crear un grupo de instancias mediante PowerShell o la CLI de Azure. Tenga en cuenta lo siguiente.
- Actualmente solo está disponible el nivel de servicio De uso general en hardware de serie estándar (Gen5) o serie prémium.
- El nombre del grupo solo puede contener letras minúsculas, números y guiones, y no puede empezar con un guion.
- La Ventaja híbrida de Azure se aplica en el nivel de grupo de instancias. Puede establecer el tipo de licencia al crear el grupo y actualizarlo después de crear el grupo.
Importante
La implementación de un grupo de instancias es una operación de larga duración que puede tardar aproximadamente hasta 4,5 horas.
Para crear el grupo de instancias, use New-AzSqlInstancePool.
Tenga en cuenta lo siguiente.
- Para
LicenseType
, use BasePrice para la Ventaja híbrida de Azure o LicenseIncluded si no tiene una licencia de SQL Server que se puede usar para el descuento de la Ventaja híbrida de Azure. - Use
Get-AzLocation | select displayname, location
para obtener una lista de regiones en las que están disponibles los grupos de instancias.
Cree un nuevo grupo de instancias con 8 núcleos virtuales en hardware de la serie estándar (Gen5) mediante la ejecución del siguiente script de ejemplo:
# 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>
Creación de una nueva instancia dentro del grupo
Una vez creado el grupo, puede crear una nueva instancia dentro del grupo mediante PowerShell o la CLI de Azure.
Para identificar los parámetros del grupo, use Get-AzSqlInstancePool y cree la instancia dentro del grupo específico con New-AzSqlInstance.
Cree una nueva instancia en el grupo mediante la ejecución del siguiente script de ejemplo:
$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 `
Desplazamiento de una instancia existente
Puede mover una instancia existente dentro y fuera de un grupo mediante PowerShell o la CLI de Azure si:
- Está en el mismo grupo de recursos que el grupo.
- Está en la misma red virtual y subred que el grupo.
- Se ajusta a los límites de recursos del grupo de instancias.
Cuando se mueve una instancia existente a un grupo, la configuración en el nivel de grupo tiene prioridad sobre la configuración de nivel de instancia. Por ejemplo, la instancia hereda el tipo de licencia y la ventana de mantenimiento establecidos en el nivel de grupo. Cuando una instancia se mueve fuera del grupo, conserva la configuración que heredó del grupo. La única excepción es con el tipo de licencia, que vuelve a "LicenseIncluded" cuando se quita una instancia del grupo de instancias: la Ventaja híbrida de Azure por error híbrida y la ventaja de derechos de migración tras error híbrida se debe configurar manualmente después de que una instancia se mueva fuera de un grupo.
Para mover una instancia a un grupo, proporcione el nombre del grupo cuando use Set-AzSqlInstance:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName
Para sacar una instancia de un grupo, proporcione un nombre de grupo en blanco:
$instance01 | Set-AzSqlInstance -InstancePoolName ''
Conexión a una instancia de un grupo
Para conectarse a una instancia de un grupo, habilite primero el punto de conexión público para la instancia y, a continuación, permita el tráfico del punto de conexión público en el grupo de seguridad de red.
Para habilitar el punto de conexión público para una instancia, establezca -PublicDataEndpointEnabled
en true cuando actualice las propiedades de instancia con Set-AzSqlInstance:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName -PublicDataEndpointEnabled $true
Creación de una base de datos
La creación de una base de datos para una instancia dentro de un grupo sigue el mismo proceso que la creación de una base de datos para una sola instancia. Puede crear una nueva base de datos mediante PowerShell o la CLI de Azure.
Para crear una nueva base de datos para la instancia, use New-AzSqlInstanceDatabase:
New-AzSqlInstanceDatabase -Name <database name> -InstanceName <instance name> -ResourceGroupName <resource group>
Obtención del uso del grupo
Puede usar PowerShell para determinar cómo se usan los recursos dentro de un grupo.
Para obtener una lista de las instancias que hay dentro de un grupo, use Get-AzSqlInstance:
$instancePool | Get-AzSqlInstance
Para obtener el uso de recursos del grupo, use Get-AzSqlInstancePoolUsage:
$instancePool| Get-AzSqlInstancePoolUsage
Puede agregar el parámetro -ExpandChildren para obtener información general detallada sobre el grupo y las instancias que hay dentro:
$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren
Para enumerar las bases de datos de una instancia, use Get-AzSqlInstanceDatabase:
$databases = Get-AzSqlInstanceDatabase -InstanceName $instance01Name -ResourceGroupName $resourceGroupName
Nota:
Para comprobar los límites de las instancias implementadas en un grupo y las bases de datos por grupo de instancias, revise los límites de recursos.
Actualización de un grupo de instancias
Puede usar PowerShell para realizar cambios en los límites del grupo de instancias.
El siguiente script de ejemplo cambia el tipo de licencia, el tamaño de núcleo virtual y el tipo de hardware:
Cambie el tipo de licencia:
$instancePool | Set-AzSqlInstancePool -LicenseType BasePrice -VCores 16 -ComputeGeneration Gen8
También puede determinar las programaciones de ventanas de mantenimiento disponibles:
# '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"}
A continuación, puede cambiar la ventana de mantenimiento especificando una opción de ventana, como:
$instancePool | Set-AzSqlInstancePool -MaintenanceConfigurationId $maintenanceWindowOptions[1].Id
Actualización de una instancia agrupada
Si no se han superado los límites de recursos del grupo, puede modificar las configuraciones de recursos de una instancia dentro de un grupo mediante PowerShell o la CLI de Azure,
Para modificar parámetros de recursos para una instancia dentro de un grupo, use Set-AzSqlInstance.
Por ejemplo, el siguiente script actualiza los núcleos virtuales a 8 y cambia el tamaño de almacenamiento a 512 GB para Instance1:
$instance1name | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName $instancePoolName
Eliminación de un grupo de instancias
Puede eliminar un grupo de instancias mediante PowerShell o la CLI de Azure, una vez que se han eliminado todas las instancias del grupo o se han movido fuera del grupo.
Para eliminar un grupo de instancias, use Remove-AzSqlInstancePool.
El script de ejemplo siguiente elimina un grupo de instancias vacío:
Remove-AzSqlInstancePool -ResourceGroupName <resource group name -Name <instance pool name>
Operaciones de un grupo de instancias
En la tabla siguiente se muestran las operaciones disponibles del grupo de instancias:
Get-Help | Azure portal | PowerShell | Azure CLI |
---|---|---|---|
Creación de un grupo de instancias | No | Sí | Sí |
Actualización de propiedades del grupo | No | Sí | Sí |
Comprobación del uso y las propiedades de un grupo | Sí | Sí | Sí |
Eliminación de un grupo de instancias | Sí | Sí | Sí |
Creación de una instancia administrada dentro de un grupo | No | Sí | Sí |
Traslado de una instancia administrada a un grupo | No | Sí | Sí |
Eliminación de una instancia administrada de un grupo | Sí | Sí | Sí |
Traslado de una instancia administrada fuera de un grupo | No | Sí | Sí |
Creación de una base de datos en una instancia dentro de un grupo | Sí | Sí | Sí |
Eliminación de una base de datos en Instancia administrada de SQL | Sí | Sí | Sí |
Para usar PowerShell, instale la versión más reciente de PowerShell Core y siga las instrucciones para instalar el módulo de Azure PowerShell.
Comandos de PowerShell disponibles:
Cmdlet | Descripción |
---|---|
New-AzSqlInstancePool | Crea un grupo de instancias. |
Get-AzSqlInstancePool | Devuelve información sobre un grupo de instancias. |
Set-AzSqlInstancePool | Establece las propiedades de un grupo de instancias. |
Remove-AzSqlInstancePool | Elimina un grupo de instancias. |
Get-AzSqlInstancePoolUsage | Devuelve información sobre el uso de los grupos de instancias. |
En el caso de las operaciones relacionadas con instancias dentro de grupos e instancias únicas, use los comandos de instancia administrada estándar, pero la propiedad de nombre del grupo de instancias se debe rellenar al usar estos comandos para una instancia de un grupo.
Limitaciones
Durante la versión preliminar pública, las instancias de un grupo tienen las siguientes limitaciones:
- El nombre del grupo solo puede contener letras minúsculas, números y guiones, y no puede empezar con un guion.
- Todas las instancias del grupo usan el mismo modelo de licencias. Cuando se especifica un modelo de licencias de una instancia diferente del modelo de licencias del grupo, se usa el modelo de licencia del grupo. Cuando la instancia se mueve fuera del grupo, cambia automáticamente a una licencia de pago completa (
LicenseType
= "LicenseIncluded"). Active manualmente la Ventaja híbrida de Azure o la ventaja de derechos de migración tras error híbrida para cambiar el modelo de licencias. - Las instancias agrupadas deben pertenecer a la misma subred y grupo de recursos. Mover una instancia dentro y fuera del grupo solo es posible dentro de la subred del grupo y del mismo grupo de recursos.
- Solo está disponible el nivel de servicio De uso general en hardware de serie estándar (Gen5) o serie prémium. El nivel de servicio de uso general de nueva generación, Crítico para la empresa y el hardware optimizado para memoria de la serie prémium no están disponibles.
- El número máximo posible de instancias del grupo es 40.
- Un grupo de instancias solo se puede eliminar después de que todas las instancias del grupo se eliminen o se muevan fuera del grupo.
- No puede usar Azure Portal para hacer lo siguiente:
- Configurar el grupo de instancias. Use PowerShell o la CLI de Azure en su lugar.
- Mover instancias dentro y fuera del grupo. Use PowerShell o la CLI de Azure en su lugar.
- Las siguientes características de SQL Managed Instance no se admiten cuando las instancias están en un grupo:
- Grupos de migración tras error. Los derechos de migración tras error no están disponibles para las instancias de un grupo.
- Iniciar y detener.
- Redundancia de zona.
- Los precios para instancias de capacidad reservada no están disponibles.
Solicitudes de soporte técnico
Cree y administre solicitudes de soporte técnico para grupos de instancias en Azure Portal.
Si tiene problemas relacionados con la creación o eliminación de una instancia, asegúrese de especificar Grupos de instancias en el campo Subtipo de problema.
Si tiene problemas relacionados con bases de datos o instancias administrada únicas dentro de un grupo, debe crear una incidencia de soporte técnico normal para Azure SQL Managed Instance.
Para crear implementaciones de SQL Managed Instance más grandes (con o sin grupos de instancias), es posible que tenga que obtener una cuota regional más grande. Para más información, consulte Solicitud de aumentos de cuota para Azure SQL Database. La lógica de implementación para grupos de instancias compara el consumo total de núcleos virtuales en el nivel de grupo con respecto a la cuota para determinar si se permite crear recursos nuevos sin aumentar aún más la cuota.
Contenido relacionado
- Características comunes de SQL.
- Configuración de red virtual de SQL Managed Instance.
- Inicio rápido: Creación de una instancia administrada.
- Migración de SQL Managed Instance mediante Database Migration Service.
- Supervise Azure SQL Managed Instance con Azure SQL Analytics.
- Precios de SQL Managed Instance.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de