Una de las novedades de SQL Server es ser multiplataforma. Ahora es posible correr SQL Server 2017 sobre Linux (en sus distribuciones RHEL, CentOS, Suse y Ubuntu), MacOS y Dockers. Esto abre un mundo de posibilidades y nuevo reto para los profesionales en bases de datos; lo cual es siempre bien recibido. En esta parte de la serie de artículos dedicados a explorar SQL sobre Linux, te explicaré paso a paso el provisionamiento básico de una máquina virtual con Linux RedHat y SQL Server 2017 desde el Marketplace de Azure y la configuración básica que debes tener en cuenta.
El primer paso y el más importante es contar con una suscripción en Azure, ya sea de prueba o de pago. Si ya la tienes, inicia sesión en el portal de Azure: https://portal.azure.com/.
1. Escoge la imagen respectiva en el Marketplace de Azure. Desde la página de inicio de Azure:
Clic en ‘Create a resource’
En el campo de búsqueda del Marketplace, ingresa ‘SQL Server 2017’. Enter.
Filtra por: Operating System -> ‘Redhat’ y Publisher -> ‘Microsoft’.
Escoge ‘Free SQL Server License: SQL Server 2017 Developer on Red Hat Enterprise Linux 7.4 (RHEL)’.
Clic en ‘Create’
2. Configura la suscripción, Grupo de Recursos y Nombre de la VM.
En la pestaña Basics, escoge la suscripción a usar, en Grupo de Recursos crearemos uno nuevo, para este ejemplo lo he llamado ‘ResourceGroup1’.
Proveemos un nombre a la máquina virtual, en este caso ‘SQLLinux’.
3. Configura las Opciones de disponibilidad, tamaño y forma de autenticación.
En Availability Options (Opciones de Disponibilidad), escogeremos ‘No infraestructure redundancy required’ por tratarse de un ambiente de pruebas. Otras opciones aquí son: Availability Zone y Availability Set, que son alternativas que Azure nos ofrece para Alta Disponibilidad en caso de outages o desastres. Si quieres saber más acerca de estas opciones te dejo el link aquí.
Azure Spot instance: No.
Size: Para fines prácticos escogeremos ‘Standard_B2s’, que es un tamaño de tipo ‘Uso General’ que cumple con los requisitos mínimos para correr SQL Server. Consta de 2 vcpus y 4 GiB de memoria. Para saber qué tamaño se puede ajustar más a tus necesidades de base de datos te recomiendo leer este enlace.
Tipo de autenticación: Esta opción nos permite crear un usuario administrador o una clave SSH para iniciar sesión en la VM. Para este ejemplo usaremos ‘Password’ y luego proveeremos un nombre de usuario (en mi caso ‘BitacoraDBA’) y una contraseña.
4. Puertos y reglas de entrada. En Public inbound ports, escogeremos sólo el puerto 22 para que nos dé entrada a conectarnos con SSH.
5. Configurando los discos. En la pestaña Disks, vemos que por defecto tenemos un disco Premium SSD para el Sistema Operativo. Esto lo dejamos tal cual y de acuerdo a las buenas prácticas, crearemos un disco para los archivos de datos y otro para logs. Para esto, añade un Data Disk con la opción ‘Create and attach a new disk’ y cámbiale de nombre a ‘mssql_data’.
Clic en ‘Change size’ y asignamos un tamaño, por ejemplo, 10 (GB). Click Ok. Añade 2 discos Premium SSD más siguiendo este mismo procedimiento, uno para almacenar los archivos de log llamado ‘mssql_log’ y otro para almacenar los backups llamado ‘mssql_backups’.
6. Despliegue de la máquina virtual. Da clic en ‘Review + create’, y ‘Create’ después de la validación para crear la VM con los parámetros especificados. Azure nos mostrará el costo por hora del recurso a crear.
Recibirás un mensaje de Deployment Complete.
7. Reconocimiento los datos de la VM. Clic en ‘Go to resource’ para ver los detalles de la máquina virtual que acabamos de crear, como IP pública, Sistema Operativo, Suscripción, Tags, y el estado de la VM que debe estar en Running; es decir, ya se encuentra operativa. Toma nota de la IP pública (Public IP address) porque la usaremos para conectarnos a la VM por SSH.
8. Conéctate a la VM. Para esto necesitas un software cliente de SSH. Te recomiendo usar Putty, el cual puedes descargar desde aquí. Una vez lanzado el ejecutable de Putty, pon la IP pública de la VM en el campo Host Name y deja el puerto 22 por defecto.
Clic en Open y coloca el usuario y la contraseña que escogiste en la configuración de la VM del portal y listo. Con esto ya estaremos dentro de una máquina virtual Linux con SQL Server.
Así hemos culminado con la primera parte del despliegue y configuración de una instancia SQL Server en Linux. Desde la creación de una máquina virtual a partir de una imagen prediseñada del Marketplace, la cual nos permite una provisión rápida de una infraestructura sobre la nube (IaaS), hasta la conexión SSH a la VM usando Putty. En el siguiente artículo veremos los pasos para conectarte a la instancia de SQL desde un cliente y a configurar nuestro ambiente de base de datos en Linux.
Si tienes alguna duda, comentarios o sugerencias, me puedes enviar un correo a bitácoradeundba@gmail.com.