View a markdown version of this page

Création d’un mappage des sources d’événements Lambda pour une source d’événements Apache Kafka autogéré - 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.

Création d’un mappage des sources d’événements Lambda pour une source d’événements Apache Kafka autogéré

Pour créer un mappage des sources d’événements, vous pouvez utiliser la console Lambda, AWS Command Line Interface (CLI) ou un SDK AWS.

Les étapes de console suivantes ajoutent un cluster Apache Kafka autogéré comme déclencheur pour votre fonction d'événement Lambda. En arrière-plan, cela crée une ressource de mappage des sources d’événements.

Conditions préalables

  • Cluster Apache Kafka autogéré. Lambda prend en charge Apache Kafka versions 0.10.1.0 et ultérieures.

  • Rôle d'exécution autorisé à accéder aux AWS ressources utilisées par votre cluster Kafka autogéré.

Ajout d’un cluster Kafka autogéré (console)

Suivez ces étapes pour ajouter votre cluster Apache Kafka autogéré et un sujet Kafka comme déclencheur pour votre fonction d'événement Lambda.

Pour ajouter un déclencheur Apache Kafka à votre fonction d'événement Lambda (console)
  1. Ouvrez la page Event Functions de la console Lambda.

  2. Choisissez le nom de votre fonction d'événement Lambda.

  3. Sous Function overview (Vue d’ensemble de la fonction), choisissez Add trigger (Ajouter un déclencheur).

  4. Sous Trigger configuration (Configuration du déclencheur), procédez comme suit :

    1. Choisissez le type de déclencheur Apache Kafka.

    2. Pour Bootstrap servers (Serveurs d’amorçage), entrez l’adresse de paire hôte et port d’un agent Kafka dans votre cluster, puis choisissez Add (Ajouter). Répétez l’opération pour chaque agent Kafka dans le cluster.

    3. Pour Topic name (Nom de rubrique), entrez le nom de la rubrique Kafka utilisée pour stocker les registres dans le cluster.

    4. Si vous configurez le mode provisionné, entrez une valeur pour Minimum Event Sollers, une valeur pour Maximum Event Sollers et une valeur facultative PollerGroupName pour spécifier le regroupement de plusieurs ESM au sein du même VPC source d'événements.

    5. (Facultatif) Pour Batch size (Taille de lot), entrez le nombre maximal de registres à recevoir dans un même lot.

    6. Pour Batch window, veuillez saisir l’intervalle de temps maximal en secondes nécessaire à Lambda pour collecter des enregistrements avant d’invoquer la fonction.

    7. (Facultatif) Pour l’identifiant de groupe de consommateurs, entrez l’identifiant d’un groupe de consommateurs Kafka à rejoindre.

    8. (Facultatif) Pour Position de départ, choisissez Dernier pour commencer à lire le flux à partir du dernier enregistrement, Supprimer l’horizon pour commencer au premier enregistrement disponible ou À l’horodatage pour spécifier un horodatage à partir duquel commencer la lecture.

    9. (Facultatif) Pour VPC, choisissez l’Amazon VPC pour votre cluster Kafka. Ensuite, choisissez le VPC subnets (Sous-réseaux VPC) et les VPC security groups (Groupes de sécurité VPC).

      Ce paramètre est requis si seuls des utilisateurs au sein de votre VPC accèdent à vos courtiers.

    10. (Facultatif) Pour Authentication (Authentification), choisissez Add (Ajouter), puis procédez comme suit :

      1. Choisissez le protocole d’accès ou d’authentification des courtiers Kafka dans votre cluster.

        • Si votre broker Kafka utilise l' SASL/PLAIN authentification, choisissez BASIC_AUTH.

        • Si votre courtier utilise SASL/SCRAM l'authentification, choisissez l'un des protocoles SASL_SCRAM.

        • Si vous configurez l’authentification mTLS, choisissez le protocole CLIENT_CERTIFICATE_TLS_AUTH.

        • Si votre courtier utilise OAuth 2.0, choisissez OAUTHBEARER_AUTH.

        • Si votre courtier utilise le contrôle d'accès IAM, choisissez IAM_AUTH.

        • Si votre courtier accepte les jetons d'identité AWS Web via OAuth 2.0, choisissez IAM_OAUTHBEARER_AUTH.

      2. Pour l' SASL/SCRAMauthentification MTLS ou OAuth 2.0, choisissez la clé secrète Secrets Manager qui contient les informations d'identification de votre cluster Kafka. IAM et IAM avec SASL/OAUTHBEARER authentification n'utilisent pas de secret.

    11. (Facultatif) Pour Encryption (Chiffrement), choisissez le secret Secrets Manager contenant le certificat d’autorité de certification racine que vos courtiers Kafka utilisent pour le chiffrement TLS, si vos courtiers Kafka utilisent des certificats signés par une autorité de certification privée.

      Ce paramètre s'applique au chiffrement TLS pour SASL/SCRAM ou SASL/PLAIN, et à l'authentification MTLS.

    12. Pour créer le déclencheur dans un état désactivé pour le test (recommandé), désactivez Enable trigger (Activer le déclencheur). Ou, pour activer le déclencheur immédiatement, sélectionnezActiver un déclencheur.

  5. Pour créer le déclencheur, choisissez Add (Ajouter).

Ajouter un cluster Kafka autogéré (AWS CLI)

Utilisez les exemples de AWS CLI commandes suivants pour créer et afficher un déclencheur Apache Kafka autogéré pour votre fonction d'événement Lambda.

En utilisant SASL/SCRAM

Si les utilisateurs de Kafka accèdent à vos courtiers Kafka via Internet, spécifiez le secret du Gestionnaire de Secrets que vous avez créé pour SASL/SCRAM l'authentification. L'exemple suivant utilise la commande create-event-source-mapping pour mapper une fonction d'événement Lambda nommée AWS CLI à une rubrique Kafka nommée. my-kafka-function AWSKafkaTopic

aws lambda create-event-source-mapping \ --topics AWSKafkaTopic \ --source-access-configuration Type=SASL_SCRAM_512_AUTH,URI=arn:aws:secretsmanager:us-east-1:111122223333:secret:MyBrokerSecretName \ --function-name arn:aws:lambda:us-east-1:111122223333:function:my-kafka-function \ --self-managed-event-source '{"Endpoints":{"KAFKA_BOOTSTRAP_SERVERS":["abc3.xyz.com:9092", "abc2.xyz.com:9092"]}}'

Utilisation d’un VPC

Si seuls des utilisateurs de Kafka au sein de votre VPC accèdent à vos agents Kafka, vous devez spécifier votre VPC, vos sous-réseaux et votre groupe de sécurité de VPC. L'exemple suivant utilise la commande create-event-source-mapping pour mapper une fonction d'événement Lambda nommée AWS CLI à une rubrique Kafka nommée. my-kafka-function AWSKafkaTopic

aws lambda create-event-source-mapping \ --topics AWSKafkaTopic \ --source-access-configuration '[{"Type": "VPC_SUBNET", "URI": "subnet:subnet-0011001100"}, {"Type": "VPC_SUBNET", "URI": "subnet:subnet-0022002200"}, {"Type": "VPC_SECURITY_GROUP", "URI": "security_group:sg-0123456789"}]' \ --function-name arn:aws:lambda:us-east-1:111122223333:function:my-kafka-function \ --self-managed-event-source '{"Endpoints":{"KAFKA_BOOTSTRAP_SERVERS":["abc3.xyz.com:9092", "abc2.xyz.com:9092"]}}'

Affichage de l'état à l'aide du AWS CLI

L'exemple suivant utilise la AWS CLI commande get-event-source-mapping pour décrire l'état du mappage des sources d'événements que vous avez créé.

aws lambda get-event-source-mapping --uuid dh38738e-992b-343a-1077-3478934hjkfd7