Creación de una máquina virtual Linux en Azure

Tenemos un sitio web que se ejecuta en un servidor Ubuntu Linux local. Nuestro objetivo es crear una máquina virtual (VM) de Azure con la imagen de Ubuntu más reciente y luego migrar el sitio a la nube. En esta unidad, obtendrá información sobre las opciones que hay que evaluar al crear una máquina virtual en Azure.

Introducción a Azure Virtual Machines

Azure Virtual Machines es un recurso de informática en la nube escalable y a petición. Incluye procesadores, memoria, almacenamiento y recursos de red. Las máquinas virtuales se pueden iniciar y detener a voluntad y se administran desde Azure Portal o con la CLI de Azure. También se puede usar Secure Shell (SSH) remoto para conectarse directamente a la máquina virtual en ejecución y ejecutar los comandos como si estuviese en un equipo local.

Ejecución de Linux en Azure

Es muy fácil crear máquinas virtuales Linux en Azure. Microsoft colabora con los principales proveedores de Linux para garantizar que sus distribuciones estén optimizadas para la plataforma Azure. Puede crear máquinas virtuales a partir de imágenes precompiladas de diferentes distribuciones de Linux conocidas, como SUSE, Red Hat y Ubuntu, o bien compilar una distribución de Linux propia para ejecutarla en la nube.

Creación de una máquina virtual de Azure

Las máquinas virtuales se pueden definir e implementar en Azure de varias formas: Azure Portal, un script (mediante la CLI de Azure o Azure PowerShell) o una plantilla de Azure Resource Manager. En todos los casos, será necesario proporcionar cierta información que se indicará en breve.

En Azure Marketplace también se ofrecen imágenes preconfiguradas que incluyen tanto un sistema operativo como herramientas populares de software instaladas para escenarios específicos.

Captura de pantalla de Azure Portal en la que se muestran varias opciones de máquina virtual en Azure Marketplace.

Recursos que se usan en una máquina virtual Linux

Al crear una máquina virtual Linux en Azure, también se crean los recursos necesarios para hospedarla. Estos recursos funcionan de forma conjunta para virtualizar un equipo y ejecutar el sistema operativo Linux. Deben existir ya (y seleccionarse durante la creación de la máquina virtual); de lo contrario, se crean con la máquina virtual:

  • Una máquina virtual que proporcione recursos de CPU y memoria
  • Una cuenta de Azure Storage que hospede los discos duros virtuales
  • Discos virtuales que hospeden el sistema operativo, las aplicaciones y los datos
  • Una red virtual para conectar la máquina virtual a otros servicios de Azure o al hardware local
  • Una interfaz de red para comunicarse con la red virtual
  • Una dirección IP pública opcional para acceder a la máquina virtual

Al igual que con otros servicios de Azure, necesitará un grupo de recursos que contenga la máquina virtual (y, opcionalmente, agrupar estos recursos para su administración). Al crear una máquina virtual, puede usar un grupo de recursos existente o crear uno nuevo.

Elección de la imagen de máquina virtual

La selección de una imagen es una de las primeras y más importantes decisiones que deberá tomar al crear una máquina virtual. Una imagen es una plantilla que se usa para crear una máquina virtual. Estas plantillas incluyen un sistema operativo y, a menudo, otro software, como herramientas de desarrollo o entornos de hospedaje web.

Todo lo que se pueda instalar en un equipo se puede incluir en una imagen. Se puede crear una máquina virtual a partir de una imagen preconfigurada para realizar exactamente las tareas que se necesitan como, por ejemplo, hospedar una aplicación web en un servidor HTTP de Apache.

Sugerencia

También se pueden crear y cargar imágenes de disco personalizadas.

Ajuste del tamaño de la máquina virtual

Al igual que una máquina física tiene cierta cantidad de memoria y potencia de CPU, ocurre lo mismo con una máquina virtual. Azure ofrece una variedad de máquinas virtuales de distintos tamaños con diferentes precios. El tamaño que elija determinará factores como la capacidad de procesamiento, la memoria y la capacidad de almacenamiento máxima de la máquina virtual.

Advertencia

Existen límites de cuota en cada suscripción, lo que puede afectar a la creación de máquinas virtuales. Si experimenta estos límites de cuota, puede abrir una solicitud de soporte técnico al cliente en línea para aumentar los límites.

Los tamaños de máquina virtual se agrupan en categorías, desde la serie B para las pruebas básicas hasta la serie H para tareas de computación masivas. Debe seleccionar el tamaño de máquina virtual según la carga de trabajo que desee realizar. El tamaño de la máquina virtual se puede cambiar después de haberla creado, pero antes hay que detenerla. Por lo tanto, es mejor ajustar su tamaño correctamente desde el principio, si es posible.

Estas son algunas instrucciones en función del escenario de destino

¿Qué hace? Considere estos tamaños
Web o informática de uso general: para desarrollo y pruebas, bases de datos pequeñas o medianas, y servidores web de tráfico bajo o medio. B, Dsv3, Dv3, DSv2, Dv2
Tareas de cálculo intensivo: para servidores web de tráfico medio, aplicaciones de red, procesos por lotes y servidores de aplicaciones. Fsv2, Fs, F
Gran uso de memoria: para servidores de bases de datos relacionales, memorias caché de capacidad media o grande y análisis en memoria. Esv3, Ev3, M, GS, G, DSv2, Dv2
Almacenamiento y procesamiento de datos: bases de datos de macrodatos, SQL y NoSQL que necesitan alto rendimiento de disco y de E/S. Ls
Representación de gráficos intensiva o edición de vídeo, así como para el aprendizaje y la inferencia de modelos (ND) con aprendizaje profundo. NV, NC, NCv2, NCv3, ND
Informática de alto rendimiento (HPC): sus cargas de trabajo necesitan las máquinas virtuales de CPU más rápidas y eficaces con interfaces de red de alto rendimiento opcionales. H

Elección de las opciones de almacenamiento

El siguiente conjunto de decisiones gira en torno al almacenamiento. En primer lugar, puede elegir la tecnología de disco. Las opciones incluyen una unidad de disco duro (HDD) tradicional con platos o una moderna unidad de estado sólido (SSD). Al igual que el hardware que se adquiere, el almacenamiento SSD cuesta más, pero ofrece mejor rendimiento.

Sugerencia

Hay dos niveles de almacenamiento SSD: Estándar y Premium. Elija discos SSD Estándar si tiene cargas de trabajo normales, pero desea mejorar el rendimiento. Elija discos SSD Premium si tiene cargas de trabajo que realizan un uso intensivo de la E/S o sistemas críticos que necesitan procesar datos muy rápidamente.

Asignación de almacenamiento a discos

Azure usa los discos duros virtuales (VHD) para representar discos físicos para la máquina virtual. Los discos duros virtuales replican el formato lógico y los datos de una unidad de disco, pero se almacenan como blobs en páginas en una cuenta de Azure Storage. En cada uno de los discos puede elegir el tipo de almacenamiento que debe usar (SSD o HDD). Esto permite controlar su rendimiento, probablemente en función de la E/S que planea realizar en él.

De forma predeterminada, se crean dos discos duros virtuales (VHD) para la máquina virtual Linux:

  1. El disco del sistema operativo: esta es la unidad principal y tiene una capacidad máxima de 2048 GB. De forma predeterminada se etiquetará como /dev/sda.

  2. Un disco temporal: este proporciona almacenamiento temporal para el sistema operativo o las aplicaciones. En las máquinas virtuales Linux, el disco es /dev/sdb y el agente de Linux de Azure lo formatea y monta en /mnt. Su tamaño se ajusta en función del tamaño de la máquina virtual y se usa para almacenar el archivo de intercambio.

Advertencia

El disco temporal no es persistente. En este disco solo se deben escribir datos que no sean críticos para el sistema.

¿Qué sucede con los datos?

Los datos se pueden almacenar en la unidad principal junto con el sistema operativo, pero es mejor crear discos de datos dedicados. Puede crear y conectar discos adicionales a la máquina virtual. Cada uno de ellos puede contener un máximo de 4095 GB de datos y la cantidad máxima de almacenamiento la determina el tamaño de máquina virtual que seleccione.

Nota

Una funcionalidad interesante es crear una imagen de disco duro virtual a partir de un disco real. Esto permite migrar fácilmente la información existente desde un equipo local a la nube.

Diferencias entre discos administrados y no administrados

Finalmente, debe decidir entre usar discos no administrados o administrados.

Con los discos no administrados, usted es el responsable de las cuentas de almacenamiento que contienen los discos duros virtuales correspondientes a sus discos de máquina virtual. Las tarifas de la cuenta de almacenamiento que se pagan dependen de la cantidad de espacio que se use. Una cuenta de almacenamiento tiene un límite fijo de 20 000 operaciones de E/S por segundo, lo que significa admite 40 discos duros virtuales estándar a máxima potencia. Si desea realizar un escalado horizontal, necesitará más de una cuenta de almacenamiento, lo que puede complicar las cosas.

Los discos administrados son el modelo de almacenamiento en disco más reciente y el recomendado. Solucionan de forma elegante esa complejidad al pasar a Azure la carga de administrar las cuentas de almacenamiento. Especifique el tipo (Premium o Estándar) y tamaño del disco, y Azure creará y administrará tanto el disco como el almacenamiento que use. No tiene que preocuparse por los límites de la cuenta de almacenamiento, lo que facilita el escalado horizontal. También ofrecen otras ventajas:

  • Mayor confiabilidad: Azure garantiza que los discos duros virtuales asociados con máquinas virtuales de alta confiabilidad se colocarán en distintas partes de Azure Storage para proporcionar niveles similares de resistencia.
  • Mayor seguridad: los discos administrados son recursos reales administrados en el grupo de recursos, lo que significa que pueden usar el control de acceso basado en rol para restringir quién puede trabajar con los datos del disco duro virtual.
  • Compatibilidad con instantáneas: se pueden usar instantáneas para crear una copia de solo lectura de un disco duro virtual. Tiene que apagar la máquina virtual propietaria, pero la instantánea solo tarda unos segundos en crearse. Una vez hecho esto, puede encender la máquina virtual y usar la instantánea para crear un duplicado de la máquina virtual a fin de solucionar un problema de producción o revertirla al punto en el tiempo en que se tomó la instantánea.
  • Compatibilidad con copias de seguridad: con Azure Backup se pueden realizar copias de seguridad automáticas de los discos administrados en regiones diferentes para la recuperación ante desastres sin que esto afecte a los servicios de la máquina virtual.

Comunicación de red

Las máquinas virtuales se comunican con los recursos externos mediante una red virtual (VNet). La red virtual representa una red privada de una sola región en la que se comunican los recursos. Una red virtual es igual que las redes que usted administra de forma local. Las redes virtuales se pueden dividir en subredes para aislar recursos, conectarlas a otras redes (incluidas las redes locales) y aplicar reglas de tráfico para controlar las conexiones entrantes y salientes.

Planificación de una red

Cuando cree una máquina virtual, tendrá la opción de crear una nueva red virtual o usar una existente en su región.

Es fácil hacer que Azure cree la red junto con la máquina virtual, pero es probable que no sea la mejor opción para la mayoría de los escenarios. Es mejor planear los requisitos de red por adelantado para todos los componentes de la arquitectura y crear la estructura de la red virtual por separado. Luego, cree las máquinas virtuales y colóquelas en las redes virtuales ya creadas. Más adelante en este módulo examinaremos las redes virtuales más detalladamente.

Antes de crear una máquina virtual, es preciso que decidamos cómo queremos administrarla. Veamos las opciones.