Criar um mapeamento da origem do evento do Lambda para uma origem de evento do Amazon MSK - AWS Lambda

Criar um mapeamento da origem do evento do Lambda para uma origem de evento do Amazon MSK

Para criar um mapeamento da origem do evento, você pode usar o console do Lambda, a AWS Command Line Interface (CLI) ou um SDK da AWS.

nota

Quando você cria o mapeamento da origem do evento, o Lambda cria uma ENI de hiperplano na sub-rede privada que contém o cluster do MSK, permitindo que o Lambda estabeleça uma conexão segura. Essa ENI de hiperplano permite usar a configuração de sub-rede e grupo de segurança do cluster MSK, não a função do Lambda.

As etapas do console a seguir adicionam um cluster do Amazon MSK como acionador da função do Lambda. Nos bastidores, isso cria um recurso de mapeamento da origem do evento.

Para adicionar um acionador do Amazon MSK à sua função do Lambda (console)
  1. Abra a página Funções no console do Lambda.

  2. Escolha o nome da função do Lambda à qual você deseja adicionar um acionador. do Amazon MSK.

  3. Em Visão geral da função, escolha Adicionar gatilho.

  4. Em Configuração do acionador, escolha MSK.

  5. Para especificar os detalhes do cluster do Kafka, faça o seguinte:

    1. Em Cluster do MSK, selecione seu cluster.

    2. Em Nome do tópico, insira o nome do tópico do Kafka do qual as mensagens serão consumidas.

    3. Em ID do grupo de consumidores, insira o ID de um grupo de consumidores do Kafka para ingressar, se aplicável. Para obter mais informações, consulte ID de grupo de consumidores personalizável no Lambda.

  6. Em Autenticação de cluster, faça as configurações necessárias. Para obter mais informações sobre autenticação de cluster, consulte Configurar métodos de autenticação de cluster no Lambda.

    • Ative a opção Usar autenticação se quiser que o Lambda realize a autenticação com o cluster MSK quando estabelecer uma conexão. A autenticação é recomendada.

    • Se você usar autenticação, em Método de autenticação, escolha o método de autenticação a ser usado.

    • Se você usar autenticação, em Chave do Secrets Manager, escolha a chave do Secrets Manager que contém as credenciais de autenticação necessárias para acessar o cluster.

  7. Em Configuração do pesquisador de eventos, faça as configurações necessárias.

    • Escolha Ativar acionador para habilitar o acionador imediatamente após a criação.

    • Escolha se deseja Configurar o modo provisionado para o mapeamento da origem do evento. Para obter mais informações, consulte Modos de escalabilidade do agente de sondagem de eventos no Lambda.

      • Se configurar o modo provisionado, insira um valor para Mínimo de pesquisadores de eventos, um valor para Máximo de pesquisadores de eventos ou ambos.

    • Em Posição inicial, escolha como quer que o Lambda comece a ler o fluxo. Para obter mais informações, consulte Posições iniciais de sondagem e fluxo no Lambda.

  8. Em Processamento em lotes, faça as configurações necessárias. Para obter mais informações sobre processamento em lotes, consulte Comportamento de lotes.

    1. Em Batch size (Tamanho do lote), insira o número máximo de mensagens a serem recebidas em um único lote.

    2. Em Janela de lotes, insira o número máximo de segundos que o Lambda leva coletando registros antes de invocar a função.

  9. Em Filtragem, faça as configurações necessárias. Para obter mais informações sobre filtragem, consulte Usar a filtragem de eventos com uma origem de eventos do Amazon MSK.

    • Em Critérios de filtro, adicione as definições de critérios de filtro para definir se um evento deve ou não ser processado.

  10. Em Tratamento de falhas, faça as configurações necessárias. Para obter mais informações sobre tratamento de falhas, consulte Capturar lotes descartados para uma origem de eventos do Amazon MSK.

    • Em Destino em caso de falha, especifique o ARN do destino em caso de falha.

  11. Em Tags, insira as tags a serem associadas a esse mapeamento da origem do evento.

  12. Para criar o acionador, selecione Add (Adicionar).

Você também pode criar o mapeamento da origem do evento usando a AWS CLI com o comando create-event-source-mapping. O exemplo a seguir cria um mapeamento da origem do evento para mapear a função do Lambda my-msk-function para o tópico AWSKafkaTopic, começando pela mensagem LATEST. Esse comando também usa o objeto SourceAccessConfiguration para instruir o Lambda a usar a autenticação SASL/SCRAM quando se conectar ao cluster.

aws lambda create-event-source-mapping \ --event-source-arn arn:aws:kafka:us-east-1:111122223333:cluster/my-cluster/fc2f5bdf-fd1b-45ad-85dd-15b4a5a6247e-2 \ --topics AWSKafkaTopic \ --starting-position LATEST \ --function-name my-kafka-function --source-access-configurations '[{"Type": "SASL_SCRAM_512_AUTH","URI": "arn:aws:secretsmanager:us-east-1:111122223333:secret:my-secret"}]'

Se o cluster usar a autenticação mTLS, inclua um objeto SourceAccessConfiguration que especifique a CLIENT_CERTIFICATE_TLS_AUTH e o ARN de uma chave do Secrets Manager. Isso é mostrado no seguinte comando:

aws lambda create-event-source-mapping \ --event-source-arn arn:aws:kafka:us-east-1:111122223333:cluster/my-cluster/fc2f5bdf-fd1b-45ad-85dd-15b4a5a6247e-2 \ --topics AWSKafkaTopic \ --starting-position LATEST \ --function-name my-kafka-function --source-access-configurations '[{"Type": "CLIENT_CERTIFICATE_TLS_AUTH","URI": "arn:aws:secretsmanager:us-east-1:111122223333:secret:my-secret"}]'

Quando o cluster usa a autenticação do IAM, você não precisa de um objeto SourceAccessConfiguration. Isso é mostrado no seguinte comando:

aws lambda create-event-source-mapping \ --event-source-arn arn:aws:kafka:us-east-1:111122223333:cluster/my-cluster/fc2f5bdf-fd1b-45ad-85dd-15b4a5a6247e-2 \ --topics AWSKafkaTopic \ --starting-position LATEST \ --function-name my-kafka-function