Tutorial: Migración de un clúster de WebLogic Server a Azure con App de Azure lication Gateway como equilibrador de carga

Este tutorial le guiará en 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 el almacén de claves y usar ese certificado para la terminación TSL/SSL. Aunque todos estos elementos están bien documentados por si mismos, en este tutorial se muestra la forma específica en que todos estos elementos se unen para crear una solución de equilibrio de carga simple y a la vez eficaz para WLS en Azure.

Diagram showing the relationship between WLS, App Gateway, and Key Vault.

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 consiste en usar la compatibilidad integrada con Azure Application Gateway. App Gateway se incluye como parte de la compatibilidad con clústeres 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:

  • Elegir cómo proporcionar el certificado TLS/SSL a App Gateway
  • Implementación de WebLogic Server con Azure Application Gateway en Azure
  • Validación de la correcta implementación de WLS y App Gateway

Requisitos previos

  • OpenSSL en un equipo que ejecute un entorno de línea de comandos de tipo UNIX.

    Aunque podría haber otras herramientas disponibles para la administración de certificados, en este tutorial se usa OpenSSL. Puede encontrar OpenSSL incluido en muchas distribuciones de GNU/Linux, como Ubuntu.

  • Una suscripción de Azure activa.

  • La capacidad de implementar una de las aplicaciones de Azure de WLS enumeradas en Aplicaciones de Azure de Oracle WebLogic Server.

Contexto de migración

Estos son algunos aspectos que se deben tener en cuenta para la migración de instalaciones de WLS locales y Azure Application Gateway. Aunque los pasos de este tutorial son la manera más fácil de poner en funcionamiento un equilibrador de carga delante del clúster de WebLogic Server en Azure, hay muchas otras formas de hacerlo. En esta lista se muestran algunos aspectos que se deben tener en cuenta.

Implementación de WebLogic Server con Application Gateway en Azure

En esta sección, aprenderá a aprovisionar un clúster de WLS con una instancia de Azure Application Gateway que se creará automáticamente como equilibrador de carga para los nodos de clúster. La instancia de 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 la instancia de Application Gateway, use los siguientes pasos.

En primer lugar, comience el proceso de implementación de un clúster de WebLogic Server configurado o dinámico como se describe en la documentación de Oracle, pero vuelva a esta página cuando llegue a Azure Application Gateway, como se muestra aquí.

Azure portal screenshot showing the Azure Application Gateway.

Elegir 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 aplicación, pero solo puede elegir una. En esta sección se explica cada opción para que pueda elegir la mejor para su 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 está conectada a la red pública de Internet o para 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 que contenga el certificado TLS/SSL que usa App Gateway.

Para cargar un certificado TLS/SSL existente firmado, use los pasos siguientes:

  1. Siga los pasos del emisor de certificados para crear un certificado TLS/SSL protegido por contraseña y especifique el nombre DNS del certificado. El tema de cómo elegir un certificado comodín frente a un certificado de nombre único no se trata en este documento. Cualquiera funcionará.
  2. Exporte el certificado del emisor con 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.
  3. Seleccione la sección Azure Application Gateway.
  4. Junto a Connect to Azure Application Gateway (Conectar a Azure Application Gateway), seleccione .
  5. Seleccione Cargar un certificado SSL.
  6. Seleccione el icono del explorador de archivos para el campo Certificado SSL. Navegue hasta el certificado en formato PFX descargado y seleccione Abrir.
  7. Escriba la contraseña del certificado en los campos Contraseña y Confirmar contraseña.
  8. Elija si quiere denegar o no el tráfico público directo a los nodos de los servidores administrados. Si selecciona , los servidores administrados solo serán accesibles a través de App Gateway.

Selección de la configuración de DNS

Los certificados TLS/SSL están asociados a un nombre de dominio DNS en el momento en que los genera el emisor del certificado. 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. Seleccione la sección Configuración de DNS para continuar.

Uso de una zona de Azure DNS existente

Para usar una zona de Azure DNS existente con App Gateway, siga estos pasos:

  1. Junto a Configure Custom DNS Alias (Configurar alias de DNS personalizado), seleccione .
  2. Junto a Usar una zona de Azure DNS existente, seleccione .
  3. Escriba el nombre de la zona de Azure DNS junto a DNS Zone Name (Nombre de zona DNS).
  4. Escriba el grupo de recursos que contiene la zona de Azure DNS del paso anterior.

Permitir que la implementación cree una nueva zona de Azure DNS

A fin de crear una zona de Azure DNS para usarla con App Gateway, siga estos pasos:

  1. Junto a Configure Custom DNS Alias (Configurar alias de DNS personalizado), seleccione .
  2. Junto a Usar una zona de Azure DNS existente, seleccione No.
  3. 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 usarlas con WLS: una para la consola de administración y otra para la puerta de App Gateway. Por ejemplo, si el nombre de la zona DNS era "contoso.net", puede especificar admin y app como valores. La consola de administración estará disponible en "admin.contoso.net" y la App Gateway estará disponible en "app.contoso.net". No olvide configurar la delegación DNS como se describe en Delegación de zonas DNS con Azure DNS.

Azure portal screenshot showing fields for child DNS zones.

Las otras 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 una instancia de Azure Key Vault

Esta opción es adecuada para las cargas de trabajo de producción o que no son de producción, según el certificado TLS/SSL proporcionado. Si no quiere que la implementación cree una instancia de Azure Key Vault, puede identificar una existente o crear una. Esta opción requiere que se almacene el certificado y su contraseña en la instancia de Azure Key Vault antes de continuar. Si ya tiene una instancia de Key Vault que quiera usar, vaya a la sección Creación de un certificado TLS/SSL. De lo contrario, continúe con la sección siguiente.

Crear una instancia de Azure Key Vault

En esta sección se muestra cómo usar Azure Portal para crear una instancia de Azure Key Vault.

  1. En el menú de Azure Portal o en la página principal, seleccione Crear un recurso.
  2. En el cuadro de búsqueda, escriba Key Vault.
  3. En la lista de resultados, elija Key Vault.
  4. En la sección Key Vault, elija Crear.
  5. 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. La necesitará más adelante al implementar WLS.
    • Nombre de Key Vault: se requiere un nombre único. Tome nota del nombre del almacén de claves. La 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.
  6. Seleccione Siguiente: Directiva de acceso.
  7. En Habilitar acceso a, seleccione Azure Resource Manager para la implementación de plantillas.
  8. Seleccione Revisar + crear.
  9. Seleccione Crear.

La creación del almacén de claves es un proceso ligero y, normalmente, se completa en menos de dos minutos. Una vez finalizada la implementación, seleccione Ir al 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 que no esté vacía. Si ya tiene un certificado TLS/SSL de contraseña válido y que no esté vacío en formato .pfx, puede omitir esta sección y pasar a la siguiente. Si el certificado TLS/SSL de contraseña existente válido y que no está vacío, no está en formato .pfx, primero debe convertirlo en un archivo .pfx antes de pasar a la siguiente sección. En caso 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 un secreto en el almacén de claves. Esto es necesario para la implementación de Azure subyacente que crea las instancias de WebLogic Server y Application Gateway.

Siga estos pasos para crear y codificar en Base 64 el certificado:

  1. Cree una clave privada RSA RSA PRIVATE KEY.

    openssl genrsa 2048 > private.pem
    
  2. Cree la clave pública correspondiente.

    openssl req -x509 -new -key private.pem -out public.pem
    

    Tendrá que responder a varias preguntas cuando la herramienta OpenSSL se lo solicite. Estos valores se incluirán en el certificado. En este tutorial se usa un certificado autofirmado, por lo que los valores no son de importancia. Los siguientes valores literales son correctos.

    1. En Nombre de país, escriba un código de dos letras.
    2. En Nombre de estado o provincia, escriba WA.
    3. En Nombre de la organización, escriba Contoso. En Nombre de la unidad organizativa, escriba billing (facturación).
    4. En Nombre común, escriba Contoso.
    5. En Dirección de correo electrónico, escriba billing@contoso.com.
  3. Exporte el certificado como un archivo .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. La necesitará más adelante al implementar WLS.

  4. Codifique en Base 64 el archivo mycert.pfx.

    base64 mycert.pfx > mycert.txt
    

Ahora que tiene una instancia de Key Vault y un certificado TLS/SSL válido con una contraseña que no está vacía, puede almacenar el certificado en el almacén de claves.

Almacenamiento del certificado TLS/SSL en la instancia de 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.

Siga estos pasos para almacenar el certificado:

  1. En Azure Portal, coloque el cursor en la barra de búsqueda de la parte superior de la página y escriba el nombre del almacén de claves que creó anteriormente en el tutorial.
  2. El almacén de claves debe aparecer en el encabezado Recursos. Selecciónelo.
  3. En la sección Configuración, seleccione Secretos.
  4. Seleccione Generar/Importar.
  5. En Opciones de carga, deje el valor predeterminado.
  6. En Nombre, escriba myCertSecretData o cualquier nombre que desee.
  7. En Valor, escriba el contenido del archivo mycert.txt. La longitud del valor y la presencia de caracteres de nueva línea no son un problema para el campo de texto.
  8. Deje los valores restantes con sus valores predeterminados y seleccione Crear.

Siga estos pasos para almacenar la contraseña del certificado:

  1. Se le dirigirá de vuelta a la página Secretos. Seleccione Generar/Importar.
  2. En Opciones de carga, deje el valor predeterminado.
  3. En Nombre, escriba myCertSecretPassword o cualquier nombre que desee.
  4. En Valor, escriba la contraseña del certificado.
  5. Deje los valores restantes con sus valores predeterminados y seleccione Crear.
  6. Se le dirigirá de vuelta a la página Secretos.

Identificación de la instancia de Key Vault

Ahora que la instancia de Key Vault con un certificado TLS/SSL firmado y su contraseña se almacenaron como secretos, vuelva a la sección Azure Application Gateway para identificar la instancia de Key Vault de la implementación.

Azure portal screenshot showing Azure Key Vault fields.

  1. 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.
  2. 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.
  3. En The name of the secret in the specified KeyVault whose value is the SSL Certificate Data (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.
  4. En The name of the secret in the specified KeyVault whose value is the password for the SSL Certificate (Nombre del secreto en el almacén de claves especificado cuyo valor es la contraseña del certificado SSL), escriba myCertSecretData o el nombre que haya especificado anteriormente.
  5. Seleccione Revisar + crear.
  6. Seleccione Crear. Se realizará una validación de que el certificado se puede obtener del almacén de claves y de que su contraseña coincida con el valor almacenado en el almacén de claves. Si se produce un error en este paso de validación, revise las propiedades del almacén de claves, asegúrese de que el certificado se escribió correctamente y asegúrese de que la contraseña se escribió correctamente.
  7. 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 finalice la implementación, seleccione Ir al grupo de recursos. En la lista de recursos del grupo de recursos, seleccione myAppGateway.

La última opción 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: Generar un certificado autofirmado

Esta opción solo es adecuada para las implementaciones de prueba y desarrollo. Con esta opción, se crea automáticamente una instancia de Azure Key Vault y un certificado autofirmado, y se proporciona el certificado a App Gateway.

Para solicitar que la implementación realice estas acciones, use los pasos siguientes:

  1. En la sección Azure Application Gateway, seleccione Generar un certificado autofirmado.
  2. 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.
  3. Si aún no tiene una identidad administrada asignada por el usuario, seleccione Agregar para comenzar el proceso de creación de una.
  4. Para crear una identidad administrada asignada por el usuario, siga los pasos de la sección Creación de una identidad administrada asignada por el usuario de Creación, enumeración, eliminación o asignación de 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 está activada la casilla junto a la misma.

Azure portal screenshot showing fields for generating a self-signed certificate.

Continuar con la implementación

Ahora puede continuar con los demás aspectos de la implementación de WLS tal y como se describe en la documentación de Oracle.

Validación de la correcta implementación de WLS y App Gateway

En esta sección se muestra una técnica para validar rápidamente la correcta implementación 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 la instancia 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.

  1. 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.
  2. 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.
  3. Compruebe que el estado muestra Correcto para cada nodo.

Limpieza de recursos

Si no va a seguir usando el clúster de WLS, elimine el almacén de claves y el clúster de WLS mediante los siguientes pasos:

  1. Vaya a la página de información general de myAppGateway como se muestra en la sección anterior.
  2. En la parte superior de la página, bajo el texto Grupo de recursos, seleccione el grupo de recursos.
  3. Seleccione Eliminar grupo de recursos.
  4. El foco de entrada se establecerá en el campo con la etiqueta ESCRIBA EL NOMBRE DEL GRUPO DE RECURSOS. Escriba el nombre del grupo de recursos como se solicita.
  5. Esto hará que se habilite el botón Eliminar. 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.
  6. Busque el almacén de claves como se indica en el primer paso de la sección Almacenamiento del certificado TLS/SSL en el almacén de claves.
  7. Seleccione Eliminar.
  8. Seleccione Eliminar en el panel que aparece.

Pasos siguientes

Siga explorando las opciones para ejecutar WLS en Azure.