View a markdown version of this page

Amazon S3 汎用バケットへのデータ配信 - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon S3 汎用バケットへのデータ配信

Amazon MSK データ配信を使用すると、Apache Kafka データをソース形式で Amazon S3 汎用バケットに配信してダウンストリーム処理を行い、ミッションクリティカルなワークロードのend-to-endの信頼性を実現できます。これを使用して、ログのアーカイブ、コンプライアンス保持、Kafka リプレイ、AI/ML モデルのトレーニングなどのユースケースのために、Amazon S3 に Kafka データを配置します。このアプローチにより、ワークロードのスケールに応じてコストがかかり、運用が複雑になるセルフマネージド型コネクタパイプラインを構築する必要がなくなります。

統合

  • Amazon MSK Express ブローカー — データソース。

  • Amazon S3 — 汎用オブジェクトの送信先。

  • Amazon CloudWatch — メトリクスと運用ログ。

  • AWS CloudTrail — API 監査ログ記録。

  • AWS KMS — オプションのカスタマー管理の保管時の暗号化。

一般的なユースケース

  • Kafka トピックデータを S3 にアーカイブして、ストレージ、リプレイ、またはダウンストリームバッチ処理を行います。

  • ブローカーロードを追加せずに、1 つのトピックを複数の送信先にファンアウトします。

API の仕様については、Amazon MSK API リファレンスCreateChannelDescribeChannel「」、UpdateChannel「」、DeleteChannel「」、「」、「」、ListChannels「」を参照してください。

データフロー

次の図は、レコードが Amazon MSK Express ブローカートピックからデータ配信チャネルを経由して送信先に流れ、処理不可能なレコードがデッドレターキューにルーティングされる様子を示しています。

データ配信チャネルを介して Amazon MSK Express ブローカートピックから汎用 Amazon S3 バケットへのデータフロー。処理不可能なレコードはデッドレターキューにルーティングされます。

利点

  • 管理するインフラストラクチャがない — コネクタやコンピューティングクラスターがない。チャネルを設定すると、サービスは配信、スケーリング、耐障害性を処理します。

  • ブローカーへの影響なし — チャネルは、ブローカーのスループットを消費したり、プロデューサーとコンシューマーのワークロードに影響を与えたりすることなく、トピックから読み取ります。

  • データによるスケーリング — 最大 10 GBps のデータ配信スループットをサポートし、手動スケーリングは必要ありません。

  • 数分でのデータ鮮度 — 配信されたデータは、トピックに対して生成されてから 5~15 分以内にクエリまたは処理できます。

  • 組み込みエラー処理 — 未処理のレコードはエラーコンテキストを使用してデッドレターキューにルーティングされるため、配信は中断されません。

仕組み

汎用 S3 バケットにデータを配信するには、チャネルを作成します。Express ブローカーを使用する Amazon MSK プロビジョンドクラスターにチャネルを作成します。チャネルは Kafka トピックからレコードを読み取り、設定された送信先に配信します。

Amazon S3 汎用バケットの場合、チャネルは設定可能な出力キーテンプレートを使用して、レコード (JSON、ByteArray、または String) をオブジェクトとして汎用 S3 バケットに書き込みます。

処理できないレコードは、必要なデッドレターキュー (DLQ) S3 バケットにルーティングされます。

注記

チャネルは以前に生成されたデータをバックフィルしません。有効化が配信された後に生成されたデータのみ。

要件とサポートされている設定

  • Express ブローカーを使用する Amazon MSK プロビジョンドクラスター。標準ブローカーと Amazon MSK Serverless はサポートされていません。

  • 少なくとも 1 つの Kafka トピック。

  • デッドレターキュー (DLQ) の Amazon S3 バケット。これは必須です。

  • チャネルがデータを配信するために引き受ける IAM サービスロール。

  • データ鮮度は 5~15 分の間で設定されます。

  • JSONByteArray、または文字列形式のトピックデータ。

  • 配信用の汎用 Amazon S3 バケット。