Saltar al contenido
Categoría: Sin categorizar
2020-02-06

☁ Creando los Grupos de Instancias, un nuevo recurso de Azure SQL Database

Continuando con el post de mi compañero Fran Lens sobre los Grupos de Instancias, hoy os voy a enseñar Paso a Paso cómo crear un Instance Pool (Grupo de Instancias) en Azure mediante Powershell.

A continuación, os dejo los pasos a seguir para realizar este proceso:

1. Creación de una Red virtual y una Subred válidas

En este paso, comprobaremos dónde podemos implementar la Instancia Administrada de la base de datos SQL Azure.

Deploy to Azure

Aquí os dejo la plantilla que nos proporciona Microsoft para cumplir con los estándares necesarios para su óptimo funcionamiento:

Una vez rellenados todos los campos anteriores con la suscripción adecuada, resource group, nombre de virtual network, rangos… Estos son los recursos que nos crea dentro de nuestro Resource Group (Virtual Network, Network Security Group y Route Table):

Network Security Group:

Route Table:

De momento, al ser una versión en  Preview esta versión de Azure SQL Database, debemos crear todos los recursos mediante el Cloud Shell de Azure.

2. Creación de Cluster y de la Instance Pool

En el siguiente cuadro se encuentra el código necesario para la creación del Cluster y de la Instance Pool:

$virtualNetwork = Get-AzVirtualNetwork -Name "Vnet-Pool" -ResourceGroupName "IPOOL"
$subnet = Get-AzVirtualNetworkSubnetConfig -Name "SubnetMI" -VirtualNetwork $virtualNetwork

#Create Cluster
$instancePool = Get-AzSqlInstancePool -ResourceGroupName "IPOOL" -Name "Aleson-Pool"  
-SubnetId $subnet.Id -LicenseType "LicenseIncluded" -VCore 8 -Edition "GeneralPurpose" 
-ComputeGeneration "Gen5" -Location "northeurope"

#Instance Pool
$virtualNetwork = Get-AzVirtualNetwork -Name "Vnet-Pool" -ResourceGroupName "IPOOL"
$subnet = Get-AzVirtualNetworkSubnetConfig -Name "SubnetMI" -VirtualNetwork $virtualNetwork
$instancePool = Get-AzSqlInstancePool -ResourceGroupName "IPOOL" -Name "Aleson-Pool"  -SubnetId $subnet.Id 
-LicenseType "LicenseIncluded" -VCore 8 -Edition "GeneralPurpose" -ComputeGeneration "Gen5" -Location "northeurope"

La implementación de Instance Pool puede durar aproximadamente 4,5 horas.

Una vez lanzado el comando anterior, debemos esperar hasta que estén todos los recursos creados dentro de nuestro Resource Group:

Dentro Instance Pool, podemos observar todos los recursos de los que disponemos (vCores, Storage Size y Remaining Database):

3. Creación de Instancias Independientes dentro de Pool

En este paso, vamos a crear nuestras instancias independientes dentro del Pool. Para ello, realizaremos la creación mediante Código Powershell igual que en los pasos anteriores.

Realizamos la creación de dos instancias, una llamada AlesonProd con 4 Vcores y 64GB de Almacenamiento:

Y  aquí, otra instancia llamada AlesonDev, con 4 Vcores y 32GB de almacenamiento:

Una vez creadas las instancias (no tarda mas de 5 minutos en generar una instancia nueva), nos aparecerá en el grupo de recursos:

Para ver los recursos utilizados de nuestra Instance Pool, en el overview podemos observar el número de Instancias que tenemos, así como las vCores utilizados y memoria:

4. Ejecución de una Conexión mediante SSMS

Vamos a realizar una conexión mediante SSMS (SQL Server Managament Studio) a las dos instancias creadas anteriormente:

5. Creación de una base de Datos mediante PowerShell

El siguiente paso es, realizar la creación de una base de datos mediante Powershell:

Una vez realizada la creación de la base de datos desde SSMS, podemos comprobar que ha sido satisfactoria:

SQL Server - Azure User

Llegado el momento, y sabiendo que una de las mejores funcionalidades de Instance Pool es el disponer de una instancia de 2 vCores, vamos a realizar una reducción del tamaño de la instancia AlesonDev, para ello igual que hemos realizado los pasos anteriores mediante Powershell podemos realizar el escalado de nuestra Instancia:

Azure SQL Instance

En este caso lo que hemos realizado ha sido, realizar una bajada de vCores y aumentar el Storage.

Desde el servicio de Instance Pool, podemos observar como actualmente tenemos 2 vCores disponibles para poder asignarlos a una existente o nueva instancia.

Aleson Pool

6. Revisión

Y para finalizar el post, vamos a revisar como podemos acceder a nuestra Instancia desde un Public Endpoint, esta característica no es recomendable, ya que estamos abriendo a internet nuestra Managed Instance, pero ya que esta funcionalidad actualmente en Instance Pool solamente se puede habilitar por Powershell, a continuación os muestro como realizar este paso:

Azure Sql Instance

Una vez abierto desde el portal de Azure encontrareis el host y el puerto para la conexión externa a la instancia:

Y  después de seguir todos estos pasos ya podemos dar por finalizado este post sobre Instance Pool. Como hemos comentado en anteriores posts, se trate de un servicio en Preview y no actualmente, no tiene fecha de versión final. Pero seguro que con la versatilidad de este servicio ofrecerá una solución perfecta para nuestras arquitecturas.

Os dejo por aquí mi repositorio de GitHub donde esta todo el código utilizado para este post: https://github.com/NachoCotanda/InstancePool

Serie Instance Pool:

  1. Conociendo los Grupos de Instancias, un nuevo Recurso de Azure SQL Database
  2. Creando los Grupos de Instancias, un nuevo Recurso de Azure SQL Database

Complete este formulario para recibir la guía de Windows Server en Azure
*Obligatorio
Complete este formulario para recibir la guía de Windows Server en Azure
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
*Obligatorio
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud Migration Essentials
*Obligatorio
Complete este formulario para recibir Cloud Migration Essentials
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
*Obligatorio
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete this form to recieve the guide of Windows Server on Azure
*Required
Complete this form to recieve the guide of Windows Server on Azure
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
*Required
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Essentials
*Required
Complete this form to recieve Cloud Migration Essentials
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud security Advice for Nonprofit Leaders
*Required
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Simplified Ebook.
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!