リソースをクリーンアップする - Amazon Kinesis Data Streams

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

リソースをクリーンアップする

Kinesis Data Streams の使用には料金がかかるため、作業が終わったら、ストリームおよび対応する Amazon DynamoDB テーブルは必ず削除してください。レコードを送信したり取得したりしていなくても、ストリームがアクティブなだけでわずかな料金が発生します。その理由として、アクティブなストリームでは、受信レコードを継続的に "リッスン" し、レコードを取得するようにリクエストすることにリソースが使用されるためです。

ストリームおよびテーブルを削除するには
  1. 実行しているプロデューサーおよびコンシューマーをすべてシャットダウンします。

  2. https://console.aws.amazon.com/kinesis で Kinesis コンソールを開きます。

  3. このアプリケーション用に作成したストリーム (StockTradeStream) を選択します 。

  4. [ストリームの削除] を選択します。

  5. で DynamoDB コンソールを開きますhttps://console.aws.amazon.com/dynamodb/

  6. StockTradesProcessor テーブルを削除します。

[概要]

大量のデータをほぼリアルタイムで処理する場合、複雑なコードを記述したり、巨大なインフラストラクチャを開発したりする必要はありません。これは、少量のデータを処理するロジックを記述する ( を記述するなどprocessRecord(Record)) のと同じくらい基本ですが、大量のストリーミングデータで動作するように Kinesis Data Streams を使用してスケールします。Kinesis Data Streams が代わりに処理してくれるため、処理を拡張する方法を心配しなくて済みます。することと言えば、ストリームレコードを Kinesis Data Streams に送信し、受信した新しい各レコードを処理するロジックを記述するだけです。

このアプリケーションについて考えられる拡張機能は、次のとおりです。

すべてのシャードで集計する

現在は、単一のワーカーが単一のシャードから受け取ったデータレコードの集約に基づく統計が取得されます (複数のワーカーが同時に単一のアプリケーションからシャードを処理することはできません)。拡張するときに複数のシャードがある場合、すべてのシャードで集計しようと考えるかもしれません。そのためには、パイプラインアーキテクチャを用意します。パイプラインアーキテクチャでは、各ワーカーの出力が単一のシャードを持つ別のストリームに供給され、第 1 段階の出力を集計するワーカーによってそのストリームが処理されます。第 1 段階のデータが制限されるため (シャードごとに 1 分間あたり 1 つのサンプル)、シャードごとに処理しやすくなります。

処理の拡張

多数のシャードが含まれるようにストリームを拡張する場合 (多数のプロデューサーがデータを送信している場合)、処理を拡張するには、より多くのワーカーを追加します。Amazon EC2インスタンスでワーカーを実行し、Auto Scaling グループを使用できます。

Amazon S3/DynamoDB/Amazon Redshift/Storm へのコネクタを使用する

ストリームが継続的に処理されると、その出力を他の送信先に送信できます。 は、Kinesis Data Streams を他の AWS サービスやサードパーティーのツールと統合するためのコネクタ AWS を提供します。

次のステップ