Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Asegúrese de que los equilibradores de carga de AWS usen protocolos de escucha seguros (HTTPS, SSL/TLS)
Creado por Chandini Penmetsa (AWS) y Purushotham G K (AWS)
Resumen
En la nube de Amazon Web Services (AWS), Elastic Load Balancing distribuye automáticamente el tráfico entrante de las aplicaciones entre varios destinos, como instancias de Amazon Elastic Compute Cloud (Amazon EC2), contenedores, direcciones IP y funciones de AWS Lambda. Los equilibradores de carga emplean oyentes para definir los puertos y protocolos que usa el equilibrador de carga para aceptar el tráfico de los usuarios. Los balanceadores de carga de aplicaciones toman las decisiones de enrutamiento en la capa de aplicación y la utilizan. HTTP/HTTPS protocols. Network Load Balancers make routing decisions at the transport layer and use the Transmission Control Protocol (TCP), Transport Layer Security (TLS), User Datagram Protcol (UDP), or TCP_UDP protocols. Classic Load Balancers make routing decisions at either the transport layer, using TCP or Secure Sockets Layer (SSL) protocols, or at the application layer, using HTTP/HTTPS
Es posible que su organización tenga como requisito de seguridad o conformidad que los equilibradores de carga acepten el tráfico de los usuarios únicamente mediante protocolos seguros, como HTTPS o SSL/TLS.
Este patrón proporciona un control de seguridad que usa una EventBridge regla de Amazon para monitorear las llamadas a la CreateListener
ModifyListener
API para los balanceadores de carga de aplicaciones y los balanceadores de carga de red, CreateLoadBalancerListeners
y las llamadas a la CreateLoadBalancer
API para los balanceadores de carga clásicos. Si usa HTTP, TCP/UDP o TCP_UDP para el protocolo de escucha del equilibrador de carga, el control invoca una función de Lambda. La función de Lambda publica un mensaje en un tema de Amazon Simple Notification Service (Amazon SNS) para enviar una notificación con los detalles del equilibrador de carga.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
La dirección de correo electrónico en la que desee recibir la notificación de infracción
Un bucket de Amazon Simple Storage Service (Amazon S3) para almacenar el archivo .zip del código de Lambda.
Limitaciones
Este control de seguridad no comprueba los equilibradores de carga existentes a menos que se actualicen los oyentes del equilibrador de carga.
Este control de seguridad es regional, por lo que debe implementarse en las regiones de AWS que se desee supervisar.
Arquitectura
Pila de tecnología de destino
Función de Lambda
Tema de Amazon SNS
EventBridge regla
Arquitectura de destino

Automatizar y escalar
Si utiliza AWS Organizations, puede utilizar AWS Cloudformation StackSets para implementar esta plantilla en varias cuentas que desee monitorizar.
Herramientas
AWS CloudFormation: AWS CloudFormation es un servicio que le ayuda a modelar y configurar los recursos de AWS mediante el uso de la infraestructura como código.
Amazon EventBridge: Amazon EventBridge ofrece un flujo de datos en tiempo real desde sus propias aplicaciones, aplicaciones de software como servicio (SaaS) y servicios de AWS, y dirige esos datos a objetivos como las funciones Lambda.
AWS Lambda: Lambda admite ejecutar código sin aprovisionar ni administrar servidores.
Amazon S3: Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos altamente escalable que se puede utilizar para una amplia gama de soluciones de almacenamiento, incluidos sitios web, aplicaciones móviles, copias de seguridad y lagos de datos.
Amazon SNS: Amazon Simple Notification Service (Amazon SNS) coordina y gestiona la entrega o el envío de mensajes entre publicadores y clientes, incluyendo los servidores web y las direcciones de correo electrónico. Los suscriptores reciben todos los mensajes publicados de los temas a los que están suscritos y todos los suscriptores de un tema reciben los mismos mensajes.
Prácticas recomendadas
Asegúrese de que el tema de SNS utilizado no sea de acceso público. Para obtener más información, consulte la documentación de AWS.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Defina el bucket de S3. | En la consola de Amazon S3, seleccione o cree un bucket de S3 con un nombre único que no contenga barras diagonales iniciales. Un nombre de bucket de S3 es globalmente único y todas las cuentas de AWS comparten el espacio de nombres. Su bucket de S3 tiene que estar en la misma Región que el equilibrador de carga que se está evaluando. | Arquitecto de la nube |
Cargue el código de Lambda en el bucket de S3. | Cargue el archivo .zip de código de Lambda que se proporciona en la sección «Adjuntos» en el bucket de S3 definido. | Arquitecto de la nube |
Implemente la CloudFormation plantilla de AWS. | En la CloudFormation consola de AWS, en la misma región de AWS que el bucket de S3, implemente la plantilla que se proporciona en la sección «Adjuntos». En la siguiente épica, proporcione los valores de los parámetros. | Arquitecto de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Ponga nombre al bucket de S3. | Escriba el nombre del bucket de S3 que ha creado en la primera épica. | Arquitecto de la nube |
Proporcione el prefijo de Amazon S3. | Proporcione la ubicación del archivo .zip del código de Lambda en su bucket de S3, sin barras diagonales iniciales (por ejemplo, | Arquitecto de la nube |
Proporcione el ARN de tema de SNS. | Si desea usar un tema de SNS existente para notificaciones de infracción, proporcione el nombre de recurso de Amazon (ARN) del tema de SNS. Para crear un tema de SNS nuevo, mantenga el valor como | Arquitecto de la nube |
Proporcione una dirección de correo electrónico. | Proporcione una dirección de correo electrónico activa en la que desea recibir las notificaciones de Amazon SNS. | Arquitecto de la nube |
Defina el nivel de registro. | Defina el nivel y la frecuencia de registro de la función de Lambda. | Arquitecto de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Descargue la plantilla de . | Descarga la CloudFormation plantilla que se proporciona en la sección de adjuntos. | Arquitecto de la nube |
Cree la pila. | En la misma región que el bucket de S3, vaya a la consola de CloudFormation servicio e implemente la plantilla descargada. Consulte la épica anterior para obtener más detalles sobre los parámetros. | Arquitecto de la nube |
Verifique los recursos. | Una vez que la pila se haya creado por completo, acceda a la pestaña Recursos y verifique los recursos. La plantilla creará los siguientes recursos:
| Arquitecto de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Confirmar la suscripción. | Cuando la plantilla se implementa correctamente, si se ha creado un nuevo tema de SNS, se envía un mensaje de correo electrónico de suscripción a la dirección de correo electrónico proporcionada en los parámetros. Debe confirmar esta suscripción de correo electrónico para recibir las notificaciones de infracciones. | Arquitecto de la nube |
Solución de problemas
Problema | Solución |
---|---|
Error al crear la pila. Se produjo un error durante GetObject. Código de error S3: PermanentRedirect. Mensaje de error S3: el bucket está en esta región: xx-xxxx-1. Utilice esta región para volver a intentar la solicitud. | Asegúrese de que la región del bucket de S3 y la región en la que se está implementando la pila sean las mismas. |
Error al crear la pila. El parámetro de tiempo de ejecución de python3.6 ya no es compatible con la creación o actualización de funciones de Lambda de AWS. | Actualice la plantilla descargada en la línea 186 de la versión 3.6 a la 3.9 de Python. |
Recursos relacionados
Conexiones
Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip