Rehospedaje de una aplicación local de Linux en máquinas virtuales de Azure

En este artículo se muestra cómo la empresa ficticia Contoso rehospeda una aplicación basada en LAMP de dos niveles mediante máquinas virtuales de infraestructura como servicio (IaaS) de Azure.

La aplicación del departamento de servicios que se usa en este ejemplo, osTicket, se proporciona como software de código abierto. Si quiere utilizarla para sus propias pruebas, puede descargarla desde GitHub.

Impulsores del negocio

El equipo directivo de TI ha trabajado estrechamente con sus socios comerciales para comprender lo quieren lograr con esta migración:

  • Abordar el crecimiento del negocio. Contoso está creciendo y, como resultado, sus sistemas locales e infraestructura están bajo presión.
  • Limitar el riesgo. La aplicación de consola de servicio es fundamental para la actividad de Contoso. Contoso quiere moverla a Azure sin ningún riesgo.
  • Extensión. Contoso no quiere cambiar la aplicación en este momento. Quiere asegurarse de que la aplicación es estable.

Objetivos de la migración

El equipo de la nube de Contoso ha definido los objetivos de esta migración con el fin de determinar el mejor método para llevarla a cabo:

  • Tras la migración, la aplicación de Azure debe tener las mismas funcionalidades de rendimiento que las que tiene actualmente en el entorno de VMware local de la empresa. La aplicación seguirá siendo tan imprescindible en la nube como lo ha sido en el entorno local.
  • Contoso no quiere invertir en esta aplicación. Es importante para la empresa, pero en su formato actual Contoso solo quiere trasladarla a la nube de forma segura.
  • Contoso no quiere cambiar el modelo de operaciones de esta aplicación. Quiere interactuar con la aplicación en la nube de la misma manera que lo hace ahora.
  • Contoso no quiere cambiar la funcionalidad de la aplicación. Solo cambiará su ubicación.
  • Tras haber completado un par de migraciones de aplicaciones de Windows, Contoso desea aprender a usar una infraestructura basada en Linux en Azure.

Diseño de la solución

Después de precisar los objetivos y requisitos, Contoso diseña y revisa una solución de implementación e identifica el proceso de migración. También se identifican los servicios de Azure que usará Contoso para la migración.

Aplicación actual

  • La aplicación osTicket se distribuye en niveles entre dos máquinas virtuales (OSTICKETWEB y OSTICKETMYSQL).
  • Las máquinas virtuales se encuentran en el host de VMware ESXi contosohost1.contoso.com (versión 6.5).
  • El entorno de VMware se administra con vCenter Server 6.5 (vcenter.contoso.com) y se ejecuta en una máquina virtual.
  • Contoso tiene un centro de datos local (contoso-datacenter) con un controlador de dominio local (contosodc1).

Arquitectura propuesta

  • Dado que la aplicación es para una carga de trabajo de producción, las máquinas virtuales de Azure residirán en el grupo de recursos de producción ContosoRG.
  • Las máquinas virtuales se migrarán a la región principal (Este de EE. UU. 2) y se colocarán en la red de producción (VNET-PROD-EUS2):
    • La máquina virtual web residirá en la subred de front-end (PROD-FE-EUS2).
    • La máquina virtual de base de datos residirá en la subred de la base de datos (PROD-DB-EUS2).
  • Las VM locales del centro de datos de Contoso se retirarán después de realizar la migración.

Diagrama de la arquitectura del escenario

Revisión de la solución

Contoso evalúa el diseño propuesto y crea una lista de ventajas y desventajas.

Consideración Detalles
Ventajas Las dos máquinas virtuales de aplicaciones se moverán a Azure sin cambios, de forma que se simplifica la migración.

Dado que Contoso usa un enfoque lift-and-shift para ambas máquinas virtuales de aplicaciones, no se necesitan herramientas de configuración ni de migración especiales para la base de datos de aplicación.

Contoso conservará el control total de las máquinas virtuales de aplicaciones en Azure.

Las máquinas virtuales de aplicación ejecutan Ubuntu 16.04-TLS, que es una distribución de Linux aprobada. Obtenga más información sobre Distribuciones de Linux aprobadas en Azure.
Desventajas Las capas de datos y web de la aplicación siguen teniendo un único punto de conmutación por error.

Contoso deberá seguir utilizando la aplicación en máquinas virtuales de Azure en lugar de moverla a un servicio administrado, como Azure App Service y Azure Database for MySQL.

Contoso sabe que al simplificar las cosas con una migración de máquina virtual mediante lift-and-shift, la empresa no está aprovechando al máximo las características proporcionadas por Azure Database for MySQL, entre las que se incluyen alta disponibilidad integrada, rendimiento predecible, escalado sencillo, copias de seguridad automáticas y seguridad integrada.

Proceso de migración

Contoso completará el proceso de migración como se indica a continuación:

  • Como primer paso, contoso prepara y configura componentes de Azure para Azure Migrate: Server Migration y prepara la infraestructura local de VMware.
  • La empresa ya tiene la infraestructura de Azure implementada, por lo que solo tiene que configurar la replicación de las máquinas virtuales con la herramienta Azure Migrate: Herramienta de migración del servidor.
  • Con todo preparado, Contoso puede comenzar a replicar las máquinas virtuales.
  • Una vez que se haya habilitado la replicación y esta se encuentre en funcionamiento, Contoso migrará la máquina virtual, haciendo que conmute por error en Azure.

Diagrama del proceso de migración.

Servicios de Azure

Servicio Descripción Coste
Azure Migrate: Server Migration El servicio orquesta y administra la migración de las aplicaciones y cargas de trabajo locales, así como las instancias de máquinas virtuales de Amazon Web Services (AWS) y Google Cloud Platform (GCP). Durante la replicación en Azure, se incurre en gastos de Azure Storage. Las VM de Azure se crean, y generan gastos, cuando se produce la migración. Obtenga más información sobre tarifas y precios.

Requisitos previos

Esto es lo que Contoso necesita para este escenario.

Requisitos Detalles
Suscripción de Azure En un artículo anterior de esta serie, Contoso creó suscripciones. Si no tiene una suscripción a Azure, cree una cuenta gratuita.

Si crea una cuenta gratuita, será el administrador de su suscripción y podrá realizar todas las acciones.

Si usa una suscripción existente y no es el administrador, solicite al administrador que le asigne permisos de propietario o colaborador.

Si necesita permisos más específicos, consulte Administración del acceso a Site Recovery con el control de acceso basado en rol de Azure (RBAC de Azure).
Infraestructura de Azure Vea cómo Contoso configura una infraestructura de Azure.

Más información sobre los requisitos previos específicos para Azure Migrate: Server Migration.
Servidores locales La versión de la instalación local de vCenter Server debe ser 5.5, 6.0 o 6.5.

Un host ESXi que ejecute la versión 5.5, 6.0 o 6.5.

Una o más máquinas virtuales VMware que se ejecuten en el host ESXi.
Máquinas virtuales locales Revise las distribuciones de Linux que se han aprobado para ejecutarse en Azure.

Pasos del escenario

Así es como Azure realizará la migración:

  • Paso 1: Preparación de Azure para Azure Migrate: Server Migration. Agregar la herramienta Azure Migrate: Server Migration al proyecto de Azure Migrate.
  • Paso 2: Preparación del entorno de VMware local para Azure Migrate: Server Migration. Preparar las cuentas para la detección de máquinas virtuales y preparar la conexión a las máquinas virtuales de Azure tras la migración.
  • Paso 3: Replicación de máquinas virtuales. Configurar la replicación y comenzar a replicar las máquinas virtuales en Azure Storage.
  • Paso 4: Migración de las máquinas virtuales con Azure Migrate: Server Migration. Ejecutar una migración de prueba para garantizar que todo funciona y, luego, ejecutar una migración para mover las máquinas virtuales a Azure.

Paso 1: Preparación de Azure para Azure Migrate: Herramienta Server Migration

Estos son los componentes de Azure que Contoso necesita para migrar las VM a Azure:

  • Una red virtual en la que se encontrarán las máquinas virtuales de Azure cuando se creen durante la migración.
  • Azure Migrate: Server Migration aprovisionada.

Estos componentes se configuran como se muestra a continuación:

  1. Configurar una red. Contoso ya configuró una red que se puede usar para Azure Migrate: Server Migration cuando la empresa implementó la infraestructura de Azure.

    • La aplicación SmartHotel360 es una aplicación de producción. Las máquinas virtuales se migrarán a la red de producción de Azure (VNET-PROD-EUS2) en la región primaria (East US 2).
    • Ambas máquinas virtuales se colocarán en el grupo de recursos ContosoRG, que se usa para los recursos de producción.
    • La máquina virtual de front-end de aplicaciones (OSTICKETWEB) se migrará a la subred de front-end (PROD-FE-EUS2), en la red de producción.
    • La máquina virtual de base de datos de aplicaciones (OSTICKETMYSQL) se migrará a la subred de base de datos (PROD-DB-EUS2), en la red de producción.
  2. Aprovisione la herramienta Azure Migrate:Server Migration: Herramienta de migración del servidor. Con la cuenta de almacenamiento y de red que tiene implementada, Contoso crea un almacén de Recovery Services (ContosoMigrationVault) y lo coloca en el grupo de recursos ContosoFailoverRG de la región primaria (East US 2).

    Captura de pantalla que muestra la herramienta Azure Migrate: Server Migration

¿Necesita más ayuda?

Aprenda cómo configurar la herramienta Azure Migrate: Server Migration.

Paso 2: Preparación del entorno de VMware local para Azure Migrate: Server Migration

Después de la migración a Azure, Contoso quiere poder conectarse a las VM replicadas de Azure. Hay un par de cosas que los administradores de Contoso deben hacer:

  • Para acceder a las máquinas virtuales de Azure a través de Internet, habilitan SSH en la máquina virtual Linux local antes de la migración. En el caso de Ubuntu, este paso se puede realizar mediante el siguiente comando: sudo apt-get ssh install -y.
  • Instale el agente Linux de Azure.
  • Después de ejecutar la migración, pueden comprobar los diagnósticos de arranque para ver una captura de pantalla de la VM.
  • Si esto no funciona, deberán comprobar que la máquina virtual está en ejecución y revisar estas sugerencias de solución de problemas.

¿Necesita más ayuda?

Más información sobre cómo preparar las máquinas virtuales para la migración.

Paso 3: Replicar máquinas virtuales locales

Para que los administradores de Contoso puedan ejecutar una migración a Azure, tienen que configurar y habilitar la replicación.

Una vez finalizada la detección, inicie la replicación de máquinas virtuales de VMware en Azure.

  1. En el proyecto de Azure Migrate, vaya a Servidores>Azure Migrate: Server Migration y seleccione Replicar.

    Captura de pantalla que muestra la opción de replicación.

  2. En Replicar>Configuración de origen>¿Las máquinas están virtualizadas? , seleccione Sí, con VMware vSphere.

  3. En Dispositivo local, seleccione el nombre del dispositivo de Azure Migrate que configuró y, a continuación, seleccione Aceptar.

    Captura de pantalla que muestra la pestaña Configuración de origen.

  4. En Máquinas virtuales, seleccione las máquinas que desea replicar.

    • Si ha ejecutado una evaluación para las máquinas virtuales, puede aplicar las recomendaciones de tamaño y tipo de disco (Premium/estándar) de máquina virtual que sugieren los resultados de dicha evaluación. En ¿Quiere importar la configuración de migración de evaluación de Azure Migrate? , seleccione la opción .
    • Si no ha ejecutado una evaluación o no desea usar la configuración de la evaluación, seleccione la opción No.
    • Si ha decidido usar la evaluación, seleccione el grupo de máquinas virtuales y el nombre de la evaluación.

    Captura de pantalla que muestra la selección de las evaluaciones.

  5. En Máquinas virtuales, busque las máquinas virtuales que necesite y seleccione todas las que desee migrar. Después, seleccione Next: Configuración de destino.

  6. En Configuración de destino, seleccione la suscripción y la región de destino a la que migrará. Especifique el grupo de recursos en el que residirán las máquinas virtuales de Azure después de la migración. En Red virtual, seleccione la red virtual o la subred de Azure a la que se unirán las máquinas virtuales de Azure después de la migración.

  7. En Ventaja híbrida de Azure:

    • Seleccione No si no desea aplicar la Ventaja híbrida de Azure. Luego, seleccione Siguiente.
    • Seleccione si tiene equipos con Windows Server que están incluidos en suscripciones activas de Software Assurance o Windows Server y desea aplicar el beneficio a las máquinas que va a migrar. Luego, seleccione Siguiente.
  8. En Proceso, revise el nombre de la máquina virtual, su tamaño, el tipo de disco del sistema operativo y el conjunto de disponibilidad. Las máquinas virtuales deben cumplir los requisitos de Azure.

    • Tamaño de la VM: si usa las recomendaciones de la evaluación, la lista desplegable de tamaño de máquina virtual contendrá el tamaño recomendado. De lo contrario, Azure Migrate elige un tamaño en función de la coincidencia más cercana en la suscripción de Azure. También puede elegir un tamaño de manera manual en Tamaño de la máquina virtual de Azure.
    • Disco del sistema operativo: especifique el disco del sistema operativo (arranque) de la máquina virtual. Este es el disco que tiene el cargador de arranque y el instalador del sistema operativo.
    • conjunto de disponibilidad: si la máquina virtual debe estar incluida en un conjunto de disponibilidad de Azure después de la migración, especifique el conjunto. El conjunto debe estar en el grupo de recursos de destino que especifique para la migración.
  9. En Discos, especifique si los discos de máquina virtual se deben replicar en Azure. Seleccione el tipo de disco (SSD/HDD estándar o SSD prémium) de Azure. Luego, seleccione Siguiente.

    • Puede excluir discos de la replicación.
    • Si excluye discos, no estarán presentes en la máquina virtual de Azure después de la migración.
  10. En Revisar + iniciar replicación, revise la configuración. A continuación, seleccione Replicar para iniciar la replicación inicial de los servidores.

Nota:

Puede actualizar la configuración de replicación en cualquier momento antes de que esta comience; para ello, vaya a Administrar>Replicación de máquinas. Una vez iniciada la replicación, su configuración no se puede cambiar.

Paso 4: Migrar las VM

Los administradores de Contoso ejecutan una migración de prueba rápida y, a continuación, una migración para mover las máquinas virtuales.

Ejecutar una migración de prueba

  1. En Objetivos de migración>Servidores>Azure Migrate: Server Migration, seleccione Probar servidores migrados.

    Captura de pantalla que muestra la opción Probar servidores migrados.

  2. Mantenga presionada o haga clic con el botón derecho en la máquina virtual que va a probar. Luego, seleccione Migración de prueba.

    Captura de pantalla que muestra el elemento Migración de prueba.

  3. En Migración de prueba, seleccione la red virtual de Azure en la que se ubicará la máquina virtual de Azure después de la migración. Se recomienda usar una red virtual que no sea de producción.

  4. Comienza el trabajo de Migración de prueba. Supervise el trabajo en las notificaciones del portal.

  5. Una vez finalizada la migración, la máquina virtual de Azure migrada se puede ver en Máquinas virtuales en Azure Portal. El nombre de la máquina tiene el sufijo -Test.

  6. Una vez finalizada la prueba, mantenga presionada o haga clic con el botón derecho en la máquina virtual de Azure, en Replicación de máquinas. A continuación, seleccione Limpiar la migración de prueba.

    Captura de pantalla que muestra el elemento Limpiar la migración de prueba.

Migrar las VM

Ahora, los administradores de Contoso ejecutan una migración completa para completar el movimiento.

  1. En el proyecto de Azure Migrate, vaya a Servidores>Azure Migrate: Server Migration y seleccione Replicando servidores.

    Captura de pantalla que muestra la opción Replicando servidores.

  2. En Replicación de máquinas, mantenga presionada o haga clic con el botón derecho en la máquina virtual y seleccione Migrar.

  3. En Migrar>¿Quiere apagar las máquinas virtuales y realizar una migración planificada sin perder datos? , seleccione >Aceptar.

    • De forma predeterminada, Azure Migrate apaga la máquina virtual local y ejecuta una replicación a petición para sincronizar los cambios que se han producido en la máquina virtual desde la última replicación. Esta acción garantiza que no se pierdan datos.
    • Si no desea apagar la VM, seleccione No.
  4. Se inicia un trabajo de migración de la máquina virtual. Realice un seguimiento del trabajo en las notificaciones de Azure.

  5. Una vez finalizado el trabajo, la máquina virtual puede ver y administrar desde la página Máquinas virtuales.

Conexión de la VM a la base de datos

Como último paso del proceso de migración, los administradores de Contoso actualizan la cadena de conexión de la aplicación para que apunte a la base de datos de la aplicación que se ejecuta en la máquina virtual OSTICKETMYSQL.

  1. Establezca una conexión SSH con la máquina virtual OSTICKETWEB mediante PuTTY u otro cliente SSH. La máquina virtual es privada, por lo que debe conectarse mediante la dirección IP privada.

    Captura de pantalla que muestra el panel Conectarse a una máquina virtual.

    Captura de pantalla que muestra la conexión a la base de datos.

  2. Asegúrese de que la máquina virtual OSTICKETWEB pueda comunicarse con la máquina virtual OSTICKETMYSQL. Actualmente, la configuración está codificada de forma rígida con la dirección IP local 172.16.0.43.

    Antes de la actualización:

    Captura de pantalla que muestra la dirección IP antes de la actualización.

    Después de la actualización:

    Captura de pantalla que muestra la dirección IP después de la actualización.

  3. Reinicie el servicio con systemctl restart apache2.

    Captura de pantalla que muestra el reinicio del servicio.

  4. Por último, actualice los registros DNS de OSTICKETWEB y OSTICKETMYSQL en uno de los controladores de dominio de Contoso.

    Captura de pantalla que muestra la actualización de un registro DNS.

    Captura de pantalla que muestra la actualización de un registro DNS.

¿Necesita más ayuda?

Limpiar después de la migración

Al finalizar la migración, los niveles de la aplicación osTicket se ejecutan en las máquinas virtuales de Azure.

Ahora, Contoso debe hacer las siguientes tareas:

  • Quitar las VM locales del inventario de vCenter.
  • Quitar las VM locales de los trabajos de copia de seguridad locales.
  • Actualizar la documentación interna para mostrar la nueva ubicación y las direcciones IP de OSTICKETWEB y OSTICKETMYSQL.
  • Revisar todos los recursos que interactúan con las máquinas virtuales. Actualice la configuración o la documentación pertinentes para que reflejen la nueva configuración.
  • Contoso usaba el servicio Azure Migrate con la VM de administración para evaluar las VM para la migración. Los administradores deben quitar la máquina virtual de migración y las máquinas virtuales web de VMware ESXi Server.

Revisión de la implementación

Con la aplicación en ejecución, Contoso debe proteger y poner plenamente en funcionamiento la nueva infraestructura.

Seguridad

El equipo de seguridad de Contoso revisa las máquinas virtuales OSTICKETWEB y OSTICKETMYSQL para determinar si existe algún problema de seguridad.

  • El equipo revisa los grupos de seguridad de red de las máquinas virtuales para controlar el acceso. Los NSG se usan para garantizar que solo el tráfico permitido puede pasar a la aplicación.
  • El equipo también se plantea proteger los datos de los discos de máquina virtual mediante Azure Disk Encryption y Azure Key Vault.

Para obtener más información, consulte Procedimientos de seguridad recomendados para cargas de trabajo de IaaS de Azure.

Continuidad empresarial y recuperación ante desastres

Para la continuidad empresarial y la recuperación ante desastres, Contoso realiza las siguientes acciones:

Optimización de los costos y licencias

  • Después de implementar los recursos, Contoso asigna etiquetas de Azure según lo definido durante la implementación de la infraestructura de Azure.
  • Contoso no tiene problemas relacionados con las licencias con sus servidores de Ubuntu.
  • Contoso usará Azure Cost Management + Billing para que la compañía permanezca dentro de los presupuestos establecidos por la dirección de TI.