Después de desplegar una aplicación en Serverless App Engine (SAE), esta no es accesible desde la red pública de forma predeterminada. Aunque puede acceder a la aplicación dentro de una Virtual Private Cloud (VPC) mediante la dirección IP privada de una instancia, dicha dirección cambia cuando se actualiza o reinicia la aplicación. Para resolver estos problemas, puede vincular una instancia de Classic Load Balancer (CLB) pública o privada a su aplicación. Esto proporciona una dirección IP fija, ya sea pública o privada, para el acceso y permite el balanceo de carga entre las instancias de la aplicación.
Contexto
Procedimiento
En la página SAE applications, seleccione una región y un namespace, y luego haga clic en el Application ID de la aplicación objetivo para abrir su página de detalles.
-
En la página Basic Information, dentro de la pestaña Application Information, localice la sección Application Access Settings y configure un Public Endpoint o un Private Endpoint según sus necesidades:
Public Endpoint: Vincule una instancia de CLB pública para permitir que los clientes accedan a la aplicación mediante una dirección IP pública.
Private Endpoint: Vincule una instancia de CLB privada para permitir que otras aplicaciones o clientes dentro de la VPC accedan a la aplicación mediante una dirección IP privada.
NotaPara habilitar el acceso a la aplicación mediante direcciones IP tanto públicas como privadas, utilice uno de los siguientes métodos:
Opción 1: Siga las instrucciones de este tema para configurar tanto un Public Endpoint como un Private Endpoint.
Opción 2: Siga las instrucciones de este tema para configurar un Private Endpoint y luego bind an Elastic IP Address (EIP) to the private CLB instance.
Un banner en la parte superior de la página muestra la siguiente información: Antes de utilizar la función de CLB de SAE, revise las restricciones de configuración de CLB. A partir del 1 de abril de 2020, si crea o edita una instancia de CLB en SAE y posteriormente modifica recursos restringidos, como puertos de listener, protocolos o certificados SSL en la consola de CLB, SAE sobrescribirá forzosamente las configuraciones modificadas con las guardadas en SAE. La página también incluye una opción de small traffic ramp-up, que solo está disponible después de configurar el acceso mediante CLB.
Esta sección toma como ejemplo la configuración de un Public Endpoint. Haga clic en Add Internet-facing CLB.
-
Vincular una instancia de CLB a la aplicación: Puede crear una instancia de CLB o seleccionar una instancia de CLB existente.
Crear una instancia de CLB
En el cuadro de diálogo Add Internet-facing CLB, seleccione Create CLB Instance en la lista desplegable CLB Instance.
Una vez completada la configuración, SAE adquiere una nueva instancia de CLB y la vincula a la aplicación.
En la sección Protocol Configuration, seleccione una pestaña de protocolo (HTTP, HTTPS, TCP o UDP) y establezca el HTTP Port y el Container Port. Para agregar más asignaciones de puertos, haga clic en + Add Listener.
Seleccionar un CLB existente
En el cuadro de diálogo Add Internet-facing CLB, seleccione una instancia de CLB existente en la lista desplegable CLB Instance.
La instancia de CLB no puede ser una instancia de rendimiento compartido, una instancia dedicada a Container Service, ni una instancia adquirida por o dedicada a otros productos. Esto evita conflictos en la configuración de listeners.
Para una instancia de CLB pública, asegúrese de que se encuentre en la misma región que la aplicación de SAE. Para una instancia de CLB privada, asegúrese de que esté en la misma VPC. De lo contrario, la instancia de CLB no aparecerá en la lista de selección.
Después de seleccionar una instancia de CLB, elija un protocolo de red en la pestaña HTTP, HTTPS, TCP o UDP, y configure los puertos de listener y de contenedor correspondientes. Haga clic en + Add Listener para agregar varias reglas de listener.
-
Configure al menos un listener como se describe en la siguiente tabla. Para agregar varios listeners, haga clic en Add Listener. Para obtener más información sobre los cuatro tipos de listeners y sus casos de uso, consulte CLB listeners. Cuando termine, haga clic en OK.
Parámetro
Descripción
Ejemplo
HTTP
-
Http port: Puerto público de la instancia de CLB utilizado para el acceso a la aplicación. Valores válidos: 1 a 65535.
-
Container port: Puerto en el que escucha el proceso de su aplicación.
-
Http port: 80
-
Container port: 8080 (puerto predeterminado para servicios web)
HTTPS
-
Https port: Puerto público de la instancia de CLB utilizado para el acceso a la aplicación. Valores válidos: 1 a 65535.
-
SSL certificate: Certificado utilizado para el cifrado SSL. Seleccione un certificado cargado previamente en la lista desplegable.
-
Container port: Puerto en el que escucha el proceso de su aplicación.
NotaSi utiliza un nombre de dominio personalizado a través de HTTPS, debe estar registrado en Alibaba Cloud. Para obtener más información, consulte ICP filing process.
-
Https port: 443
-
SSL certificate: Seleccione un certificado SSL. Si no tiene uno, consulte Create a certificate before you configure an HTTPS listener.
-
Container port: 8080 (puerto predeterminado para servicios web)
TCP
-
Clb port: Puerto público de la instancia de CLB utilizado para el acceso a la aplicación. Valores válidos: 1 a 65535.
-
Container port: Puerto en el que escucha el proceso de su aplicación.
-
Clb port: 21
-
Container port: 8080 (puerto predeterminado para servicios web)
UDP
-
Clb port: Puerto público de la instancia de CLB utilizado para el acceso a la aplicación. Valores válidos: 1 a 65535.
-
Container port: Puerto en el que escucha el proceso de su aplicación.
-
Clb port: 49152
-
Container port: 8080 (puerto predeterminado para servicios web)
Si aparece el mensaje
No available instances for the application. Please scale out and retry, significa que la aplicación se ha reducido a cero instancias. Debe realizar manual scaling antes de poder vincular una instancia de CLB.Los listeners creados en SAE se sincronizan automáticamente con CLB. Puede consultarlos en la consola de Server Load Balancer . Se recomienda gestionar estas configuraciones de listeners exclusivamente en SAE y no en la consola de CLB. Para obtener más información, consulte Avoid configuration conflicts between SAE and CLB .
Evitar conflictos de configuración
-
-
Espere a que se vincule la instancia de CLB. En la sección Public Endpoint, puede consultar la dirección IP y el puerto de la aplicación.
Si la aplicación de SAE cuenta con varias instancias para procesar solicitudes de clientes, CLB utiliza el algoritmo de programación predeterminado round-robin para distribuir el tráfico entre las instancias. Para cambiar el algoritmo de programación, consulte Scheduling algorithm en Add a TCP listener .
Copie la dirección IP y el puerto generados en la barra de direcciones de su navegador y presione Enter para comprobar que la aplicación es accesible.
Al acceder a la aplicación, es posible que también necesite agregar información, como una ruta de acceso, a la URL. Esto depende de la lógica de negocio de la aplicación. El formato completo de la URL es
<protocol>://<IP address>:<port>/<path>; por ejemplo,http://8.154.xx.xx:80/hello.Si no se muestra ninguna dirección IP ni puerto, la vinculación de CLB ha fallado. Consulte los registros de cambios para diagnosticar y solucionar el problema. Para obtener más información, consulte View change records.
(Opcional) Para permitir el acceso de clientes mediante un nombre de dominio personalizado, debe add a DNS record en la consola de DNS para dirigir su nombre de dominio a la dirección IP pública generada por SAE.
Operaciones relacionadas
Eliminar o editar el acceso mediante CLB
Después de eliminar el acceso mediante CLB público o privado, o de eliminar una aplicación, la instancia de CLB adquirida por SAE se libera automáticamente.
Una vez eliminada, la instancia de CLB y su dirección IP no se pueden recuperar. Proceda con precaución.
Después de la eliminación, se recomienda revisar la consola de Server Load Balancer para confirmar que la instancia de CLB se ha liberado. Si aún genera cargos y ya no es necesaria, manually release the CLB instance para evitar costos adicionales.
En la página Basic Information, dentro de la pestaña Application Information, localice el Public Endpoint o Private Endpoint en la sección Application Access Settings y haga clic en el enlace de edición o eliminación según corresponda.
En el cuadro de diálogo que aparece, siga las instrucciones en pantalla y haga clic en OK.