Q: Amazon Kinesis Data Analytics とは何ですか?

Amazon Kinesis Data Analytics はストリーミングデータを処理してリアルタイムで分析できる最も簡単な方法です。Amazon Kinesis Data Analytics を使えば、標準的な SQL を使用するだけで、データストリームを処理できるため、新しいプログラミング言語を学習する必要はありません。ただ、Kinesis Data Analytics に受信データストリームを取り込み、SQL クエリを作成して、結果のロード先を指定するだけです。Kinesis Data Analytics では、転送中のデータに対しても SQL クエリが継続的に実行され、結果が転送先に送信されます。

Q: リアルタイムストリーム処理とは何ですか? なぜそれが必要ですか?

リアルタイムデータソースは爆発的に増加するため、データは超高速で配信されます。データがモバイルおよびウェブアプリケーションから配信されるログデータ、e コマースサイトからの購入データ、IoT デバイスからのセンサーデータのいずれであるかに関係なく、リアルタイムストリーム処理により、企業は、その顧客、組織、およびビジネス部門が現在行っていることを把握しやすくなります。このデータが配信されたときに可視化することで、ビジネスをリアルタイムでモニタリングし、新しいビジネスチャンスをすばやく活かすことができます。ビジネスチャンスの例には、顧客が特定の時刻にいる場所に応じたプロモーション特典の提供、社会的ムードと変化する顧客態度のモニタリングによる新しいチャンスの発見と対応などがあります。

このようなチャンスを活かすには、保管された静的なデータに対してこれまでに公開されている分析ツールより、リアルタイムのストリーミングデータを収集、分析できる別の分析ツールセットが必要です。従来の分析では、情報を収集し、データベースに保管して、数時間、数日、または数週後に分析していました。リアルタイムデータの分析には、異なるアプローチ、ツール、およびサービスが必要です。ストリーミング分析プラットフォームでは、保管されたデータに対してデータベースクエリを実行するのでなく、データがデータベースに保管される前に連続的に処理されます。ストリーミングデータは、ひっきりなしに増減し、驚くべき速度で流れます。ストリーミング分析プラットフォームは、データが配信されると、通常、1 時間あたり数百万イベントのスピードでデータを処理できる必要があります。

Q: Kinesis Data Analytics でできることは何ですか?

リアルタイムでの連続的なデータの収集し、数日間または数週間と言わず数秒あるいは数分で情報やインサイトを入手する必要があるユースケースのほとんどで、Kinesis Data Analytics を使用できます。特に、Kinesis Data Analytics では、ログ分析、クリックストリーム分析、IoT、アドテク、ゲームなどを用途とするエンドツーエンドストリーム処理アプリケーションをすばやく構築できます。最も代表的な 3 つの使用パターンは時系列分析、リアルタイムダッシュボード、ならびにリアルタイムのアラートおよび通知です。

時系列分析を生成する

時系列分析では、データの経時的な傾向をモニタリング、把握できます。Kinesis Data Analytics を使用すると、複数の時間枠にまたがって連続的に時系列分析を生成する SQL コードを作成できます。例えば、モバイルゲームのトッププレーヤーを毎分決定して Amazon S3 に送信することで、リアルタイムの順位表を作成できます。あるいは、5 分ごとにウェブサイトの一意の訪問者数を計算し、処理した結果を Amazon Redshift に送信することで、ウェブサイトのトラフィックを追跡することもできます。

リアルタイムダッシュボードの表示

クエリ結果を算出してライブダッシュボードに送信することでほぼリアルタイムにデータを視覚化できるアプリケーションを作成できます。例えば、アプリケーションによって、製品カテゴリ別にグループ化した e コマースサイトからの購入数などのビジネスメトリクスを連続的に計算し、その結果を Amazon Redshift に送信して、選択したビジネスインテリジェンスツールで視覚化できます。アプリケーションでログデータを処理し、アプリケーションエラー数を計算して、その結果を Amazon Elasticsearch Service に送信して Kibana で視覚化する別の例を考えます。

リアルタイムのアラームおよび通知を作成する

特定のメトリクスが事前定義されたしきい値に到達した場合や、より高度な例では私たちが提供する機械学習アルゴリズムを使用してアプリケーションで異常が検出された場合に、リアルタイムのアラームまたは通知を送信するアプリケーションを作成できます。例えば、アプリケーションで、時系列における顧客向け API の可用性または正常終了率を計算して、その結果を Amazon CloudWatch に送信できます。また、特定の基準を満たすイベントを検出し、それを Kinesis Data Streams および Amazon Simple Notification Service (SNS) を使用して適切なユーザーに自動的に通知するアプリケーションを作成することもできます。

Q: Kinesis Data Analytics はどのように利用を開始できますか?

Kinesis Data Analytics コンソールにサインインし、新しいストリーム処理アプリケーションを作成します。AWS CLIAWS SDK を使用することもできます。エンドツーエンドアプリケーションは次の 3 つのシンプルなステップで作成できます。1) 受信ストリーミングデータを設定する 2) SQL クエリを作成する 3) 結果のロード先を指定する。Kinesis Data Analytics では、JSON、CSV、および TSV などの標準的なデータ形式が認識され、ベースラインスキーマが自動的に作成されます。このスキーマは改良することができます。また、データが非構造的である場合は AWS の直感的で使いやすいスキーマエディタを使用して新しく構築することも可能です。続いて、このサービスにより、入力ストリームにスキーマが適用され、入力ストリームが絶えず更新される SQL テーブルのように表示されるので、これに対する標準的な SQL クエリを作成することもできます。クエリを作成する際は、当社の SQL エディタを使用してください。SQL エディタは、ライブデータに対する構文のチェックおよびテストなど、すべての付加機能と一緒に同梱されています。また、シンプルなストリームフィルターから高度な異常検出ならびに top-K 分析まで、何でも行える SQL コードが記述されたテンプレートも利用できます。Kinesis Data Analytics により、すべてのインフラストラクチャのプロビジョニングが実行され、どのようなデータスループットでも処理できるように伸縮自在にスケーリングされます。インフラストラクチャの計画、プロビジョニング、または管理は必要ありません。

Q: Kinesis Data Analytics の制限事項は何ですか?

Kinesis Data Analytics により、アプリケーションが大半のシナリオにおける複雑なクエリとソースストリームのデータスループットに対応できるように、伸縮自在にスケールされます。サービスの制限に関する詳細については、Amazon Kinesis Data Analytics Developer Guide の Limits を参照してください。


Q: Kinesis Data Analytics アプリケーションとは何ですか?

アプリケーションは、ユーザーが操作する Kinesis Data Analytics エンティティです。Kinesis Data Analytics アプリケーションでは、ストリーミングデータがリアルタイムで連続的に読み込まれて処理されます。アプリケーションのコードは、SQL を使用して、受信ストリーミングデータを処理し、出力を生成するように作成します。このコードにより、Kinesis Data Analytics では処理結果が設定された出力先に書き込まれます。

各アプリケーションは、3 つの基本的コンポーネントで構成されています。

  • 入力 – アプリケーションのストリーミングソース。入力の設定では、ストリーミングソースをアプリケーション内入力ストリームにマッピングします。アプリケーション内ストリームは、SELECT や INSERT の SQL 操作の実行対象となる、絶えず更新されるテーブルに似ています。各入力レコードには関連付けされたスキーマがあります。スキーマは、アプリケーション内ストリームへのレコード挿入操作の一環として適用されます。
  • アプリケーションのコード – 入力の処理と出力の生成を行う一連の SQL ステートメント。アプリケーションコードは、その最もシンプルな形では、ストリーミング入力からデータを選択し、その結果をストリーミング出力に挿入する単一の SQL ステートメントです。また、1 つの SQL ステートメントの出力が次の SQL ステートメントの入力となる、一連の SQL ステートメントにすることもできます。さらに、入力ストリームを複数のストリームに分割して、それら個別のストリームを処理する追加のクエリを適用するアプリケーションコードを記述することもできます。 
  • 出力 – 中間結果を格納する 1 つまたは複数のアプリケーション内ストリームを作成できます。その場合、特定のアプリケーション内ストリーム内のデータを外部の出力先に保存するように、アプリケーションの出力を設定できるオプションもあります。 

Q: アプリケーション内ストリームとは何ですか?

アプリケーション内ストリームは、SELECT や INSERT の SQL 操作の実行対象となるアプリケーション内データを絶えず保存するエンティティです。アプリケーション内ストリームは、SQL テーブルと同様の方法で操作します。ただし、相違点は、ストリームではデータが絶えず更新されることです。アプリケーションコードを使用して、クエリの中間結果を保存する追加のアプリケーション内ストリームを作成できます。最後に、ユーザーが設定した入力と出力は、アプリケーション内ではアプリケーション内ストリームと呼ばれます。

Q: Kinesis Data Analytics アプリケーションではどのような入力がサポートされていますか?

Kinesis Data Analytics では、ストリーミングデータソースとリファレンスデータソースの 2 種類の入力がサポートされています。ストリーミングデータソースは絶えず生成されるデータであり、アプリケーションに読み込まれて処理されます。リファレンスデータソースは静的データであり、アプリケーションで使用してストリーミングソースから配信されるデータを拡充します。各アプリケーションには、ただ 1 つのストリーミングデータソースと、ただ 1 つのリファレンスデータソースを設定できます。アプリケーションでは、Amazon Kinesis Data Streams や Amazon Kinesis Data Firehose などのストリーミングデータソースから新しいデータを絶えず読み込み、処理します。アプリケーションでは、Amazon S3 などのリファレンスデータソース全体を読み込み、使用して、SQL の JOIN によってストリーミングデータソースを拡充します。

Q: リファレンスデータソースとは何ですか?

リファレンスデータソースは静的データであり、アプリケーションで使用してストリーミングソースから配信されるデータを拡充します。リファレンスデータは S3 バケット内にオブジェクトとして保存されます。アプリケーションを開始すると、Kinesis Data Analytics では S3 オブジェクトが読み込まれ、リファレンスデータを保存するアプリケーション内 SQL テーブルが作成されます。アプリケーションコードでは、この後に、このテーブルをアプリケーション内ストリームと結合することができます。SQL テーブル内のデータを更新するには、UpdateApplication API を呼び出します。

Q: どのようなアプリケーションコードがサポートされていますか?

Kinesis Data Analytics でサポートされる ANSI SQL には、ストリーミングデータを操作しやすくするために ANSI SQL 標準を拡張した機能があります。また、Kinesis Data Analytics には異常検出、top-K の予想、一意の項目数の概算など、SQL 関数として公開されているいくつかの機械学習アルゴリズムも備わっています。

Q: どのような出力先がサポートされていますか?

Kinesis Data Analytics では、アプリケーションごとに出力先が 4 つまでサポートされています。SQL の結果は Amazon S3、Amazon Redshift、Amazon Elasticsearch Service (Amazon Kinesis Data Firehose 経由)、および Amazon Kinesis Data Streams に保存できます。Kinesis Data Analytics で直接サポートされていない出力先に書き込むには、SQL 結果を Amazon Kinesis Data Streams に送信し、Amazon Kinesis Data Streams と AWS Lambda との統合を利用して、選択した出力先に送信します。


Q: ストリーミングデータソースはどのように設定しますか?

ストリーミングデータソースには、Amazon Kinesis データストリームまたは Amazon Kinesis Data Firehose 配信ストリームを指定できます。ストリーミングデータソースの新しいデータは、リアルタイムで配信されるたびに Kinesis Data Analytics アプリケーションに読み込まれます。データにアクセスするには、SQL コード内でアプリケーション内ストリームを使用します。アプリケーション内ストリームは、SQL テーブルと同様に、作成、そこへの挿入、およびそこからのデータ選択が可能です。SQL テーブルとの相違点は、アプリケーション内ストリームはストリーミングデータソースからの新しいデータで絶えず更新されるということです。

ストリーミングデータソースを追加するには、AWS マネジメントコンソールを使用します。ソースの詳細については、Kinesis Data Analytics Developer Guide の Configuring Application Input を参照してください。

Q: リファレンスデータソースはどのように設定しますか?

リファレンスデータソースには Amazon S3 オブジェクトを指定できます。Kinesis Data Analytics アプリケーションの実行を開始すると、S3 オブジェクト全体が読み込まれます。データにアクセスするには、SQL コード内でテーブルを使用します。リファレンスデータソースを使用する最も一般的なユースケースは、SQL の JOIN を使用してストリーミングソースから配信されるデータを拡充することです。

リファレンスデータソースを追加するには、AWS CLI で S3 バケット、オブジェクト、IAM ロール、および関連するスキーマを指定します。このデータは、アプリケーションの開始時に Kinesis Data Analytics によりロードされ、ユーザーがなんらかの更新 API コールを行うたびに再ロードされます。

Q: どのようなデータ形式がサポートされていますか?

Kinesis Data Analytics では、スキーマが検出され、UTF-8 でエンコードされた JSON レコードおよび CSV レコードが DiscoverInputSchema API を使用して自動的に解析されます。このスキーマは、アプリケーション内ストリームへの挿入操作の一環として、ストリームから読み込まれたデータに適用されます。

その他の、UTF-8 にエンコードされた、区切り文字を使用しないデータの場合、区切り文字を使用する CSV 以外のデータの場合、または discovery API でスキーマが完全には検出されなかった場合は、対話型のスキーマエディタを使用してスキーマを定義するか、または文字列操作関数を使用してデータを構造化することができます。詳細については、Kinesis Data Analytics Developer Guide の Using the Schema Discovery Feature and Related Editing を参照してください。

Q: 入力ストリームはどのように SQL コードで使用されますか?

Kinesis Data Analytics により、指定したスキーマが適用されるとともに、ストリーミングソースの場合にはデータが 1 つまたは複数のアプリケーション内ストリームに挿入され、ストリーミングリファレンスソースの場合にはデータが単一の SQL テーブルに挿入されます。アプリケーション内ストリーム数のデフォルト値により、ユースケースの大半のニーズが満たされます。アプリケーションが CloudWatch のメトリクス、MillisBehindLatest によって定義されたソースストリーム内の最新データを処理する際に遅延していることが判明した場合は、このデフォルト値を大きくする必要があります。必要なアプリケーション内ストリーム数は、ソースストリームのスループット量とクエリの複雑さの両方の影響を受けます。ソースストリームにマッピングされるアプリケーション内ストリーム数を指定するパラメータには、入力並列処理という名前が付いています。


Q: アプリケーションコードの概要を教えてください。

アプリケーションコードは、入力の処理と出力の生成を行う一連の SQL ステートメントです。これらの SQL ステートメントは、アプリケーション内ストリームとリファレンステーブルに作用します。アプリケーション内ストリームは、SELECT や INSERT の SQL 操作の実行対象にできる、絶えず更新されるテーブルに似ています。設定したソースおよび出力先は、アプリケーション内ストリームを介して SQL コードで使用されます。また、クエリの中間結果を格納する追加のアプリケーション内ストリームを作成することもできます。

アプリケーション内ストリームを操作するには、次のパターンを使用します。

  • INSERT ステートメントのコンテキストでは必ず SELECT ステートメントを使用してください。行を選択した場合の結果は、別のアプリケーション内ストリームに挿入します。
  • ポンプのコンテキストでは INSERT ステートメントを使用してください。ポンプは、INSERT ステートメントを絶えず実行されるようにしてアプリケーション内ストリームへの書き込みを行うために使用できます。
  • ポンプは、複数のアプリケーション内ストリームを結合し、1 つのアプリケーション内ストリームからデータを選択して、その結果を別のアプリケーション内ストリームに挿入するために使用できます。 

次の SQL コードは、シンプルですが実用的なアプリケーションです。

CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (

    ticker_symbol VARCHAR(4),

    change DOUBLE,

    price DOUBLE);

 

CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM    

    SELECT STREAM ticker_symbol, change, price    

    FROM "SOURCE_SQL_STREAM_001";

アプリケーションコードの詳細については、Kinesis Data Analytics Developer Guide の Application Code を参照してください。

Q: Kinesis Data Analytics には SQL コード作成用のサポートはありますか?

Kinesis Data Analytics には、ストリーミングフィルター、回転時間枠、および異常検出などの一般的なユースケース用の分析テンプレートから成るライブラリがあります。これらのテンプレートには、AWS マネジメントコンソール 内の SQL エディタからアクセスできます。アプリケーションを作成して SQL エディタに移動すると、コンソールの左上隅にテンプレートが表示されます。

Q: Kinesis Data Analytics でリアルタイムの異常検出を実行するにはどうすればいいですか?

Kinesis Data Analytics には、異常検出用など、いくつかの高度な分析用に事前作成された SQL 関数があります。お客様の SQL コードからこの関数を呼び出すだけで、リアルタイムで異常を検出できます。Kinesis Data Analytics では、Random Cut Forest アルゴリズムを使って異常検出を実行します。Random Cut Forest の詳細については、ストリーミングデータの例外検知に関するホワイトペーパーをご覧ください。


Q: 出力先はどのように設定しますか?

アプリケーションコード内で、SQL ステートメントの出力を 1 つまたは複数のアプリケーション内ストリームに書き込みます。オプションで、特定のアプリケーション内ストリームへのすべての書き込みを最大 4 つの外部出力先に保管する出力設定をアプリケーションに追加できます。これらの外部出力先としては Amazon S3 バケット、Amazon Redshift テーブル、Amazon Elasticsearch ドメイン (Amazon Kinesis Data Firehose 経由)、および Amazon Kinesis データストリームを指定できます。アプリケーションごとに 4 つの出力先がサポートされます。4 つの出力先の組み合わせは任意で指定できます。詳細については、Kinesis Data Analytics Developer Guide の Configuring Output Streams を参照してください。

Q: 必要な出力先が直接サポートされていません。この出力先に SQL の結果を送信するにはどうすればよいですか?

直接サポートされていない出力先に書き込むには、AWS Lambda を使用します。結果を Amazon Kinesis データストリームに書き込んでから、AWS Lambda を使用して処理された結果を読み込み、選択した出力先に送信することをお勧めします。詳細については、Kinesis Data Analytics Developer Guide の Example: AWS Lambda Integration を参照してください。または、Amazon Kinesis Data Firehose 配信ストリームを使用してデータを Amazon S3 にロードし、そのデータを読み込んで選択した出力先に送信する AWS Lambda 関数をトリガーします。詳細については、AWS Lambda Developer Guide の Using AWS Lambda with Amazon S3 を参照してください。

Q: Kinesis Data Analytics ではどのような配信モデルが提供されていますか?

Kinesis Data Analytics では、設定した出力先にアプリケーション出力を「少なくとも 1 回」配信する配信モデルが使用されています。Kinesis Data Analytics アプリケーションでは内部チェックポイントを使用します。これらのチェックポイントの時点では、出力レコードがデータ消失なしに出力先に配信されています。このサービスでは、チェックポイントを必要に応じて使用し、アプリケーション出力が設定された出力先に少なくとも 1 回配信されるようにします。配信モデルの詳細については、Kinesis Data Analytics Developer Guide の Configuring Application Output を参照してください。


Q: Kinesis Data Analytics アプリケーションの動作とパフォーマンスをモニタリングするにはどうすればいいですか?

AWS には、Kinesis Data Analytics アプリケーションをモニタリングするために使用できるさまざまなツールが用意されています。自動的にモニタリングが行われるように、これらのツールを設定できます。アプリケーションをモニタリングする方法の詳細については、Kinesis Data Analytics Developer Guide の Monitoring Kinesis Data Analytics を参照してください。

Q: Kinesis Data Analytics アプリケーションへのアクセスを管理および制御する方法を教えてください。

Kinesis Data Analytics では、ユーザーがアプリケーション内で指定したストリーミングデータソース内のレコードに対する読み取り権限が必要になります。また、ユーザーがアプリケーション出力設定に指定したデータストリームにアプリケーション出力を書き込む権限も必要になります。これらの権限を付与するには、Kinesis Data Analytics が引き受けることのできる IAM ロールを作成します。このロールに付与する権限によって、サービスがこのロールを引き受けた時に Kinesis Data Analytics で実行できる内容が決まります。詳細については、Kinesis Data Analytics Developer Guide の、Granting Permissions を参照してください。

Q: Kinesis Data Analytics ではアプリケーションはどのようにスケールされますか?

Kinesis Data Analytics により、アプリケーションが大半のシナリオにおける複雑なクエリとソースストリームのデータスループットに対応できるように、伸縮自在にスケールされます。Kinesis Data Analytics には、Amazon Kinesis 処理単位 (KPU) 数で表される能力がプロビジョンされています。1 KPU によって、メモリ / 記憶能力 (4 GB) とそれに対応するコンピューティング能力およびネットワーキング能力が実現されます。
各ストリーミングソースは対応するアプリケーション内ストリームにマッピングされます。多くのユーザーには必要ありませんが、入力並列処理パラメータを指定して、ソースがマッピングされるアプリケーション内ストリームの数を増やすことにより、KPU 数で表される能力をより効率的に使用することができます。Kinesis Data Analytics では、Amazon Kinesis データストリームのシャードなど、ストリーミングデータソースのパーティションが、ユーザーが指定したアプリケーション内データストリーム数に対して均等に割り当てられます。例えば、ストリーミングデータソースとして 10 シャードの Amazon Kinesis データストリームがあり、2 つの入力による並列処理を指定すると、Kinesis Data Analytics により、「SOURCE_SQL_STREAM_001」と「SOURCE_SQL_STREAM_002」という 2 つのアプリケーション内ストリームに対し、5 つの Amazon Kinesis シャードが割り当てられます。詳細については、Kinesis Data Analytics Developer Guide の Configuring Application Input を参照してください。

Q: Kinesis Data Analytics アプリケーションの構築および管理に関するベストプラクティスは何ですか?

ベストプラクティスについては、Kinesis Data Analytics Developer Guide の Best Practices セクションを参照してください。そこでは、アプリケーションの管理、入力スキーマの定義、出力への接続、およびアプリケーションコードの作成が説明されています。


Q: 特定の SQL ステートメントを正しく動作させるにはどのようにすればよいですか?

詳細については、使用可能な多数の SQL の例が記載されている、Kinesis Data Analytics Developer Guide の Example Applications を参照してください。Kinesis Data Analytics SQL Reference は、ストリーミング SQL ステートメントを作成する方法が詳しく説明されています。引き続き問題が発生する場合は、Amazon Kinesis Forums で質問してみることをお勧めします。

Q: Kinesis Data Analytics で私のスキーマが検出されませんでした。Kinesis Data Analytics を使用するにはどうすればよいですか?

UTF-8 にエンコードされ区切り文字を使用しないその他のデータの場合、区切り文字を使用する CSV 以外のデータの場合、または discovery API でスキーマが完全には検出されなかった場合は、手動でスキーマを定義するか、または文字列操作関数を使用してデータを構造化することができます。詳細については、Kinesis Data Analytics Developer Guide の Using the Schema Discovery Feature and Related Editing を参照してください。

Q: アプリケーションが正しく実行されるようにするためにモニタリングする必要のある重要なパラメータは、何ですか?

モニタリングが必要な最も重要なパラメータは CloudWatch のメトリクス、MillisBehindLatest です。これは、ストリームからの読み込みがリアルタイムよりどれだけ遅れているかを表します。このメトリクスは、ソースストリームのレコードが十分高速に処理されているかどうかを効率的に判断するためのメカニズムとなっています。1 時間 (この数値はユースケースによって異なり、必要に応じて調整可能) を超えて遅れている場合は、CloudWatch アラームをトリガーするように設定する必要があります。詳細については、Kinesis Data Analytics Developer Guide の Best Practices を参照してください。

Q: Kinesis Data Analytics アプリケーションの実行時にコードが無効であるというエラーが発生しました。このエラーのトラブルシューティングを行うにはどうしたらよいですか?
コードが無効であるというエラーや Kinesis Data Analytics アプリケーションのトラブルシューティングの詳細については、Amazon Kinesis Data Analytics Developer Guide の Troubleshooting を参照してください。


Q: Kinesis Data Analytics の費用はどれくらいですか?

Kinesis Data Analytics の場合、お支払いいただくのは実際に使用した分のみです。ストリーム処理アプリケーションの実行に使用された Kinesis 処理単位数 (KPU 数) の平均に基づいて、各時間のレートが請求されます。最近傍の KPU の整数値への切り上げが行われます。

1 KPU とは、メモリ (4 GB)、コンピューティング能力 (1 vCPU)、およびそれに対応するネットワーキング能力で構成されるストリーム処理リソースです。ストリーミングアプリケーションのメモリ使用量およびコンピューティング使用量は処理中に変動するため、Kinesis Data Analytics では、ストリーミングのワークロードに基づいて KPU 数が自動で伸縮自在にスケールされます。プロビジョンが必要なリソースや、Kinesis Data Analytics に関連する初期コスト、最低料金はありません。

料金の詳細については、Kinesis Data Analytics pricing page を参照してください。

Q: Kinesis Data Analytics は AWS 無料利用枠の対象ですか?

いいえ。現在、Kinesis Data Analytics は AWS 無料利用枠の対象ではありません。AWS 無料利用枠は、一部の AWS のサービスを無料で試用できるプログラムです。

Q: 実行中ではあるが、ソースのデータを処理していない Kinesis Data Analytics アプリケーションは課金されますか?

Kinesis Data Analytics アプリケーションが実行中の場合は、少なくとも 1 KPU が課金されます。

Q: Kinesis Data Analytics のコスト以外に、私が負担する可能性のあるコストはありますか?

Kinesis Data Analytics は、データの読み込み元であるストリーミングソースと、処理したデータの書き込み先から独立した、完全マネージド型ストリーミング処理ソリューションです。入力ストリームおよび出力ストリームに関連する Kinesis Data Firehose および Kinesis Data Streams の使用コストは、個別に請求されます。

Q: Kinesis Data Analytics は Amazon Kinesis クライアントライブラリを使用するユーザー自身のアプリケーションの実行とはどのように異なりますか?

Amazon Kinesis クライアントライブラリ (KCL) とはビルド済みのライブラリであり、Amazon Kinesis データストリームからデータを読み込んで処理するコンシューマアプリケーションの作成を支援するものです。KCL は、データストリームボリュームの変化への適応、ストリーミングデータの負荷分散、分散サービスの調整、データ処理の耐障害性などの複雑な問題に対応します。KCL を利用することにより、アプリケーションの構築中にビジネスロジックに集中できます。

Kinesis Data Analytics を使用すると、ストリーミングデータをリアルタイムで処理およびクエリできます。標準的な SQL を使用するだけでデータストリームを処理できるため、新しいプログラミング言語を学習する必要はありません。Kinesis Data Analytics に受信データストリームを取り込み、SQL クエリを作成して、結果のロード先を指定します。Kinesis Data Analytics では、KCL を使用して、基盤となるアプリケーションの操作の一部としてストリーミングデータソース内のデータが読み込まれます。このサービスにより、データとともに、チェックポイントなど KCL の使い方に関連する多数の複雑な概念が抽出されます。

完全マネージド型のソリューションが必要であり、SQL を使ってデータストリーム内のデータを処理したい場合は、Kinesis Data Analytics を使用してください。要件が Kinesis Data Analytics では満たせないため、カスタム処理ソリューションを構築する必要がある場合は、KCL を使用してください。構築したコンシューマアプリケーションを管理できるようになります。