アマゾン ウェブ サービス (AWS) Kinesis は、大規模な分散データ ストリームをリアルタイムで完全に管理できるクラウドベースのサービスです。 このサーバーレス データ サービスは、大量のデータをキャプチャ、処理、保存します。 これは、ほぼすべての業界の何百万もの顧客を持つ、機能的で安全なグローバル クラウド プラットフォームです。 ComcastからHearst Corporationまでの企業が使用しています AWSキネシス.
主要な取り組み




AWS キネシスとは?
AWS Kinesis は、企業が複数のソースから膨大な量のデータを収集、処理、分析できるようにするリアルタイムのデータストリーミングプラットフォームです。完全に管理されたサーバーレスサービスである Kinesis により、組織はビデオストリーミングから高度な分析まで、さまざまなユースケースに対応するスケーラブルで安全なデータパイプラインを構築できます。
このプラットフォームは、それぞれ特定のニーズに合わせて調整された 4 つの主要コンポーネントで構成されています。 Kinesisデータストリームリアルタイムの取り込みとカスタム処理を実現します。 Kinesisデータ消防ホース、データの配信と変換を自動化します。 Kinesis ビデオ ストリーム、安全なビデオデータストリーミング用。 Kinesisデータ分析、リアルタイムのデータ分析と実用的な洞察を提供します。これらのサービスを組み合わせることで、ユーザーは複雑なデータ ワークフローを効率的かつ正確に処理できるようになります。
WS Kinesis は、膨大なデータ ストリームをリアルタイムで実用的な洞察に変換し、企業がよりスマートで迅速な意思決定を行えるようにします。
各コンポーネントのコア機能とアプリケーションをすぐに理解できるように、次の表に AWS Kinesis サービスの横並びの比較を示します。
機能 | ビデオストリーム | データ ファイアホース | データストリーム | データ分析 |
何それがありません | 動画を安全にストリーミングし、保存、再生、分析します | データの配信、変換、圧縮を自動化 | 低レイテンシとスケーラビリティでリアルタイムデータを取り込み、処理します | リアルタイムのデータ変換と実用的な洞察を提供します |
機能 | セットアップには AWS マネジメントコンソールを使用し、WebRTC と API を使用してビデオを安全にストリーミングします。 | AWS および外部の宛先に接続し、データを Parquet や JSON などの形式に変換します。 | データのパーティション分割と保存にシャードを活用し、Lambda や EMR などの AWS サービスと統合します。 | リアルタイムのデータストリーミングと高度な処理のためにApache Flinkなどのオープンソースツールを使用します |
主なユースケース | スマートホーム、監視、AI/ML 向けリアルタイム ビデオ分析 | ログアーカイブ、IoT データの取り込み、分析パイプライン | アプリケーションログ監視、ゲーム分析、Webクリックストリーム | 不正検出、異常検出、リアルタイムダッシュボード、ストリーミングETLワークフロー |
AWS Kinesisの仕組み
AWS Kinesis は、さまざまなソースからの大量のデータを処理するために設計されたリアルタイム データ ストリーミング プラットフォームとして機能します。プロセスは、データ プロデューサー (アプリケーション、IoT デバイス、サーバー) が Kinesis にデータを送信することから始まります。選択したサービスに応じて、Kinesis はデータをリアルタイムでキャプチャ、処理、ルーティングします。
たとえば、Kinesis Data Streams は、データをシャードと呼ばれる小さな単位に分割し、スケーラビリティと低レイテンシーの取り込みを保証します。一方、Kinesis Firehose は、データを自動的に処理して Amazon S3 や Redshift などの送信先に配信し、その途中でデータを変換および圧縮します。
ユーザーは AWS マネジメントコンソール、SDK、または API を通じて Kinesis にアクセスし、パイプラインの設定、パフォーマンスの監視、および他の AWS サービスとの統合を行うことができます。Kinesis は AWS Glue、Lambda、および CloudWatch とのシームレスな統合をサポートしており、エンドツーエンドのデータワークフローを構築するための強力なツールとなっています。サーバーレスアーキテクチャによりインフラストラクチャの管理が不要になり、企業は洞察の抽出とデータ駆動型アプリケーションの構築に集中できます。
セキュリティ
セキュリティは AWS にとって最優先事項であり、Kinesis は保存時と転送時の両方で暗号化を提供し、データのプライバシーを確保するためのロールベースのアクセス制御を提供することで、セキュリティを強化します。さらに、ユーザーは仮想プライベート クラウド内から Kinesis にアクセスするときに VPC エンドポイントを有効にすることで、セキュリティを強化できます。
Kinesis は、データ量に基づいてリソースを動的に調整し、コストを最小限に抑えて高可用性を確保する自動スケーリングなどの強力な機能を提供します。さらに、リアルタイム ストリーミング アプリケーション向けの拡張ファンアウトをサポートし、低レイテンシと高スループットを実現します。
ビデオストリーム
それは何ですか:
Amazon Video Streams は、さまざまな接続デバイスから AWS にビデオをストリーミングする簡単な方法をユーザーに提供します。 それかどうか 機械学習ビデオ ストリームは、ストリーミング データからインフラストラクチャを自動的にスケーリングし、ビデオ データの暗号化、保存、インデックス作成を行います。 これにより、ライブのオンデマンド表示が可能になります。 このプロセスにより、OpenCV、TensorFlow、Apache MxNet などのライブラリとの統合が可能になります。
使い方:
Amazon ビデオ ストリームは、AWS マネジメント コンソールの使用から始まります。 デバイスに Kinesis Video Streams をインストールすると、ユーザーはメディアを AWS にストリーミングして、分析、再生、および保存することができます。 ビデオ ストリームは、カメラ付きデバイスからアマゾン ウェブ サービスにビデオをストリーミングするための特定のプラットフォームを備えています。 これには、インターネット ビデオ ストリーミングやセキュリティ映像の保存が含まれます。 このプラットフォームは、WebRTC のサポートと、アプリケーション プログラミング インターフェイスを使用する接続デバイスも提供します。
データ コンシューマー:
MxNet、HLS ベースのメディア再生、Amazon SageMaker、Amazon Rekognition
利点:
- 最低料金や前払いの義務はありません。
- ユーザーは使用した分だけ料金を支払います。
- ユーザーは、文字通り何百万もの異なるデバイスからビデオをストリーミングできます。
- ユーザーは、リアルタイムのコンピューター支援ビジョン機能を備えたビデオ対応アプリを構築できます。
- ユーザーは、録画およびライブ ビデオ ストリームを再生できます。
- ユーザーは、機械学習アプリケーション用の画像を抽出できます。
- ユーザーは、検索可能で耐久性のあるストレージを利用できます。
- 管理するインフラストラクチャはありません。
ユースケース:
- ユーザーは、ピアツーピアのメディア ストリーミングに参加できます。
- ユーザーは、ビデオ チャット、ビデオ処理、およびビデオ関連の AI/ML に参加できます。
- スマート ホームは、ビデオ ストリームを使用して、ベビー モニター、ドアベル、さまざまな家庭用監視システムなどのデバイスからライブ オーディオとビデオをストリーミングできます。
- ユーザーは、玄関先の人と話すときにリアルタイムの対話を楽しむことができます。
- ユーザーは携帯電話からロボット掃除機を制御できます。
- Secure Video Streams は、Access Management (IAM) と AWS Identity を使用してストリームへのアクセスを提供します。
- 市政府 Video Streams を使用して、信号機やその他の公共施設のカメラからの大量のビデオ データを安全に保存および分析できます。
- Amber Alert システムは、Video Streams を使用した具体的な例です。
- 産業用途には、ビデオ ストリームを使用して、LIDAR や RADAR 信号などのタイム コード データを収集することが含まれます。
- ビデオ ストリームは、さまざまな産業機器からデータを抽出して分析し、それを予測メンテナンスに使用したり、特定の部品の寿命を予測したりするのにも役立ちます。
データ ファイアホース
それは何ですか:
Data Firehose は、ストリーミング データを抽出、キャプチャ、変換し、分析サービスとデータ レイクに配信できるサービスです。 Data Firehose は生のストリーミング データを取得し、Apache Parquet などのさまざまな形式に変換できます。 ユーザーは、配信先を選択し、配信ストリームを作成し、わずか数ステップでリアルタイムでストリーミングを開始できます。
使い方:
Data Firehose を使用すると、ユーザーは、完全に統合された数十の AWS サービスおよびストリーミング先に接続できます。 Firehose は、基本的に、ユーザーが使用できるすべてのデータの安定したストリームであり、更新されたデータが入ってくると、常にデータを配信できます。通過するデータの量は、大幅に増加するか、少しずつ流れていく可能性があります。 すべてのデータは、視覚化、グラフ化、または公開の準備が整うまで処理を続けます。 Data Firehose は、データを次の形式に変換しながら、Amazon Web Services にデータをロードします。 クラウドサービス 基本的に分析目的で使用されています。
データ コンシューマー:
コンシューマーには、Splunk、MongoDB、 Amazonレッドシフト、Amazon Elasticsearch、Amazon S3、および汎用 HTTP エンドポイントです。
利点:
- ユーザーは、送信したデータに対してのみ料金を支払うことができます。
- Data Firehose は、簡単な起動と構成を提供します。
- ユーザーは、パイプラインを処理することなく、データを分析用の特定の形式に変換できます。
- ユーザーは、バッチのサイズを指定し、データのアップロード速度を制御できます。
- 起動後、配信ストリームは柔軟なスケーリングを提供します。
- Firehose は、Apache ORC や Apache Parquet などのデータ形式をサポートできます。
- 保存する前に、Firehose はデータ形式を JSON から ORC 形式または Parquet に変換できます。 これにより、分析とストレージのコストを節約できます。
- ユーザーは分割されたデータを S3 動的に定義されたキーまたは静的なキーを使用します。Data Firehose は異なるキーごとにデータをグループ化します。
- Data Firehose は、さまざまな機能をすべての入力データ レコードに自動的に適用し、変換されたデータを各宛先にロードします。
- Data Firehose は、アップロード後にデータを自動的に暗号化するオプションをユーザーに提供します。 ユーザーは、AWS Key Management 暗号化キーを明確に指定できます。
- Data Firehose は、コンソールと Amazon CloudWatch で見つかるさまざまなメトリクスを備えています。 ユーザーは、これらのメトリックを実装して、配信ストリームを監視し、宛先を変更できます。
ユースケース:
- ユーザーは、機械学習ストリーミング アプリケーションを構築できます。 これは、ユーザーが推論エンドポイントを予測し、データを分析するのに役立ちます。
- Data Firehose は、さまざまなデータ送信先をサポートします。 現在サポートされているものには、Amazon Redshift、Amazon S3、MongoDB、Splunk、Amazon OpenSearch Service、および HTTP エンドポイントが含まれます。
- ユーザーは、イベント管理 (SIEM) ツールとサポートされているセキュリティ情報を使用して、ネットワーク セキュリティを監視できます。
- Firehose は、Zip、Snappy、GZip、Hadoop 互換の Snappy などの圧縮アルゴリズムをサポートしています。
- ユーザーは、リアルタイムの IoT 分析で監視できます。
- ユーザーは Clickstream セッションを作成し、ログ分析ソリューションを作成できます。
- Firehose はいくつかの機能を提供します セキュリティ 機能。
データストリーム
それは何ですか:
データストリームは、耐久性と拡張性を提供し、数十万の異なるソースからギガバイト単位のデータを継続的にキャプチャできるリアルタイムストリーミングサービスです。ユーザーは、サーバーやさまざまなモバイル展開からログイベントを収集できます。このプラットフォームは、セキュリティに重点を置いています。データストリームを使用すると、ユーザーはAWS KMSマスターキーとサーバー側の暗号化システムを使用して機密データを暗号化できます。 Kinesis プロデューサー ライブラリ、ユーザーはデータ ストリームを簡単に作成できます。
使い方:
ユーザーは、Kinesis Data Streams アプリケーションや、Data Streams を使用したその他のタイプのデータ処理アプリケーションを作成できます。 ユーザーは、処理されたレコードをダッシュボードに送信して、アラートの生成、広告戦略の変更、価格の変更に使用することもできます。
データ コンシューマー:
Amazon EC2、Amazon EMR、AWS Lambda、および Kinesis Data Analytics
Kinesis Data Streams は、リアルタイムのデータ取り込みとスケーラビリティに対する比類のない制御を提供し、重要なアプリケーションの低レイテンシ パフォーマンスを保証します。
利点:
- データ ストリームは、集約データをマップ削減クラスターまたはデータ ウェアハウスにロードした後、リアルタイムのデータ集約を提供します。
- Kinesis Data Streams では、レコードがストリームに配置されてからユーザーがそれを取得できるようになるまでの遅延時間があり、これは約 1 秒未満です。
- Data Streams アプリケーションは、データを追加した後、ほぼ瞬時にストリームからデータを消費できます。
- データ ストリームを使用すると、ユーザーはスケールアップまたはスケールダウンできるため、ユーザーは有効期限が切れる前にデータを失うことはありません。
- クライアント ライブラリは、フォールト トレラントなデータ消費をサポートし、サポート データ ストリーム アプリケーションのスケーリングをサポートします。
ユースケース:
- Data Streams は、IT インフラストラクチャ ログ データ、市場データ フィード、Web クリックストリーム データ、アプリケーション ログ、およびソーシャル メディアと連携できます。
- Data Streams は、アプリケーション ログと、わずか数秒で処理できるプッシュ システムを提供します。 これにより、アプリケーションまたはフロントエンド サーバーに障害が発生した場合でも、ログ データが失われるのを防ぐことができます。
- ユーザーは、データを送信して取り込む前に、サーバー上でデータをバッチ処理しません。 これにより、データの取り込みが加速されます。
- ユーザーはデータのバッチを受信するのを待つ必要はありませんが、データがストリーミングされているときにメトリックとアプリケーション ログで作業できます。
- ユーザーは、複数のデータ ストリーム アプリケーションを並行して実行しながら、サイトのユーザビリティ エンゲージメントを分析できます。
- ゲーム会社は、自社のゲーム プラットフォームにデータをフィードできます。
データ分析
それは何ですか:
Data Analytics は、AWS サービス統合、AWS SDK、Apache Beam、Apache Zeppelin、Apache Flink などのオープンソース ライブラリを提供します。ストリーミング データをリアルタイムで変換および分析するためのものです。
使い方:
その主な機能は、追跡および分析プラットフォームとして機能することです。具体的には、目標の設定、高速分析の実行、さまざまなサイトへの追跡コードの追加、イベントの追跡が可能です。Data Analytics と Data Studio を区別することが重要です。Data Studio は Data Analytics と同じデータに多くアクセスできますが、サイトのトラフィックの表示方法が異なります。Data Studio を使用すると、ユーザーは、技術に詳しくなく分析をよく理解していない他のユーザーとデータを共有できます。
データ コンシューマー:
結果は、Lambda 関数、Kinesis Data Firehose 配信ストリーム、または別の Kinesis ストリームに送信されます。
利点:
- ユーザーは数秒でストリーミング データを配信できます。 データをさまざまなサービスに配信するアプリケーションを開発できます。
- ユーザーは、10 を超える Apache Flink コネクタを含む高度な統合機能や、カスタム統合をまとめる機能さえ利用できます。
- わずか数行のコードで、ユーザーは統合機能を変更し、高度な機能を提供できます。
- Apache Flink プリミティブを使用すると、ユーザーはソケット、ディレクトリ、ファイル、またはインターネットからの他のさまざまなソースからの読み取りと書き込みを可能にする統合を構築できます。
ユースケース:
- Data Analytics は AWS Glue スキーマレジストリと互換性があります。サーバーレスで、Apache Avro スキームを使用しながらストリーミングデータを制御および検証できます。追加料金はかかりません。
- データ分析機能のAPI Python , SQL、Scala、Java です。これらは、ストリーミング ETL、ステートフル イベント処理、リアルタイム分析など、さまざまなユース ケースに特化した機能を提供します。
- ユーザーは、以下にデータを配信し、Amazon Simple Storage Service、Amazon OpenSearch Service、Amazon DynamoDB、AWS Glue Schema Registry、Amazon CloudWatch、Amazon Managed Streaming for Apache Kafka の Data Analytics ライブラリを実装できます。
- ユーザーは「XNUMX回限りの処理」を楽しむことができます。 これには、Apache Flink を使用して、処理されたレコードが結果に影響するアプリケーションを構築することが含まれます。 内部サービス メンテナンスなどの中断が発生した場合でも、データは重複データなしで引き続き処理されます。
- ユーザーは、AWS Glue データ カタログ ストアと統合することもできます。 これにより、ユーザーは複数の AWS データセットを検索できます
- データ分析では、入力データ構造を検索して編集するためのスキーマエディタが提供されます。システムは次のような標準データ形式を認識します。 CSV および JSON を自動的に変換します。エディターは使いやすく、データ構造を推測し、ユーザーがさらに改良するのを支援します。
- Data Analytics は、Amazon Kinesis Data Firehose と Data Streams の両方と統合できます。 データ分析を入力ストリームに向けると、データが自動的に読み取られ、解析され、処理できるようになります。
- Data Analytics では、上位 K 分析やストリーミング データの異常検出などの高度な処理機能を使用できます。
AWS Kinesis と Apache Kafka の比較
データ ストリーミング ソリューションでは、AWS Kinesis と Apache Kafka が強力なリアルタイム データ処理機能で評価され、有力候補となっています。適切なソリューションを選択することは、特に初心者にとっては難しい場合があります。このセクションでは、AWS Kinesis と Apache Kafka の両方の特徴と機能を詳しく解説し、情報に基づいた決定を下せるようお手伝いします。
操作
AWS Kinesis は、Amazon Web Services の完全マネージド サービスで、ユーザーはリアルタイムのストリーミング データを大規模に収集、処理、分析できます。Kinesis Data Streams、Kinesis Data Firehose、Kinesis Data Analytics が含まれます。一方、オープンソースの分散ストリーミング プラットフォームである Apache Kafka は、リアルタイム データ パイプラインとストリーミング アプリケーション向けに構築されており、大量のリアルタイム データを効率的に処理するための可用性が高くスケーラブルなメッセージング インフラストラクチャを提供します。
アーキテクチャ
AWS Kinesis と Apache Kafka はアーキテクチャが異なります。Kinesis は AWS がインフラストラクチャを管理するマネージドサービスですが、Kafka ではユーザーが独自のクラスターをセットアップして維持する必要があります。
Kinesis Data Streams は、シャーディングによってデータを複数のストリームに分割し、各シャードが独立してデータを処理できるようにします。これにより、シャードを追加してより多くのデータを処理することで、水平スケーリングがサポートされます。Kinesis Data Firehose は、ストリーミング データを Amazon S3 や Redshift などの送信先に効率的に配信します。一方、Kinesis Data Analytics は、SQL クエリを使用してリアルタイムのデータ分析を提供します。
Kafka はパブリッシュ/サブスクライブ モデルで機能し、プロデューサーがトピックにレコードを送信し、コンシューマーがそれを取得します。Kinesis のシャーディングに似たパーティショニング戦略を利用して、複数のブローカーにデータを分散し、スケーラビリティとフォールト トレランスを強化します。
データ ファイアホースとデータ ストリームの主な違いは何ですか?
主な違いの1つは、各建物のアーキテクチャにあります。たとえば、データはKinesis Data Streamsを介して入力されますが、これは最も基本的なレベルではシャードのグループです。各シャードには独自のデータレコードのシーケンスがあります。Firehose配信ストリームは、 IT自動化S3、Redshift、Splunk などの特定の送信先にデータを送信します。
両者の主な目的も異なります。Data Streams は基本的に低レイテンシのサービスであり、大規模な取り込みを行います。Firehose は一般的にデータ転送および読み込みサービスです。Data Firehose はユーザーが選択した宛先にデータを継続的に読み込みますが、Streams は一般的に処理のためにデータを取り込んで保存します。Firehose は分析のためにデータを保存し、Streams はカスタマイズされたリアルタイム アプリケーションを構築します。
詳細な比較: データ ストリームと Firehose
AWS Kinesis Data Streams と Kinesis Data Firehose は、異なるデータストリーミングのニーズに合わせて設計されており、アーキテクチャ上の重要な違いがあります。Data Streams はシャードを使用してデータをリアルタイムで取り込み、保存、処理し、スケーリングとレイテンシーを細かく制御します。これにより、アプリケーションログ処理やリアルタイム分析などの低レイテンシーのユースケースに最適です。対照的に、Firehose は Amazon S3、Redshift、または Elasticsearchユーザーがシャードやインフラストラクチャを管理する必要なく、データの変換と圧縮を処理します。
Data Streams はカスタム処理ロジックとリアルタイム データ アプリケーションを必要とするシナリオに適していますが、Firehose はバルク データ配信と分析ワークフローに最適です。たとえば、Firehose は IoT データの取り込みやログ ファイルのアーカイブによく使用され、データを変換してストレージや分析サービスにロードする必要があります。一方、Data Streams は、監視ダッシュボードやゲーム プラットフォーム分析など、即時のデータ アクセスを必要とするアプリケーションをサポートします。これらのサービスを組み合わせることで、リアルタイムのストリーミングと処理のニーズに応じた柔軟性が実現します。
LogicMonitor を選ぶ理由
LogicMonitor は AWS Kinesis の高度なモニタリング機能を提供し、IT チームが重要なメトリクスを追跡し、リアルタイムのデータ ストリームを最適化できるようにします。AWS および CloudWatch API とシームレスに統合することで、LogicMonitor はすぐに使用できる LogicModules を提供し、スループット、シャード使用率、エラー率、レイテンシーなどの重要なパフォーマンス メトリクスをモニタリングします。これらのメトリクスにはカスタマイズ可能なダッシュボードから簡単にアクセスでき、インフラストラクチャのパフォーマンスを一元的に表示できます。
LogicMonitor を使用すると、IT チームはレイテンシやエラー率などの指標の異常を特定して、問題を迅速にトラブルシューティングできます。シャード使用率の分析情報により、動的なスケーリング、リソース割り当ての最適化、コストの削減が可能になります。さらに、プロアクティブなアラートにより、潜在的な問題が運用に影響する前に対処し、データ パイプラインをスムーズに実行できます。
Kinesisのメトリクスをオンプレミスや他のシステムからのデータと相関させることで、 クラウドパフォーマンス LogicMonitor は、サービス全体にわたる可観測性を提供します。この包括的なビューにより、IT チームは効率的で信頼性が高く、スケーラブルな Kinesis デプロイメントを維持し、シームレスなリアルタイムのデータ ストリーミングと分析を実現できます。
私たちのブログを購読する
このような記事をあなたの受信箱に直接お届けします