martes, 19 de noviembre de 2013

Configurar SQL en un IaaS de Azure para acceso remoto

Estoy en un proyecto precioso en donde estamos realizando un piloto para poder migrar dos instancias de SQL 2008 a una sola en Azure, en modo IaaS, que utilice SQL 2014.

La creación de la máquina virtual es tan sencilla, que no merece la pena ni describirla. Siguiendo los asistentes de Azure, la montas en un pis-pas.

Pero acceder desde mi SQL Manager en local a la base de datos de la VM en Azure, no es directo ni trivial. Así vamos a ir desde fuera hacia adentro, en la configuraciones necesarias para el correcto funcionamiento.

Lo primero es entrar en el portal de Azure y seleccionar la máquina virtual donde tenemos la SQL.

image

Y aquí me voy a la pestaña de extremos. En donde veo que están habilitados los puertos para acceso vía PowerShell y Remote Desktop; y en donde doy de alta un nuevo acceso llamado MSSQL (que escojo de la lista y me configura de forma automática el puerto 1433).

 

image

image

image

Vale, hasta aquí lo que hay que hacer en el panel de Azure. Ahora nos vamos a la máquina virtual por medio del Escritorio Remoto y nos vamos a configurar la base de datos.

image

Lo primero es modificar la seguridad de la base de datos, y permitir conectarse por medio de login/password; ya que por defecto solo permite por identidad de windows.

image

Después debo de dar de alta un nuevo “login” para el usuario con quien me voy a conectar de forma remota, lo cual a estas alturas deberías controlar al dedillo. Sobre todo el tema de los permisos mínimos necesarios.

image

Por defecto las conexiones TCP están habilitadas en las plantillas de máquinas virtuales que nos ofrece Azure, por lo cual – si te apetece – solo es necesario revisar que estén activas y habilitadas.

Pero aún falta un paso más, y es abrir el puerto en el Firewall del servidor. Que por defecto, como buen server, está todo cerrado y hay que definirlo de forma específica por medio de dar de alta una nueva regla.

Para ello abrimos el Firewall y seleccionamos “Inbound Rules”. A la derecha veremos un menú vertical en donde puedo seleccionar “New Rule…”.

image

Y aquí sigo la siguiente secuencia para dar de alta el nuevo puerto 1433 por TCP:

image

image

image

image

image

Y ahora si, viendo el nombre DNS que Azure nos ha dado para la máquina virtual (<el_nombre_de_tu_maquina_virtual>.cloudapp.net), puedo usar los datos de conexión desde mi SQL Manager para conectar de forma remota a mi SQL en formato IaaS en Azure.

image

En resumen:

  • Primero abre el puerto en Azure para que pueda escuchar la máquina virtual.
  • Configura la SQL para que te puedas logar con Usuario/contraseña.
  • Crea un usuario de SQL para poder conectarte, y dale permisos adecuados.
  • Añade una regla al Firewall del servidor virtual para que permita abrir el puerto 1433.
  • Conéctate al servidor a la dirección DNS que te ha asignado Azure: xxxx.cloudapp.net.

Espero que te sea útil.

1 comentario:

Anónimo dijo...

Muchas Gracias.
Saludos