BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AWS Lambda、スキーマレジストリ統合によりKafkaイベントに対するネイティブAvroおよびProtobufサポートを獲得

AWS Lambda、スキーマレジストリ統合によりKafkaイベントに対するネイティブAvroおよびProtobufサポートを獲得

原文リンク(2025-06-27)

AWSは、Provisioned ModeでApache Kafkaイベントソースマッピング(ESM)を利用する際に、AWS LambdaApache AvroおよびProtocol Buffers(Protobuf)形式のイベントに対するネイティブサポートを発表した。同社によると、この機能強化により、AWS Glue Schema Registry(GSR)、Confluent Cloud Schema Registry(CCSR)、および自己管理型Confluent Schema Registry(SCSR)などの人気のあるスキーマレジストリと直接統合することで、効率的なバイナリKafkaイベントの処理が大幅に簡素化される。

以前は、コンパクトなメッセージサイズ、高速なシリアル化とデシリアル化、堅牢なスキーマ進化を評価してKafkaデータにAvroおよびProtobufを使用している組織は、これらのイベントを検証、デシリアル化、フィルタリングするためにLambda関数内でカスタムコードを書く必要があった。この新しい機能により、LambdaのESMはこれらの複雑さをネイティブに処理し、スキーマレジストリ統合ロジックをアプリケーション層からマネージドサービスに移行する。AWS LambdaのプリンシパルエンジニアRajesh Pandey氏は、LinkedInの投稿でこの簡素化を強調した。

複雑なデシリアライザを実装したり、関数内でスキーマ解決を行ったりする必要はありません。設定するだけで、Lambdaがスキーマの取得、検証、デコードをコードが実行される前に処理します。

組み込みの統合により、受信するJSON Schema、Avro、およびProtobufレコードは登録されたスキーマに対して自動的に検証されるため、開発者はこれらの効率的なバイナリ形式を消費およびフィルタリングしながら、データスキーマを集中化し一貫して共有できる。また、開発者はKafkaのオープンソースConsumerRecordsインターフェースを使用して関数を構築し、Powertools for AWS Lambdaを利用してカスタムデシリアル化コードを書くことなくAvroまたはProtobuf生成のビジネスオブジェクトに直接アクセスできる。

Lambda関数は、元のシリアル化形式に関係なく、クリーンで検証されたJSONデータを受け取れるため、開発がさらに簡素化される。イベントフィルタリングルールも上流で設定でき、関数呼び出し前に不要なイベントを破棄することで、計算コストを最適化できる。AWS Serverless HeroのYan Cui氏は、LinkedInでこの利点をさらに強調した

しかし、大きなポイントは、ESMレベルでイベントをフィルタリングできることです(コード内ではなく)、これにより不要なLambda呼び出しが減少し、コスト削減につながる可能性があります。

設定には、Kafka ESMのProvisioned Modeを有効にし、AWS Management Console、AWS CLI、SDK、またはインフラストラクチャ・アズ・コード(IaC)ツール(AWS Serverless Application Management(ASM)やAWS Cloud Development Kit(CDK)など)を介してスキーマレジストリ設定(エンドポイント、認証、検証フィールド)を指定する必要がある。Julian Wood氏とNihar Sheth氏は、AWS Computeブログ投稿で次のように書いている。

この新機能は、Amazon Managed Streaming for Apache Kafka(Amazon MSK)、Confluent Cloud、および自己管理型Kafkaクラスターの両方で動作します。開始するには、既存のKafka ESMをProvisioned Modeに更新し、スキーマレジストリ設定を追加するか、スキーマレジストリ統合を有効にしたProvisioned Modeで新しいESMを作成します。

(出典:AWS Computeブログ投稿

ESMは、更新されたスキーマIDを検出し、最新の定義を取得することでスキーマ進化を自動的に処理する。エラーハンドリングのために、検証やデシリアル化に失敗したイベントは、デバッグ目的でAmazon SQS、SNS、またはS3などの設定された失敗先にルーティングできる。

AWS LambdaのApache AvroおよびProtocol Buffers(Protobuf)形式のイベントは、イスラエル(テルアビブ)、アジアパシフィック(マレーシア)、およびカナダ西部(カルガリー)を除く、AWS Lambda Kafka ESMが利用可能なすべてのAWS商業リージョンで一般提供されている。

作者について

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT