Introducción a los servicios de periferia de AWS

Tutoriales prácticos y contenido sobre los conceptos básicos.

Servicios de periferia de AWS

Una región de AWS es una ubicación física en la que AWS agrupa los centros de datos y opera servicios regionales, como EC2 y S3. En el caso específico de las aplicaciones en línea, el tráfico de los usuarios puede atravesar varias redes públicas hasta llegar a una infraestructura regional. Si desea abordar los inconvenientes de atravesar redes no controladas en términos de rendimiento, fiabilidad y seguridad, debería considerar la posibilidad de agregar los servicios de periferia de AWS a su arquitectura. Los servicios de periferia de AWS, como Amazon CloudFront y AWS Global Accelerator, operan en cientos de puntos de presencia (POP) distribuidos en todo el mundo fuera de las regiones de AWS. Se atienda a los usuarios desde estos POP en un plazo promedio de 20 a 30 milisegundos y, cuando es necesario, su tráfico se devuelve a la infraestructura regional a través de la red global de AWS en lugar de hacerlo a través de la red pública de Internet. La infraestructura global de AWS es una infraestructura privada, personalizada, de alta disponibilidad y con baja latencia que se basa en una red de fibra metropolitana global y totalmente redundante que está conectada mediante cables terrestres y transoceánicos por todo el mundo.

Entregue contenidos de forma segura con baja latencia y alta velocidad de transferencia.

Proteja sus aplicaciones web contra vulnerabilidades comunes.

Maximice la disponibilidad y la capacidad de respuesta de las aplicaciones con protección contra ataques DDoS.

Configure y administre las reglas de firewalls de manera centralizada en las cuentas.

Mejore la disponibilidad, el rendimiento y la seguridad de las aplicaciones con la red global de AWS.

Amazon CloudFront, la CDN de AWS

Amazon CloudFront es la red de entrega de contenido (CDN) de Amazon. CloudFront se utiliza para acelerar las aplicaciones web basadas en HTTP(S) y mejorar su disponibilidad y seguridad. CloudFront se puede usar en casos de uso como la entrega completa de sitios web, la protección y aceleración de API, el streaming de video adaptativo y la descarga de software. Para utilizar este servicio, cree una distribución de CloudFront, configure su origen (cualquier origen que tenga un nombre de dominio de acceso público), emita y adjunte un certificado TLS válido mediante Amazon Certificate Manager y, a continuación, configure el servidor de DNS autorizado para que dirija el nombre del dominio de su aplicación web al nombre del dominio generado de la distribución (xyz.cloudfront.net). Durante la fase de resolución de DNS, cuando los usuarios acceden a su aplicación web, se dirige de forma dinámica una solicitud HTTP(S) al mejor POP de CloudFront en términos de latencia y disponibilidad. Una vez que se selecciona el POP, el usuario termina la conexión TCP, incluido el protocolo de enlace TLS, en uno de los servidores del POP y, a continuación, envía la solicitud HTTP. Si el contenido se almacena en caché en una de las capas de caché de CloudFront, dicho servicio atenderá la solicitud localmente. De lo contrario, la solicitud se reenvía al origen. CloudFront tiene dos capas en su infraestructura. La primera capa se basa en las ubicaciones periféricas, en las que se terminan las conexiones de los usuarios y se mitigan los ataques DDoS en las capas 3/4. Proporcionan capacidades de almacenamiento en caché y, si están configuradas, ejecutan CloudFront Functions y aplican reglas de WAF. La segunda capa se basa en cachés de periferia regionales, alojadas en regiones de AWS. Proporciona tiempos de retención de caché más prolongados al mejorar las tasas de aciertos de la caché y ejecuta funciones de Lambda@Edge cuando está configurada. CloudFront optimiza de forma dinámica el uso de estas capas para cada solicitud HTTP en función de su naturaleza. Por ejemplo, las solicitudes HTTP etiquetadas como dinámicas (p. ej., el almacenamiento en caché deshabilitado; las solicitudes POST, PUT o DELETE; las solicitudes de objetos etiquetados como no almacenables en caché mediante el encabezado de respuesta Cache-Control, etc.) omiten las capas de almacenamiento en caché y, como resultado, se envían desde las ubicaciones periféricas directamente a su origen.
Por último, CloudFront ejecuta la lógica en un orden específico. Primero, CloudFront ejecuta sus controles de seguridad nativos (por ejemplo, la política de TLS, el redireccionamiento de HTTP a HTTPS, el geobloqueo o las URL firmadas); luego ejecuta las reglas de una ACL web de AWS WAF si está configurada; después ejecuta el código de una función de periferia si está configura en el evento de la solicitud del espectador; a continuación comprueba su caché si la solicitud se puede almacenar en caché; luego ejecuta el código de Lambda@Edge si está configurado en el evento de la solicitud de origen; y, finalmente, reenvía la solicitud al origen si es necesario. Para obtener más información sobre el ciclo de vida de una solicitud HTTP en las capas de CloudFront, vea la siguiente presentación de re:Invent. Tenga en cuenta que la característica CloudFront Functions no se había lanzado cuando se grabó esta presentación.

AWS WAF para proteger las aplicaciones web en la capa 7

AWS WAF es un firewall de aplicaciones web que se puede utilizar para proteger las aplicaciones web contra las amenazas de nivel de aplicación. Entre las amenazas de nivel de aplicación se incluyen las siguientes:

  • Ataques DDoS (por ejemplo, inundaciones HTTP) que tienen como objetivo consumir los recursos de la aplicación para que no estén disponibles para los usuarios legítimos. 
  • Ataques que intentan aprovechar las vulnerabilidades de nivel de aplicación y luego llevar a cabo actividades malintencionadas, como robar datos o usar sus recursos de manera no autorizada (como la minería de bitcoins). 
  • Ataques que llevan a cabo bots automatizados y que pueden perjudicar a su empresa de diferentes formas, como la apropiación de cuentas y la extracción de contenido. 

Para usar AWS WAF, cree reglas en una ACL web y adjúntelas a los recursos que necesiten protección. La ACL web global se puede adjuntar a las distribuciones de CloudFront y las ACL web regionales se pueden adjuntar a los recursos de la misma región, como los ALB y las puertas de enlace de API. Cuando se adjunta una ACL web de WAF a un recurso, el servicio subyacente del recurso (por ejemplo, CloudFront o ALB) entrega una copia de la solicitud HTTP al servicio AWS WAF para evaluar las reglas configuradas en un milisegundo de un solo dígito. Según la evaluación de las reglas, el servicio AWS WAF indica al servicio subyacente cómo procesar la solicitud (por ejemplo, bloquearla, reenviarla, retarla, etc.). Tenga en cuenta que la lógica de AWS WAF se basa únicamente en los atributos de las solicitudes HTTP (en comparación con los atributos de respuesta).

Una ACL web de WAF recién creada solo contiene una regla predeterminada que permite todas las solicitudes, a la que puede agregar varias reglas de diferentes tipos. En primer lugar, puede crear reglas personalizadas basadas en los atributos (p. ej., IP, encabezados, cookies, URL, etc.) de la solicitud HTTP inspeccionada. Las reglas también se pueden agrupar en grupos de reglas para facilitar su administración. En segundo lugar, puede agregar reglas administradas de AWS o de proveedores en AWS Marketplace, que se agregan como grupos de reglas configurables a su ACL web. Por ejemplo, puede agregar grupos administrados por AWS, como el conjunto de reglas principales y la lista de IP anónimas. Las reglas administradas más avanzadas, como el Control de bots y la Prevención de la apropiación de cuentas, requieren la integración del SDK del cliente. Las reglas se pueden configurar con las siguientes acciones al establecer coincidencias: permitir y contar (con la posibilidad de enviar encabezados en sentido ascendente), bloquear (con la posibilidad de responder con una respuesta personalizada), limitar la velocidad y, por último, retar mediante CAPTCHA o desafíos silenciosos. Las reglas, como las reglas administradas de AWS, emiten etiquetas que pueden usarse en la lógica de las reglas posteriores si la evaluación de WAF las alcanza. Puede configurar sus propias reglas para emitir etiquetas, que estarán disponibles en los registros de WAF.

AWS Global Accelerator, una aceleración en el nivel de red

AWS Global Accelerator es un servicio de redes que mejora el rendimiento, la fiabilidad y la seguridad de sus aplicaciones en línea mediante la infraestructura global de AWS. Como AWS Global Accelerator opera en la capa 4 del modelo OSI, se puede usar con cualquier aplicación TCP o UDP. Algunos ejemplos de casos de uso son los siguientes: juegos multijugador basados en UDP o TCP; voz y video sobre IP; IoT; ingesta de video y cargas FTP; y otros casos de uso, como VPN, Git y las pujas de tecnología de la publicidad. 

AWS Global Accelerator se puede implementar delante de sus equilibradores de carga de red, equilibradores de carga de aplicación, instancias de AWS EC2 e IP elásticas, y cualquiera de estas opciones podría servir como punto de conexión regional para su aplicación. Para usar este servicio, cree un acelerador que proporcione dos direcciones IPv4 globales estáticas de anycast que actúen como un punto de entrada fijo a su aplicación. Con Global Accelerator, puede tener varios puntos de conexión de aplicaciones presentes en una o varias regiones de AWS, pero se puede acceder a todos ellos mediante la misma dirección IP de anycast. A continuación, configure el servidor de DNS autorizado para que dirija el nombre del dominio de la aplicación web a las IP estáticas dedicadas del acelerador. Estas IP de anycast se anuncian en todos los POP de Global Accelerator para dirigir el tráfico de los usuarios al POP más cercano y, a continuación, reenviarlos al punto de conexión regional a través de la red global de AWS.

Recursos de aprendizaje para desarrolladores

  • Prioridad
1

¿Le resultó útil esta página?