View a markdown version of this page

Points de terminaison de la fonction Web Lambda - AWS Lambda

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.

Points de terminaison de la fonction Web Lambda

Un point de terminaison est une ressource enfant d'une fonction Web qui fournit un point d'entrée réseau pour le trafic HTTP. Chaque point de terminaison inclut un nom de domaine unique avec TLS et un type d'authentification. Il comporte également des paramètres relatifs à la portée géographique, à la mise à l'échelle, à la régulation et au routage du trafic. Une fonction Web peut avoir jusqu'à 10 points de terminaison, chacun ayant une configuration indépendante.

Les sections suivantes décrivent les types de points de terminaison, les noms de domaine, l'authentification et la réplication. Pour plus d'informations sur les paramètres de mise à l'échelle et de limitation, consultez. Comportement de dimensionnement pour les fonctions Web Lambda Pour plus d'informations sur les modes de déploiement automatique et le routage du trafic, consultezModèles de déploiement.

Types de point de terminaison

Le type de point de terminaison détermine la manière dont Lambda déploie votre fonction Web Régions AWS et la manière dont le trafic y est acheminé. Vous choisissez le type de point de terminaison lorsque vous créez le point de terminaison. Le type de point de terminaison ne peut pas être modifié après sa création.

HomeRegion

Exécute votre fonction Web en une seule fois Région AWS. Lambda traite les demandes provenant de la région dans laquelle vous avez créé le point de terminaison. Lambda alloue un seul nom de domaine régional au point de terminaison.

HomeRegionÀ utiliser pour les applications qui ne nécessitent pas de disponibilité multirégionale ou lorsque vous souhaitez commencer par la configuration la plus simple.

MultiRegion

Exécute votre fonction Web en plusieurs fois Régions AWS. Vous spécifiez les régions cibles lorsque vous créez le point de terminaison. Lambda ajoute automatiquement la région d'origine. Le point de terminaison doit inclure au moins une autre région. Pour acheminer le trafic vers une révision, vous définissez les poids de révision du point de terminaison. Lambda réplique ensuite automatiquement votre code et votre configuration dans toutes les régions spécifiées. Lambda alloue un seul nom de domaine global. Il utilise un routage basé sur la latence pour envoyer chaque demande à la région qui fournit généralement la latence la plus faible à l'appelant. Lambda n'effectue pas de basculement basé sur l'état de santé.

Vous gérez la fonction Web à partir d'une seule région d'origine. Lambda gère la réplication vers les autres régions. Les clients se connectent à un seul nom de domaine.

MultiRegionÀ utiliser pour les applications globales qui nécessitent une faible latence pour les utilisateurs situés dans plusieurs zones géographiques.

PerRegion

Exécute votre fonction Web de manière multiple Régions AWS, avec un nom de domaine régional distinct dans chaque région. Vous spécifiez les régions cibles lorsque vous créez le point de terminaison. Lambda ajoute automatiquement la région d'origine. Le point de terminaison doit inclure au moins une autre région. Lambda configure automatiquement le point de terminaison dans chaque région spécifiée. Chaque région possède son propre nom de domaine indépendant.

Contrairement à Lambda MultiRegion, il n'effectue pas de routage automatique basé sur la latence. Vous gérez la manière dont le trafic atteint chaque domaine régional, par exemple avec votre propre politique de routage Route 53 ou une CloudFront distribution.

À utiliser PerRegionlorsque vous devez contrôler les décisions d'itinéraire par région, par exemple pour mettre en œuvre des restrictions géographiques, une logique de basculement personnalisée ou des politiques de Region-specific trafic.

Les régions et le type de point de terminaison ne peuvent pas être mis à jour après leur création. Pour les modifier, créez un nouveau point de terminaison avec la configuration que vous souhaitez, migrez le trafic vers le nom de domaine du nouveau point de terminaison, puis supprimez l'ancien point de terminaison.

Pour plus de détails sur la façon dont Lambda réplique votre fonction Web entre les régions et achemine le trafic, consultez. Multi-Region déploiement

Nom de domaine

Lambda attribue un nom de domaine unique à chaque point de terminaison lorsque vous le créez. Les clients envoient des requêtes HTTPS à ce domaine pour appeler votre fonction Web. Le domaine prend en charge le protocole HTTPS et Lambda gère le certificat TLS du domaine. Vous ne créez, ne renouvelez pas ou ne gérez pas les certificats vous-même.

Le format du nom de domaine dépend du type de point de terminaison :

  • HomeRegionet PerRegion— Chaque région possède un domaine au format :

    domain-id.shard-id.lambda-web.region.on.aws

    Exemple : bcdfghjklmnpqrst.b7t.lambda-web.ap-northeast-3.on.aws

  • MultiRegion— Un domaine global unique au format :

    domain-id.lambda-web.global.on.aws

    Exemple : bcdfghjklmn.lambda-web.global.on.aws

    Lambda utilise le routage basé sur la latence pour sélectionner une région pour chaque client.

Vous pouvez récupérer le nom de domaine à partir de la GetWebFunctionEndpoint réponse ou de la console Lambda une fois que le point de terminaison a atteint l'état actif.

Note

Les points de terminaison Web Function ne prennent pas en charge l'attachement direct d'un nom de domaine personnalisé. Les clients qui appellent le domaine du point de terminaison doivent utiliser le nom Lambda-allocated de domaine. Pour diffuser du trafic sur votre propre domaine, placez une CloudFront distribution Amazon devant le point de terminaison et utilisez le nom de Lambda-allocated domaine comme origine.

Type d’authentification

Le authType paramètre contrôle si Lambda authentifie les requêtes HTTP entrantes avant de les transmettre à votre application. Vous pouvez mettre à jour ce paramètre sur un point de terminaison existant.

ApplicationManaged

Lambda n'authentifie pas les demandes entrantes. Toutes les requêtes HTTP sont transmises directement à votre application. Vous êtes responsable de la gestion de l'authentification dans le code de votre application.

IamAuth

Lambda valide la signature de chaque demande. Signez les demandes avec AWS Signature Version 4 (SigV4) pour PerRegionles domaines HomeRegionet avec Signature Version 4a (SigV4a) pour un MultiRegiondomaine global. Seuls les appelants lambda:InvokeWebFunctionEndpoint autorisés peuvent invoquer le point de terminaison.

Pour plus de détails sur l'authentification, y compris CloudFront l'intégration et les politiques basées sur les ressources, consultez. Contrôle d'accès aux terminaux Lambda Web Function

Auto-deployment mode

Le autoDeploymentMode paramètre contrôle si Lambda achemine automatiquement le trafic vers les nouvelles révisions chaque fois que vous déployez votre application. Vous pouvez mettre à jour ce paramètre sur un point de terminaison existant.

Si vous omettez de le faire autoDeploymentMode dans une demande d'API, la valeur par défaut est. Disabled La console Lambda et l'utilisation des aws lambda-web deploy commandes LatestRevision pour les nouveaux HomeRegion points de terminaison. LatestRevisionn'est pris en charge que pour les HomeRegion points de terminaison, donc MultiRegion et les PerRegion points de terminaison l'utilisent toujours. Disabled Lors de l'utilisationDisabled, spécifiez revisionWeights ce total de 100.

LatestRevision

Lambda achemine automatiquement 100 % du trafic vers la dernière révision active. À utiliser pour les environnements de développement et de mise en scène. LatestRevision le mode n'est disponible que pour les HomeRegionpoints de terminaison.

Désactivé

Lambda ne modifie pas le routage du trafic lorsque vous créez une nouvelle révision. Vous contrôlez le routage manuellement à l'aide des pondérations de révision. À utiliser pour les environnements de production. Le mode désactivé est disponible pour tous les types de terminaux. MultiRegionet les PerRegionterminaux utilisent toujours le mode Disabled.

Pour plus de détails sur les modèles de déploiement, les annulations et le comportement de changement de mode, consultezModèles de déploiement.

Mise à l'échelle et régulation

Chaque point de terminaison possède des paramètres de dimensionnement et de limitation qui contrôlent la capacité. Vous pouvez mettre à jour ces paramètres sur un terminal existant avecupdate-web-function-endpoint. Omettez --scaling-config ou --throttle-config conservez sa valeur actuelle, ou transmettez un objet vide ('{}') pour effacer une valeur précédemment définie. Pour supprimer une limite de débit, transmettez un --throttle-config objet vide. A rateLimit de 0 bloque tout le trafic.

  • maxEnvironments : facultatif. Le nombre maximum d'environnements d'exécution pour le point de terminaison dans chaque région. Lorsqu'il n'est pas défini, le point de terminaison évolue selon les besoins dans les limites des quotas du compte.

  • rateLimit— Nombre maximum de demandes par seconde. Ce paramètre est facultatif. Lorsqu'il n'est pas défini, le point de terminaison est limité par le quota de 10 000 RPS par point de terminaison et par les quotas de compte. La limite de débit s'applique au point de terminaison dans son ensemble, dans tous les environnements d'exécution. Il ne s'agit pas d'une limite par environnement. Pour les points MultiRegionde PerRegionterminaison et les points de terminaison, chaque région applique la limite de manière indépendante. Les demandes excédentaires reçoivent le protocole HTTP 429.

Pour plus de détails sur la façon dont ces paramètres interagissent avec la simultanéité au niveau de la révision et pour obtenir des conseils sur le choix des valeurs, voir. Comportement de dimensionnement pour les fonctions Web Lambda

Création et gestion de points de terminaison

Création d’un point de terminaison

Pour créer un HomeRegion point de terminaison (AWS CLI)
  • aws lambda-web create-web-function-endpoint \ --function-name my-web-app \ --endpoint-name my-endpoint \ --endpoint-type HomeRegion \ --auth-type ApplicationManaged \ --auto-deployment-mode LatestRevision
Pour créer un MultiRegion point de terminaison (AWS CLI)
  • aws lambda-web create-web-function-endpoint \ --function-name my-web-app \ --endpoint-name my-global-endpoint \ --endpoint-type MultiRegion \ --regions us-east-1 eu-west-1 ap-northeast-1 \ --auth-type ApplicationManaged \ --revision-weights '[{"revisionId": "rev-a1b2c", "weight": 100}]'

    MultiRegion et les PerRegion points de terminaison nécessitent des pondérations de révision, car LatestRevisionle déploiement automatique n'est pas disponible pour eux. Pour plus d’informations, consultez Modèles de déploiement.

Répertorier les points de terminaison

aws lambda-web list-web-function-endpoints \ --function-name my-web-app

La réponse inclut le nom, le type, le nom de domaine, l'état et la configuration de chaque point de terminaison.

Obtenir des informations sur les terminaux

aws lambda-web get-web-function-endpoint \ --function-name my-web-app \ --endpoint-name my-endpoint

La réponse inclut le nom de domaine, l'état, le type d'authentification, le mode de déploiement automatique, les paramètres de dimensionnement, les pondérations de révision et (pour MultiRegion et les PerRegion points de terminaison) l'état de chaque région et le statut de mise à jour sur le regionalEndpoints terrain.

Mise à jour d'un terminal

Vous pouvez mettre à jour les propriétés suivantes sur un point de terminaison existant :

  • description

  • authType

  • autoDeploymentMode

  • revisionWeights

  • scalingConfig

  • throttleConfig

Vous ne pouvez pas mettre à jour les propriétés suivantes. Pour les modifier, créez un nouveau point de terminaison avec la configuration que vous souhaitez, migrez le trafic vers le nom de domaine du nouveau point de terminaison, puis supprimez l'ancien point de terminaison.

  • endpointType (HomeRegion, MultiRegion, PerRegion)

  • regions(les régions cibles du terminal)

Suppression d'un point de terminaison

aws lambda-web delete-web-function-endpoint \ --function-name my-web-app \ --endpoint-name my-endpoint

Lorsque vous supprimez un point de terminaison, il passe à l'état Suppression. Lambda arrête de router les nouvelles demandes vers le point de terminaison et retire son nom de domaine. Pour un PerRegion point de terminaison, Lambda retire le nom de domaine dans chaque région. Lambda n'attribue jamais les noms de domaine d'un point de terminaison supprimé à un autre point de terminaison dans aucun compte. Lambda draine les demandes en vol. Il permet aux demandes déjà en cours de se terminer et rejette les nouvelles demandes adressées aux noms de domaine du point de terminaison. Pour les points MultiRegion de PerRegion terminaison et les points de terminaison, Lambda supprime le point de terminaison de toutes les régions. Une fois la suppression terminée, Lambda supprime définitivement le point de terminaison.

La suppression d'un point de terminaison n'entraîne pas la suppression de la fonction Web ni de ses révisions. Les révisions restent disponibles pour être utilisées par d'autres points de terminaison.