Implementación de Instancia administrada de Azure SQL en un grupo de instancias
SE APLICA A:
Azure SQL Managed Instance
En este artículo se proporcionan detalles sobre cómo crear un grupo de instancias y cómo implementar Instancia administrada de Azure SQL para ello.
Operaciones de grupos de instancias
En la tabla siguiente se muestran las operaciones disponibles relacionadas con los grupos de instancias y su disponibilidad en Azure Portal, PowerShell y la CLI de Azure.
| Get-Help | Azure portal | PowerShell | Azure CLI |
|---|---|---|---|
| Creación de un grupo de instancias | No | Sí | Sí |
| Actualización de un grupo de instancias (número limitado de propiedades) | No | Sí | Sí |
| Comprobación del uso de un grupo de instancias y sus propiedades | No | Sí | Sí |
| Eliminación de un grupo de instancias | No | Sí | Sí |
| Creación de una instancia administrada dentro de un grupo de instancias | No | Sí | No |
| Actualización del uso de un recurso para una instancia administrada | Sí | Sí | No |
| Comprobación del uso y las propiedades de una instancia administrada | Sí | Sí | No |
| Eliminación de una instancia administrada del grupo | Sí | Sí | No |
| Creación de una base de datos en una instancia dentro del grupo | Sí | Sí | No |
| Eliminación de una base de datos en Instancia administrada de SQL | Sí | Sí | No |
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 Instancia administrada de SQL. |
| Get-AzSqlInstancePool | Devuelve información sobre un grupo de instancias. |
| Set-AzSqlInstancePool | Establece las propiedades de un grupo de instancias en Instancia administrada de SQL. |
| Remove-AzSqlInstancePool | Quita un grupo de instancias en Instancia administrada de SQL. |
| Get-AzSqlInstancePoolUsage | Devuelve información sobre el uso de grupos de Instancia administrada de SQL. |
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.
Proceso de implementación
Para implementar una instancia administrada en un grupo de instancias, primero debe implementar el grupo, lo que supone una operación única de ejecución prolongada que dura lo mismo que la implementación de una instancia única creada en una subred vacía. Después, puede implementar una instancia administrada en el grupo; se trata de una operación relativamente rápida que normalmente tarda cinco minutos como máximo. El parámetro del grupo de instancias se debe especificar de manera explícita como parte de esta operación.
En la versión preliminar pública, ambas acciones solo son compatibles con las plantillas de Azure Resource Manager y PowerShell. La experiencia de Azure Portal no está disponible actualmente.
Una vez implementada una instancia administrada en un grupo, puede usar Azure Portal para cambiar sus propiedades en la página de planes de tarifa.
Creación de una red virtual con una subred
Para colocar varios grupos de instancias dentro de la misma red virtual, consulte los artículos siguientes:
- Determinación del tamaño de la red virtual y la subred para Instancia administrada de Azure SQL.
- Cree una subred y red virtual nuevas con la plantilla de Azure Portal o siga las instrucciones para preparar una red virtual existente.
Creación de un grupo de instancias
Después de completar los pasos anteriores, ya está preparado para crear un grupo de instancias.
Las restricciones siguientes se aplican a los grupos de instancias:
- Solo los grupos de instancias de uso general y Gen5 están disponibles en la versión preliminar pública.
- El nombre del grupo solo puede contener letras minúsculas, números y guiones, y no puede empezar con un guion.
- Si quiere usar la Ventaja híbrida de Azure, se aplica en el nivel de grupo de instancias. Puede establecer el tipo de licencia durante la creación del grupo o actualizarlo en cualquier momento después de la creación.
Importante
La implementación de un grupo de instancias es una operación de larga duración que tarda aproximadamente 4,5 horas.
Para obtener parámetros de red:
$virtualNetwork = Get-AzVirtualNetwork -Name "miPoolVirtualNetwork" -ResourceGroupName "myResourceGroup"
$subnet = Get-AzVirtualNetworkSubnetConfig -Name "miPoolSubnet" -VirtualNetwork $virtualNetwork
Para crear un grupo de instancias:
$instancePool = New-AzSqlInstancePool `
-ResourceGroupName "myResourceGroup" `
-Name "mi-pool-name" `
-SubnetId $subnet.Id `
-LicenseType "LicenseIncluded" `
-VCore 8 `
-Edition "GeneralPurpose" `
-ComputeGeneration "Gen5" `
-Location "westeurope"
Importante
Dado que la implementación de un grupo de instancias es una operación de larga duración, debe esperar hasta que se complete antes de ejecutar cualquiera de los pasos siguientes descritos en este artículo.
Creación de una instancia administrada
Después de implementar correctamente el grupo de instancias, es el momento de crear una instancia administrada dentro de él.
Para crear una instancia administrada, ejecute el comando siguiente:
$instanceOne = $instancePool | New-AzSqlInstance -Name "mi-one-name" -VCore 2 -StorageSizeInGB 256
La implementación de una instancia dentro de un grupo tarda un par de minutos. Una vez creada la primera instancia, se pueden crear instancias adicionales:
$instanceTwo = $instancePool | New-AzSqlInstance -Name "mi-two-name" -VCore 4 -StorageSizeInGB 512
Crear una base de datos
Para crear y administrar bases de datos en una instancia administrada que se encuentre dentro de un grupo, use los comandos de instancia única.
Para crear una base de datos dentro de una instancia administrada:
$poolinstancedb = New-AzSqlInstanceDatabase -Name "mipooldb1" -InstanceName "poolmi-001" -ResourceGroupName "myResourceGroup"
Obtención del uso del grupo
Para obtener una lista de instancias dentro de un grupo:
$instancePool | Get-AzSqlInstance
Para obtener el uso de los recursos de un grupo:
$instancePool | Get-AzSqlInstancePoolUsage
Para obtener información general detallada sobre el uso del grupo y las instancias que contiene:
$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren
Para enumerar las bases de datos de una instancia:
$databases = Get-AzSqlInstanceDatabase -InstanceName "pool-mi-001" -ResourceGroupName "resource-group-name"
Nota
Para comprobar los límites sobre el número de bases de datos por grupo de instancias e instancia administrada que se implementan dentro del grupo, consulte la sección Limitaciones de recursos.
Escala
Después de rellenar una instancia administrada con bases de datos, puede alcanzar los límites de instancias con respecto al almacenamiento o al rendimiento. En ese caso, si no se ha superado el uso del grupo, puede escalar la instancia. Escalar una instancia administrada dentro de un grupo es una operación que tarda un par de minutos. El requisito previo para el escalado son núcleos virtuales y almacenamiento disponibles en el nivel de grupo de instancias.
Para actualizar el número de núcleos virtuales y el tamaño de almacenamiento:
$instanceOne | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName "mi-pool-name"
Para actualizar solo el tamaño de almacenamiento:
$instance | Set-AzSqlInstance -StorageSizeInGB 1024 -InstancePoolName "mi-pool-name"
Conectar
Para conectarse a una instancia administrada en un grupo, se necesitan los dos pasos siguientes:
- Habilite el punto de conexión público para la instancia.
- Agregue una regla de entrada al grupo de seguridad de red (NSG).
Una vez completados ambos pasos, puede conectarse a la instancia de mediante una dirección de punto de conexión pública, un puerto y las credenciales proporcionadas durante la creación de la instancia.
Habilitación del punto de conexión público
La habilitación del punto de conexión público para una instancia se puede realizar a través de Azure Portal o mediante el comando de PowerShell siguiente:
$instanceOne | Set-AzSqlInstance -InstancePoolName "pool-mi-001" -PublicDataEndpointEnabled $true
Este parámetro también se puede establecer durante la creación de la instancia.
Incorporación de una regla de entrada al grupo de seguridad de red
Este paso se puede realizar a través de Azure Portal o mediante comandos de PowerShell y se puede hacer en cualquier momento después de preparar la subred para la instancia administrada.
Para información detallada, consulte Permitir el tráfico del punto de conexión público en el grupo de seguridad de red.
Cómo mover una instancia única existente a un grupo
Mover instancias dentro y fuera de un grupo es una de las limitaciones de la versión preliminar pública. Una solución alternativa es la restauración a un momento dado de bases de datos desde una instancia fuera de un grupo a una instancia que ya está en un grupo.
Ambas instancias deben estar en la misma suscripción y región. Actualmente no se admite la restauración entre regiones y entre suscripciones.
Este proceso tiene un período de tiempo de inactividad.
Para mover bases de datos existentes:
Pause las cargas de trabajo de la instancia administrada desde la cual se realizará la migración.
Genere scripts para crear bases de datos del sistema y ejecútelos en la instancia que se encuentra dentro del grupo de instancias.
Realice una restauración a un momento dado de cada base de datos desde la instancia única a la instancia del grupo.
$resourceGroupName = "my resource group name" $managedInstanceName = "my managed instance name" $databaseName = "my source database name" $pointInTime = "2019-08-21T08:51:39.3882806Z" $targetDatabase = "name of the new database that will be created" $targetResourceGroupName = "resource group of instance pool" $targetInstanceName = "pool instance name" Restore-AzSqlInstanceDatabase -FromPointInTimeBackup ` -ResourceGroupName $resourceGroupName ` -InstanceName $managedInstanceName ` -Name $databaseName ` -PointInTime $pointInTime ` -TargetInstanceDatabaseName $targetDatabase ` -TargetResourceGroupName $targetResourceGroupName ` -TargetInstanceName $targetInstanceNameDirija la aplicación a la nueva instancia y reanude sus cargas de trabajo.
Si hay varias bases de datos, repita el proceso para cada base de datos.
Pasos siguientes
- Para obtener una lista de características y una comparación, consulte Características comunes de SQL.
- Para obtener más información sobre la configuración de redes virtuales, vea Configuración de una red virtual de Instancia administrada de SQL.
- Para ver un inicio rápido en el que se crea una instancia administrada y se restaura una base de datos desde un archivo de copia de seguridad, consulte Creación de una instancia administrada.
- Para consultar un tutorial sobre el uso de Azure Database Migration Service para la migración, consulte Migración de Instancia administrada de SQL mediante Database Migration Service.
- Para obtener información sobre la supervisión avanzada del rendimiento de las bases de datos de Instancia administrada de SQL con inteligencia integrada para la solución de problemas, consulte Supervisión de instancias de Azure SQL Database con Azure SQL Analytics.
- Para obtener información sobre precios, vea la página de precios de Instancia administrada de SQL.
