Tutorial: Migración de un clúster de WebLogic Server a Azure con Azure Application Gateway como equilibrador de carga
Este tutorial le guía por el proceso de implementación de WebLogic Server (WLS) con Azure Application Gateway. Trata los pasos específicos para crear un almacén de claves, almacenar un certificado TLS/SSL en Key Vault y usar ese certificado para la terminación TLS/SSL. Aunque todos estos elementos están bien documentados en su propio derecho, este tutorial muestra la forma específica de que todos estos elementos se unen para crear una solución de equilibrio de carga simple y eficaz para WLS en Azure.
El equilibrio de carga es una parte esencial de la migración del clúster de Oracle WebLogic Server a Azure. La solución más sencilla es usar la compatibilidad integrada con Azure Application Gateway. App Gateway se incluye como parte de la compatibilidad del clúster de WebLogic en Azure. Para obtener información general sobre la compatibilidad con clústeres de WebLogic en Azure, consulte ¿Qué es Oracle WebLogic Server en Azure?.
En este tutorial, aprenderá a:
- Elección de cómo proporcionar el certificado TLS/SSL a App Gateway
- Implementación de WebLogic Server con Azure Application Gateway en Azure
- Validación correcta de la implementación de WLS y App Gateway
Prerrequisitos
OpenSSL en un equipo que ejecuta un entorno de línea de comandos similar a UNIX.
Aunque podría haber otras herramientas disponibles para la administración de certificados, en este tutorial se usa OpenSSL. Puede encontrar OpenSSL agrupado con muchas distribuciones GNU/Linux, como Ubuntu.
Una suscripción de Azure activa.
- Si no tiene una suscripción de Azure, cree una cuenta gratuita.
La capacidad de implementar una de las aplicaciones de Azure de WLS enumeradas en Oracle WebLogic Server Azure Applications.
Contexto de migración
Estos son algunos aspectos que se deben tener en cuenta sobre la migración de instalaciones locales de WLS y Azure Application Gateway. Aunque los pasos de este tutorial son la manera más fácil de mantener un equilibrador de carga delante del clúster de WebLogic Server en Azure, hay muchas otras maneras de hacerlo. En esta lista se muestran algunas otras cosas que se deben tener en cuenta.
- Si tiene una solución de equilibrio de carga existente, asegúrese de que azure Application Gateway cumple o supera sus funcionalidades. Para obtener un resumen de las funcionalidades de Azure Application Gateway en comparación con otras soluciones de equilibrio de carga de Azure, consulte Introducción a las opciones de equilibrio de carga en Azure.
- Si la solución de equilibrio de carga existente proporciona protección de seguridad frente a exploits y vulnerabilidades comunes, Application Gateway le tiene cubierto. El firewall de aplicaciones web (WAF) integrado de Application Gateway implementa los conjuntos de reglas principales OWASP (Open Web Application Security Project). Para obtener más información sobre la compatibilidad con WAF en Application Gateway, consulte la sección sobre Web Application Firewall de Características de Azure Application Gateway.
- Si la solución de equilibrio de carga existente requiere cifrado TLS/SSL de un extremo a otro, deberá realizar una configuración adicional después de seguir los pasos descritos en esta guía. Consulte la sección Cifrado TLS de un extremo a otro del artículo Introducción a la terminación TLS y a TLS de un extremo a otro con Application Gateway, así como la documentación de Oracle sobre Configuración de SSL en el middleware de Oracle Fusion.
- Si está optimizando para la nube, en esta guía se muestra cómo empezar desde cero con Azure App Gateway y WLS.
- Para obtener una encuesta completa sobre la migración de WebLogic Server a Azure Virtual Machines, consulte Migración de aplicaciones de WebLogic Server a Azure Virtual Machines.
Implementación de WebLogic Server con Application Gateway en Azure
En esta sección se muestra cómo aprovisionar un clúster de WLS con Azure Application Gateway creado automáticamente como equilibrador de carga para los nodos del clúster. Application Gateway usará el certificado TLS/SSL proporcionado para la terminación TLS/SSL. Para más información sobre la terminación TLS/SSL con Application Gateway, consulte Introducción a la terminación TLS y a TLS de un extremo a otro con Application Gateway.
Para crear el clúster de WLS y Application Gateway, siga estos pasos.
En primer lugar, comience el proceso de implementación de un clúster WebLogic Server configurado o dinámico como se describe en la documentación de Oracle, pero vuelva a esta página cuando llegue al Azure Application Gateway, como se muestra aquí.
Elección de cómo proporcionar el certificado TLS/SSL a App Gateway
Tiene varias opciones para proporcionar el certificado TLS/SSL a la puerta de enlace de aplicaciones, pero solo puede elegir uno. En esta sección se explica cada opción para que pueda elegir la mejor para la implementación.
Opción uno: Cargar un certificado TLS/SSL
Esta opción es adecuada para cargas de trabajo de producción en las que App Gateway se enfrenta a la red pública de Internet o para las cargas de trabajo de intranet que requieren TLS/SSL. Al elegir esta opción, se aprovisiona automáticamente una instancia de Azure Key Vault para contener el certificado TLS/SSL que usa App Gateway.
Para cargar un certificado TLS/SSL existente firmado, siga estos pasos:
- Siga los pasos del emisor de certificados para crear un certificado TLS/SSL protegido con contraseña y especificar el nombre DNS del certificado. Cómo elegir entre un certificado comodín y un certificado de nombre único queda fuera del alcance de este documento. Cualquiera funcionará.
- Exporte el certificado desde el emisor mediante el formato de archivo PFX y descárguelo en el equipo local. Si el emisor no admite la exportación como PFX, existen herramientas para convertir muchos formatos de certificado al formato PFX.
- Seleccione la sección Azure Application Gateway.
- Junto a Connect to Azure Application Gateway (Conectar a Azure Application Gateway), seleccione Sí.
- Seleccione Cargar un certificado SSL.
- Seleccione, para el campo certificado SSL, el icono del explorador de archivos
. Navegue hasta el certificado en formato PFX descargado y seleccione Abrir. - Escriba la contraseña del certificado en los cuadros Contraseña y Confirmar contraseña.
- Elija si desea denegar el tráfico público directamente a los nodos de los servidores administrados. Al seleccionar Sí, los servidores administrados solo son accesibles a través de App Gateway.
Selección de configuración de DNS
Los certificados TLS/SSL están asociados a un nombre de dominio DNS en el momento en que el emisor del certificado emite. Siga los pasos de esta sección para configurar la implementación con el nombre DNS del certificado. Puede usar una zona DNS que ya haya creado o permitir que la implementación cree una automáticamente. Seleccione la sección Configuración de DNS para continuar.
Uso de una zona DNS de Azure existente
Para usar una zona DNS de Azure existente con App Gateway, siga estos pasos:
- Junto a Configure Custom DNS Alias (Configurar alias de DNS personalizado), seleccione Sí.
- Junto a Usar una zona de Azure DNS existente, seleccione Sí.
- Escriba el nombre de la Zona DNS de Azure junto a Nombre de Zona DNS.
- Escriba el grupo de recursos que contiene la zona DNS de Azure del paso anterior.
Permitir que la implementación cree una nueva zona DNS de Azure
Para crear una zona dns de Azure que se usará con App Gateway, siga estos pasos:
- Junto a Configure Custom DNS Alias (Configurar alias de DNS personalizado), seleccione Sí.
- Junto a Usar una zona de Azure DNS existente, seleccione No.
- Escriba el nombre de la zona de Azure DNS junto a DNS Zone Name (Nombre de zona DNS). Se creará una nueva zona DNS en el mismo grupo de recursos que WLS.
Por último, especifique los nombres de las zonas DNS secundarias. La implementación creará dos zonas DNS secundarias para su uso con WLS: una para la consola de administración y otra para App Gateway. Por ejemplo, si nombre de zona DNS era contoso.net, podría introducir admin y app como valores. La consola de administración estaría disponible en admin.contoso.net
y la puerta de enlace de aplicaciones estaría disponible en app.contoso.net
. No olvide configurar la delegación DNS como se describe en Delegación de zonas DNS con Azure DNS.
Las demás opciones para proporcionar un certificado TLS/SSL a App Gateway se detallan en las secciones siguientes. Si está satisfecho con la opción elegida, puede ir directamente a la sección Continuar con la implementación.
Opción dos: Identificar un Azure Key Vault
Esta opción es adecuada para cargas de trabajo de producción o no de producción, en función del certificado TLS/SSL proporcionado. Si no desea que la implementación cree una instancia de Azure Key Vault, puede identificar una existente o crearla usted mismo. Esta opción requiere que almacene el certificado y su contraseña en Azure Key Vault antes de continuar. Si tiene un almacén de claves existente que desea usar, vaya a la sección Creación de un certificado TLS/SSL. De lo contrario, continúe con la sección siguiente.
Crear un Azure Key Vault
En esta sección se muestra cómo usar Azure Portal para crear una instancia de Azure Key Vault.
- En el menú de Azure Portal o en la página principal, seleccione Crear un recurso.
- En el cuadro Buscar, escriba Key Vault.
- En la lista de resultados, elija Key Vault.
- En la sección Key Vault, elija Crear.
- En la sección Crear almacén de claves, proporcione la siguiente información:
- Suscripción: Elija una suscripción.
- En Grupo de recursos, elija Crear nuevo y escriba un nombre para el grupo de recursos. Tome nota del nombre del almacén de claves. Lo necesitará más adelante al implementar WLS.
- Nombre del almacén de claves: se requiere un nombre único. Tome nota del nombre del almacén de claves. Lo necesitará más adelante al implementar WLS.
Nota
Puede usar el mismo nombre para el grupo de recursos y el nombre del almacén de claves.
- En el menú desplegable Ubicación, elija una ubicación.
- Deje las restantes opciones con sus valores predeterminados.
- Seleccione Siguiente: Directiva de acceso.
- En Habilitar acceso a, seleccione Azure Resource Manager para la implementación de plantillas.
- Seleccione Revisar + crear.
- Seleccione Crear.
La creación del almacén de claves es un proceso ligero y, normalmente, se completa en menos de dos minutos. Cuando se complete la implementación, seleccione Ir a recurso y continúe con la siguiente sección.
Creación de un certificado TLS/SSL
En esta sección se muestra cómo crear un certificado TLS/SSL autofirmado en un formato adecuado para su uso por Application Gateway implementado con WebLogic Server en Azure. El certificado debe tener una contraseña no vacía. Si ya tiene un certificado TLS/SSL de contraseña no vacío válido en formato .pfx, puede omitir esta sección y pasar a la siguiente. Si tu certificado TLS/SSL de contraseña válido y no vacío no está en el formato de .pfx, conviértelo primero en un archivo .pfx antes de pasar a la siguiente sección. De lo contrario, abra un shell de comandos y escriba los siguientes comandos.
Nota
En esta sección se muestra cómo codificar el certificado en base 64 antes de almacenarlo como secreto en Key Vault. Esto es necesario para la implementación subyacente de Azure que crea webLogic Server y Application Gateway.
Siga estos pasos para crear y codificar el certificado en base 64:
Cree una clave privada RSA
RSA PRIVATE KEY
.openssl genrsa 2048 > private.pem
Cree una clave pública correspondiente.
openssl req -x509 -new -key private.pem -out public.pem
Tendrá que responder a varias preguntas cuando se le solicite la herramienta OpenSSL. Estos valores se incluirán en el certificado. En este tutorial se usa un certificado autofirmado, por lo que los valores son irrelevantes. Los siguientes valores literales son correctos.
- En Nombre de país, escriba un código de dos letras.
- Para Nombre del Estado o Provincia, introduzca WA.
- En Nombre de la organización, escriba Contoso. En Nombre de unidad organizativa, escriba facturación.
- En Nombre común, escriba Contoso.
- En Dirección de correo electrónico, escriba billing@contoso.com.
Exportar el certificado como un archivo de .pfx
openssl pkcs12 -export -in public.pem -inkey private.pem -out mycert.pfx
Escriba la contraseña dos veces. Tome nota de la contraseña. Lo necesitará más adelante al implementar WLS.
Codificación base 64 del archivo mycert.pfx
base64 mycert.pfx > mycert.txt
Ahora que tiene un almacén de claves y un certificado TLS/SSL válido con una contraseña no vacía, puede almacenar el certificado en Key Vault.
Almacenamiento del certificado TLS/SSL en Key Vault
En esta sección se muestra cómo almacenar el certificado y su contraseña en el almacén de claves creado en las secciones anteriores.
Para almacenar el certificado, siga estos pasos:
- En Azure Portal, coloque el cursor en la barra de búsqueda en la parte superior de la página y escriba el nombre del almacén de claves que creó anteriormente en el tutorial.
- El almacén de claves debe aparecer en el encabezado Recursos. Selecciónelo.
- En la sección Configuración, seleccione Secretos.
- Seleccione Generar o importar.
- En Opciones de carga, deje el valor predeterminado.
- En Nombre, escriba
myCertSecretData
o cualquier nombre que desee. - En el campo de Valor , introduzca el contenido del archivo mycert.txt. La longitud del valor y la presencia de nuevas líneas no son un problema para el campo de texto.
- Deje los valores restantes en sus valores predeterminados y seleccione Crear.
Para almacenar la contraseña del certificado, siga estos pasos:
- Se le dirigirá de vuelta a la página Secretos. Seleccione Generar o importar.
- En Opciones de carga, deje el valor predeterminado.
- En Nombre, escriba
myCertSecretPassword
, o el nombre que prefiera. - En Valor, escriba la contraseña del certificado.
- Deje los valores restantes en sus valores predeterminados y seleccione Crear.
- Se le dirigirá de vuelta a la página Secretos.
Identificación de la instancia de Key Vault
Ahora que tiene un almacén de claves con un certificado TLS/SSL firmado y su contraseña almacenada como secreto, vuelva a la sección Azure Application Gateway para identificar el almacén de claves para la implementación.
- En Resource group name in current subscription containing the KeyVault (Nombre del grupo de recursos de la suscripción actual que contiene el almacén de claves), escriba el nombre del grupo de recursos que contiene el almacén de claves que creó anteriormente.
- En Name of the Azure KeyVault containing secrets for the Certificate for SSL Termination (Nombre del almacén de claves de Azure que contiene los secretos del certificado para la terminación SSL), escriba el nombre del almacén de claves.
- En Nombre del secreto en el almacén de claves especificado cuyo valor son los datos del certificado SSL, escriba
myCertSecretData
o el nombre que haya especificado anteriormente. - En Nombre del secreto en keyVault especificado cuyo valor es la contraseña del certificado SSL, escriba
myCertSecretData
o cualquier nombre que haya especificado anteriormente. - Seleccione Revisar + crear.
- Seleccione Crear. Esto validará que el certificado se pueda obtener de Key Vault y que su contraseña coincida con el valor que almacenaste en Key Vault. Si se produce un error en este paso de validación, revise las propiedades de Key Vault, asegúrese de que el certificado se escribió correctamente y asegúrese de que la contraseña se escribió correctamente.
- Cuando vea el mensaje Validación superada, seleccione Crear.
Esto iniciará el proceso de creación del clúster de WLS y la instancia de Application Gateway de front-end, lo que puede tardar unos 15 minutos. Cuando se complete la implementación, seleccione Ir al grupo de recursos. En la lista de recursos del grupo de recursos, seleccione myAppGateway.
La opción final para proporcionar un certificado TLS/SSL a App Gateway se detalla en la sección siguiente. Si está satisfecho con la opción elegida, puede ir directamente a la sección Continuar con la implementación.
Opción tres: Generación de un certificado autofirmado
Esta opción solo es adecuada para las implementaciones de prueba y desarrollo. Con esta opción, se crean automáticamente una instancia de Azure Key Vault y un certificado autofirmado y el certificado se proporciona a App Gateway.
Para solicitar la implementación para realizar estas acciones, siga estos pasos:
- En la sección Azure Application Gateway, seleccione Generar un certificado autofirmado.
- Seleccione una identidad administrada asignada por el usuario. Esto es necesario para permitir que la implementación cree la instancia de Azure Key Vault y el certificado.
- Si aún no tiene una identidad administrada asignada por el usuario, seleccione Agregar para comenzar el proceso de creación de una.
- Para crear una identidad administrada asignada por el usuario, siga los pasos descritos en la sección Creación de una identidad administrada asignada por el usuario de Crear, enumerar, eliminar o asignar un rol a una identidad administrada asignada por el usuario mediante Azure Portal. Una vez que haya seleccionado la identidad administrada asignada por el usuario, asegúrese de que la casilla situada junto a la identidad administrada asignada por el usuario esté activada.
Continuar con la implementación
Ahora puede continuar con los otros aspectos de la implementación de WLS, tal como se describe en la documentación de Oracle.
Validación correcta de la implementación de WLS y App Gateway
En esta sección se muestra una técnica para validar rápidamente la implementación correcta del clúster de WLS y Application Gateway.
Si ha seleccionado Ir al grupo de recursos y, a continuación, myAppGateway al final de la sección anterior, verá la página de información general de Application Gateway. Si no es así, puede escribir myAppGateway
en el cuadro de texto de la parte superior de Azure Portal para buscar esta página y, a continuación, seleccionar el valor correcto que aparece. Asegúrese de seleccionar el que se encuentra en el grupo de recursos que creó para el clúster de WLS. A continuación, complete los pasos siguientes.
- En el panel izquierdo de la página de información general de myAppGateway, desplácese hacia abajo hasta la sección Supervisión y seleccione Estado del back-end.
- Después de que desaparezca el mensaje que indica cargando, debería ver una tabla en el centro de la pantalla que muestra los nodos del clúster configurados como nodos del grupo de back-end.
- Compruebe que el estado muestra Correcto para cada nodo.
Limpieza de recursos
Si no va a seguir usando el clúster de WLS, elimine Key Vault y el clúster de WLS con los pasos siguientes:
- Visite la página de información general de myAppGateway como se muestra en la sección anterior.
- En la parte superior de la página, en el texto grupo de recursos, seleccione el grupo de recursos.
- Seleccione Eliminar grupo de recursos.
- El foco de entrada se establecerá en el campo etiquetado ESCRIBA EL NOMBRE DEL GRUPO DE RECURSOS. Escriba el nombre del grupo de recursos según se solicite.
- Esto hará que el botón Eliminar se habilite. Seleccione el botón Eliminar. Esta operación tardará algún tiempo, pero puede continuar con el paso siguiente mientras se procesa la eliminación.
- Localice el Key Vault siguiendo el primer paso de la sección Almacenar el certificado TLS/SSL en el Key Vault.
- Seleccione Eliminar.
- Seleccione Eliminar en el panel que aparece.
Pasos siguientes
Continúe explorando las opciones para ejecutar WLS en Azure.