Utilisation de gRPC avec des distributions CloudFront - Amazon CloudFront

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de gRPC avec des distributions CloudFront

Amazon CloudFront prend en charge gRPC, un framework open source d'appel de procédure à distance (RPC) basé sur HTTP/2. gRPC propose un streaming bidirectionnel et un protocole binaire qui met en mémoire tampon les charges utiles, ce qui le rend adapté aux applications nécessitant des communications à faible latence.

CloudFront reçoit vos requêtes gRPC et les transmet directement à vos origines. Vous pouvez utiliser CloudFront le proxy pour quatre types de services gRPC :

  • RPC unaire

  • RPC de streaming de serveur

  • RPC de streaming client

  • RPC de streaming bidirectionnel

Comment fonctionne le gRPC dans CloudFront

Pour configurer gRPC dans CloudFront, définissez une origine qui fournit un service gRPC comme origine de votre distribution. Vous pouvez utiliser des origines qui fournissent à la fois des services non GRPC et gRPC. CloudFront détermine si la demande entrante est une demande gRPC ou une demande HTTP/HTTPS en fonction de l'en-tête. Content-Type Si l'Content-Typeen-tête d'une demande a la valeur deapplication/grpc, la demande est considérée comme une demande gRPC et la demande CloudFront sera transmise par proxy à votre origine.

Note

Pour activer la prise en charge des demandes gRPC dans une distribution, ajoutez HTTP/2 aux versions HTTP prises en charge et autorisez les méthodes HTTP, notamment POST. Votre point de terminaison d'origine gRPC doit être configuré pour prendre en charge le protocole HTTPS, car il CloudFront ne prend en charge que les connexions gRPC sécurisées (basées sur HTTPS). gRPC prend uniquement en charge le protocole HTTPS. end-to-end Si vous utilisez une origine personnalisée, vérifiez que vos paramètres de Protocole prennent en charge le HTTPS.

Pour activer la prise en charge de gRPC pour votre distribution, procédez comme suit :

  1. Mettez à jour le comportement de cache de votre distribution pour autoriser les méthodes HTTP, y compris la méthode POST.

  2. Après avoir sélectionné la méthode POST, cochez la case gRPC qui apparaît.

  3. Spécifiez HTTP/2 comme l’une des versions HTTP prises en charge.

Pour plus d’informations, consultez les rubriques suivantes :

Étant donné que gRPC est utilisé uniquement pour le trafic d’API ne pouvant pas être mis en cache, vos configurations de cache n’affecteront pas les demandes gRPC. Vous pouvez utiliser une politique de demande d’origine pour ajouter des en-têtes personnalisés aux demandes gRPC envoyées à votre origine gRPC. Vous pouvez l'utiliser CloudFront pour AWS WAF gérer l'accès à votre distribution gRPC, contrôler les robots et protéger vos applications gRPC contre les exploits Web. CloudFront gRPC prend en charge les fonctionsCloudFront .

En plus du statut HTTPS, vous recevrez le statut grpc-status avec votre réponse gRPC. Pour obtenir la liste des valeurs possibles pour grpc-status, consultez Codes de statut et leur utilisation dans gRPC.

Remarques

gRPC ne prend pas en charge les fonctionnalités suivantes : CloudFront

  • Réponses d’erreur personnalisées

  • Le basculement d'origine n'est pas pris en charge avec gRPC, car gRPC utilise une méthode. POST CloudFront bascule vers l'origine secondaire uniquement lorsque la méthode HTTP de la demande du spectateur est GETHEAD, ouOPTIONS.

  • CloudFront transmet les requêtes gRPC directement à l'origine et contourne le Regional Edge Cache (REC). Étant donné que gRPC contourne le REC, gRPC ne prend pas en charge Lambda@Edge ni Origin Shield.

  • gRPC ne prend pas en charge les règles d'inspection du corps des AWS WAF demandes. Si vous avez activé ces règles sur l’ACL web d’une distribution, toute demande utilisant gRPC ignorera les règles d’inspection du corps de la demande. Toutes les autres règles AWS WAF continueront de s’appliquer. Pour de plus amples informations, veuillez consulter Activation d’AWS WAF pour les distributions.