in

Amazon CloudFront ahora acepta las llamadas gRPC de sus aplicaciones | Servicios web de Amazon

A partir de hoy, puede implementar Amazon CloudFront, nuestra red de entrega de contenido (CDN) global, frente a sus puntos finales de API de gRPC.

gRPC es un marco moderno, eficiente e independiente del lenguaje para crear API. se utiliza Búfers de protocolo (protobuf) como su lenguaje de definición de interfaz (IDL), que le permiten definir servicios y tipos de mensajes de forma independiente de la plataforma. Con gRPC, la comunicación entre servicios se logra a través de llamadas a procedimientos remotos (RPC) ligeras y de alto rendimiento a través de HTTP/2. Esto promueve una comunicación eficiente y de baja latencia entre servicios, lo que lo hace ideal para arquitecturas de microservicios.

gRPC ofrece funciones como transmisión bidireccional, control de flujo y generación automática de código para un variedad de lenguajes de programación. Es ideal para escenarios en los que se requiere alto rendimiento, comunicación eficiente y transmisión de datos en tiempo real. Si su aplicación necesita manejar una gran cantidad de datos o requiere una comunicación de baja latencia entre el cliente y el servidor, gRPC puede ser una buena opción. Sin embargo, gRPC puede ser más difícil de aprender en comparación con REST. Por ejemplo, gRPC se basa en el formato de serialización protobuf, que requiere que los desarrolladores definan sus estructuras de datos y métodos de servicio en .proto archivos.

Veo dos beneficios de implementar Frente a la nube frente a los puntos finales de la API de gRPC.

Primero, permite reducir la latencia entre la aplicación cliente y la implementación de su API. Frente a la nube ofrece una red global de más de 600 ubicaciones de borde con enrutamiento inteligente al borde más cercano. Las ubicaciones de borde proporcionan terminación TLS y almacenamiento en caché opcional para su contenido estático. Frente a la nube transfiere solicitudes de aplicaciones de clientes a su origen gRPC a través de la red privada de AWS totalmente administrada, de baja latencia y de gran ancho de banda.

En segundo lugar, sus aplicaciones se benefician de servicios de seguridad adicionales implementados en ubicaciones de borde, como el cifrado de tráfico, la validación de los encabezados HTTP a través de AWS Web Application Firewall y la protección AWS Shield Standard contra ataques de denegación de servicio distribuido (DDoS).

Veámoslo en acción
Para iniciar esta demostración, utilizo el Demostración de guía de ruta de gRPC de el repositorio oficial de código gRPC. Implemento esta aplicación de ejemplo en un contenedor para facilitar la implementación (pero también se admite cualquier otra opción de implementación).

yo uso esto Dockerfile

FROM python:3.7
RUN pip install protobuf grpcio
COPY ./grpc/examples/python/route_guide .
CMD python route_guide_server.py
EXPOSE 50051

Yo también uso el Línea de comando de AWS Copilot implementar mi contenedor en Amazon Elastic Container Service (Amazon ECS). El comando Copilot me solicita que recopile la información necesaria para construir e implementar el contenedor. Luego, crea automáticamente el clúster ECS, el servicio ECS y la tarea ECS. También me crea un certificado TLS y el equilibrador de carga. yo pruebo la aplicación cliente modificando línea 122 para utilizar el nombre DNS del punto final de escucha del equilibrador de carga. También cambio el código de la aplicación cliente para usar grpc.secure_channel en lugar de grpc.insecure_channel porque el equilibrador de carga proporciona a la aplicación un punto final HTTPS.

Demostración de la aplicación cliente gRPC: código fuente con ALB

Cuando estoy seguro de que mi API está implementada y funcionando correctamente, procedo y configuro Frente a la nube.

Primero, en el Frente a la nube sección de la Consola de administración de AWS, selecciono Crear distribución.

En Origen, ingreso el nombre DNS de mi punto final gRPC como Dominio de origen. yo habilito Solo HTTPS como Protocolo y deje el puerto HTTPS como está (443). Entonces elijo un Nombre para la distribución.

CloudFront: agregar origen y nombre

Bajo Espectadorselecciono Solo HTTPS como Política de protocolo del espectador. Luego selecciono OBTENER, CABEZA, OPCIONES, PONER, PUBLICAR, PATCH, BORRAR como Métodos HTTP permitidos. selecciono Permitir para Permitir solicitudes de gRPC a través de HTTP/2.

CloudFront: Política de visor

Bajo Solicitudes de origen y clave de cachéselecciono Todo Visor como Política de solicitud de origen.

La política de caché predeterminada es Caché optimizadopero gRPC no es tráfico de API que se puede almacenar en caché. Por lo tanto, selecciono Almacenamiento en caché deshabilitado como Política de caché.

CloudFront: política de caché

AWS WAF lo ayuda a protegerse contra bots y exploits web comunes que pueden afectar la disponibilidad, comprometer la seguridad o consumir recursos excesivos. Para el tráfico gRPC, AWS WAF puede inspeccionar los encabezados HTTP de la solicitud y aplicar el control de acceso. No inspecciona el cuerpo de la solicitud en formato protobuf.

Para esta demostración, elijo no utilizar AWS WAF. Bajo Cortafuegos de aplicaciones web (WAF)selecciono No habilitar protecciones de seguridad.

CloudFront - Seguridad

También mantengo todas las demás opciones con su valor predeterminado. La compatibilidad con HTTP/2 está seleccionada de forma predeterminada. No lo desactives porque es necesario para gRPC.

Finalmente selecciono Crear distribución.

CloudFront: crear distribución

Solo hay un interruptor para habilitar gRPC además de la configuración habitual. Cuando está activado, con HTTP/2 y HTTP POST habilitados, Frente a la nube detecta el tráfico del cliente gRPC y lo reenvía a su origen gRPC.

Después de unos minutos, la distribución está lista. Copio y pego la URL del punto final del Frente a la nube distribución, y cambio la aplicación del lado del cliente para que apunte a Frente a la nube en lugar del balanceador de carga creado previamente.

Demostración de la aplicación cliente gRPC: código fuente

Pruebo la aplicación nuevamente y funciona.

Demostración de la aplicación cliente gRPC: ejecución

Precios y disponibilidad
Los orígenes de gRPC están disponibles en los más de 600 Frente a la nube ubicaciones perimetrales sin costo adicional. Se aplican las solicitudes habituales y las tarifas de transferencia de datos.

Ve y apunta tu Frente a la nube origen a un punto final gRPC hoy.

— seb



Fuente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

GIPHY App Key not set. Please check settings

El MacBook Air de 15 pulgadas acaba de recibir un loco recorte de precio del Black Friday

El parche Cyberpunk 2077 PS5 Pro no está disponible, confirma el desarrollador

El parche Cyberpunk 2077 PS5 Pro no está disponible, confirma el desarrollador