Creación de asignaciones de orígenes de eventos entre cuentas en Lambda
Puede utilizar la conectividad privada de varias VPC para conectar una función de Lambda a un clúster de MSK aprovisionado en otra Cuenta de AWS. La conectividad de varias VPC utiliza AWS PrivateLink, que mantiene todo el tráfico dentro de la red de AWS.
nota
No puede crear asignaciones de orígenes de eventos entre cuentas para clústeres de MSK sin servidor.
Para crear una asignación de orígenes de eventos entre cuentas, primero debe configurar la conectividad de múltiples VPC para el clúster de MSK. Al crear la asignación de orígenes de eventos, utilice el ARN de conexión de VPC administrada en lugar del ARN del clúster, como se muestra en los siguientes ejemplos. La operación CreateEventSourceMapping también varía según el tipo de autenticación que utilice el clúster de MSK.
ejemplo — Creación de una asignación de orígenes de eventos entre cuentas para un clúster que utilice la autenticación de IAM
Cuando el clúster utiliza la autenticación basada en roles de IAM, no se necesita un objeto SourceAccessConfiguration. Ejemplo:
aws lambda create-event-source-mapping \ --event-source-arn arn:aws:kafka:
us-east-1:111122223333
:vpc-connection/444455556666/my-cluster-name/51jn98b4-0a61-46cc-b0a6-61g9a3d797d5-7
\ --topics AWSKafkaTopic \ --starting-position LATEST \ --function-name my-kafka-function
ejemplo — Creación de una asignación de orígenes de eventos entre cuentas para un clúster que utilice la autenticación SASL/SCRAM
Si el clúster usa la autenticación SASL/SCRAM, debe incluir un objeto SourceAccessConfiguration que especifique SASL_SCRAM_512_AUTH
y un ARN secreto de Secrets Manager.
Hay dos formas de utilizar los secretos para las asignaciones de orígenes de eventos entre cuentas de Amazon MSK con autenticación SASL/SCRAM:
-
Cree un secreto en la cuenta de la función de Lambda y sincronícelo con el secreto del clúster. Cree una rotación para mantener los dos secretos sincronizados. Esta opción le permite controlar el secreto desde la cuenta de la función.
-
Use el secreto asociado al clúster de MSK. Este secreto debe permitir el acceso entre cuentas a la cuenta de la función de Lambda. Para obtener más información, consulte Permisos para secretos de AWS Secrets Manager para usuarios en una cuenta diferente.
aws lambda create-event-source-mapping \ --event-source-arn arn:aws:kafka:
us-east-1:111122223333
:vpc-connection/444455556666/my-cluster-name/51jn98b4-0a61-46cc-b0a6-61g9a3d797d5-7
\ --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:444455556666:secret:my-secret"}]'
ejemplo — Creación de una asignación de orígenes de eventos entre cuentas para un clúster que utilice la autenticación mTLS
Si el clúster usa la autenticación mTLS, debe incluir un objeto SourceAccessConfiguration que especifique CLIENT_CERTIFICATE_TLS_AUTH
y un ARN secreto de Secrets Manager. El secreto se puede almacenar en la cuenta del clúster o en la cuenta de la función de Lambda.
aws lambda create-event-source-mapping \ --event-source-arn arn:aws:kafka:
us-east-1:111122223333
:vpc-connection/444455556666/my-cluster-name/51jn98b4-0a61-46cc-b0a6-61g9a3d797d5-7
\ --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:444455556666:secret:my-secret"}]'