在 Lambda 中建立跨帳戶事件來源映射 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Lambda 中建立跨帳戶事件來源映射

您可以使用多 VPC 私有連線,將 Lambda 函數連接到不同 AWS 帳戶中的佈建 MSK 叢集。多 VPC 連線使用 AWS PrivateLink,這會將所有流量保留在 AWS 網路中。

注意

您無法為無伺服器 MSK 叢集建立跨帳戶事件來源映射。

若要建立跨帳戶事件來源映射,您必須先為 MSK 叢集設定多 VPC 連線。建立事件來源映射時,請使用受管理的 VPC 連線 ARN 而非叢集 ARN,如下列範例所示。根據 MSK 叢集使用的驗證類型,CreateEventSourceMapping 操作也會有所不同。

範例 — 為使用 IAM 身分驗證的叢集建立跨帳戶的事件來源映射

當叢集使用 IAM 角色型身分驗證時,您不需要 SourceAccessConfiguration 物件。範例:

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
範例 — 為使用 SASL/SCRAM 身分驗證的叢集建立跨帳戶的事件來源映射

如果叢集使用 SASL/SCRAM 身分驗證,則您必須包含指定 SASL_SCRAM_512_AUTH 和 Secrets Manager 機密 ARN 的 SourceAccessConfiguration

透過 SASL/SCRAM 身分驗證,有兩種方式可將機密用於跨帳戶 Amazon MSK 事件來源映射:

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"}]'
範例 — 為使用 mTLS 身分驗證的叢集建立跨帳戶的事件來源映射

如果叢集使用 mTLS 身分驗證,則您必須包含指定 CLIENT_CERTIFICATE_TLS_AUTH 和 Secrets Manager 機密 ARN 的 SourceAccessConfiguration。機密可以儲存在叢集帳戶或 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"}]'