Creazione di una mappatura dell'origine eventi Lambda per un'origine eventi Apache Kafka autogestito
Per creare una mappatura delle sorgenti degli eventi, puoi utilizzare la console Lambda, la AWS Command Line Interface(CLI) o un SDK. AWS
I seguenti passaggi della console aggiungono un cluster Apache Kafka autogestito come trigger per la funzione Lambda. Sotto il cofano, questo crea una risorsa di mappatura delle sorgenti degli eventi.
Prerequisiti
-
Un cluster Apache Kafka autogestito. Lambda supporta la versione 0.10.1.0 e successive di Apache Kafka.
-
Un ruolo di esecuzione con l'autorizzazione ad accedere alle risorse AWS utilizzate dal cluster Kafka autogestito.
Aggiunta di un cluster Kafka autogestito (console)
Segui questi passaggi per aggiungere il cluster Apache Kafka autogestito e un argomento Kafka come trigger per la funzione Lambda.
Per aggiungere un trigger Apache Kafka alla funzione Lambda (console)
-
Aprire la pagina Funzioni
della console Lambda. -
Scegliere il nome della funzione Lambda.
-
In Panoramica delle funzioni, scegliere Aggiungi trigger.
-
In Configurazione trigger, effettua le operazioni seguenti:
-
Scegliere il tipo di trigger Apache Kafka.
-
Per Server di bootstrap, inserisci l'indirizzo composto dalla coppia host e porta di un broker Kafka nel cluster, quindi scegli Aggiungi. Ripeti la procedura per ogni broker Kafka del cluster.
-
Per Nome argomento, inserisci il nome dell'argomento Kafka utilizzato per memorizzare i record nel cluster.
-
(Facoltativo) In Dimensioni batch, inserisci il numero massimo di record da ricevere in un singolo batch.
-
Per Finestra batch, immetti il tempo massimo in secondi per la raccolta dei registri da parte di Lambda prima di richiamare la funzione.
-
(Facoltativo) Per ID gruppo di consumer, inserisci l'ID di un gruppo di consumer Kafka a cui aderire.
-
(Facoltativo) Per Posizione di inizio, scegli Più recente per iniziare a leggere il flusso dal record più recente, Orizzonte di taglio per iniziare dal primo record disponibile o In corrispondenza del timestamp per specificare un timestamp da cui iniziare la lettura.
-
(Facoltativo) Per VPC, scegli Amazon VPC per il cluster Kafka. Quindi, scegli Sottoreti VPC e Gruppi di sicurezza VPC.
Questa impostazione è necessaria soltanto se gli utenti del VPC accedono ai broker.
-
(Facoltativo) Per Autenticazione, scegli Aggiungi e quindi esegui le seguenti operazioni:
-
Scegli il protocollo di accesso o di autenticazione dei broker Kafka del cluster.
-
Se il broker Kafka utilizza l'autenticazione SASL/PLAIN, scegli BASIC_AUTH.
-
Se il broker utilizza l'autenticazione SASL/SCRAM, scegli uno dei protocolli SASL_SCRAM.
-
Se stai configurando l'autenticazione mTLS, scegli il protocollo CLIENT_CERTIFICATE_TLS_AUTH.
-
-
Per l'autenticazione SASL/SCRAM o mTLS, scegli la chiave segreta di Secrets Manager che contiene le credenziali per il cluster Kafka.
-
-
(Facoltativo) Per Crittografia, scegli il segreto di Secrets Manager contenente il certificato CA root utilizzato dai broker Kafka per la crittografia TLS, se i broker Kafka utilizzano certificati firmati da una CA privata.
Questa impostazione si applica alla crittografia TLS per SASL/SCRAM o SASL/PLAIN e all'autenticazione MTLS.
-
Per creare il trigger in uno stato disabilitato per il test (scelta consigliata), deselezionare Abilita trigger. Oppure, per attivare immediatamente il trigger, selezionareAbilita trigger.
-
-
Per creare il trigger, scegli Aggiungi.
Aggiunta di un cluster Kafka autogestito (AWS CLI)
Utilizzare i seguenti comandi AWS CLI di esempio per creare e visualizzare un trigger Apache Kafka autogestito per la funzione Lambda.
Utilizzo di SASL/SCRAM
Se gli utenti Kafka accedono ai broker Kafka tramite Internet, è necessario specificare il segreto di Secrets Manager creato per l'autenticazione SASL/SCRAM. Nell'esempio seguente viene utilizzato il comando create-event-source-mappingmy-kafka-function a un argomento Kafka denominato AWSKafkaTopic.
aws lambda create-event-source-mapping \ --topicsAWSKafkaTopic\ --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"]}}'
Utilizzo di un VPC
Se solo gli utenti Kafka all'interno del proprio VPC accedono ai broker Kafka, dovrai specificare VPC, sottorete e gruppo di sicurezza del VPC. Nell'esempio seguente viene utilizzato il comando create-event-source-mappingmy-kafka-function a un argomento Kafka denominato AWSKafkaTopic.
aws lambda create-event-source-mapping \ --topicsAWSKafkaTopic\ --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"]}}'
Visualizzazione dello stato utilizzando AWS CLI
Nell'esempio seguente viene utilizzato il comando get-event-source-mapping
aws lambda get-event-source-mapping --uuiddh38738e-992b-343a-1077-3478934hjkfd7