1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PMする上で必要になってきたのでおさらい

Amazon Kinesis Data Firehoseとは?

リアルタイムでデータを収集し、他のAWSサービスやデータストアに転送するための完全マネージドサービス
大量のデータをリアルタイムに取り込み、最小限の設定で簡単に保存・分析環境へとデータを送信できる。

Firehoseの主な特徴

  1. リアルタイムデータ転送

    • データをリアルタイムでストリーミングし、最短で数秒以内に転送。
    • 例: ログデータ、IoTデータ、クリックストリーム。
  2. シンプルな設定

    • データの取り込み、バッファリング、転送が簡単に設定可能。
    • コードを書く必要がほとんどない。
  3. 柔軟な転送先

    • Amazon S3: データを長期保存。
    • Amazon Redshift: データウェアハウスでの分析。
    • Amazon OpenSearch Service(旧 Elasticsearch Service): データの検索・可視化。
    • CloudWatch Logs: ログデータのモニタリング。
    • サードパーティツール: 独自のエンドポイントに転送。
  4. データ変換と処理

    • AWS Lambdaを統合して、転送前にデータを加工やフィルタリング。
  5. スケーラビリティ

    • 自動的にスケールして、数MBから数GBのデータを処理可能。
  6. 課金体系

    • 使用したデータ量に基づく従量課金制。

Firehoseの主な用途

1. ログデータの収集と保存

  • シナリオ: Webサーバーやアプリケーションからのログを収集し、Amazon S3に保存。
  • 特徴:
    • 簡単にスケーラブルなログ収集パイプラインを構築可能。
    • 保存したデータはAthenaやRedshiftで分析。

2. IoTデータの処理

  • シナリオ: センサーやIoTデバイスからのデータをリアルタイムで収集。
  • 特徴:
    • データをAmazon OpenSearch Serviceに転送して可視化。
    • Lambdaでデータ加工も可能。

3. アプリケーションのクリックストリーム解析

  • シナリオ: ユーザーのWebサイトやアプリでの操作をリアルタイムに収集。
  • 特徴:
    • Redshiftにデータを送信し、BIツールで分析。

4. 不正アクセスやトラフィックの監視

  • シナリオ: ネットワークトラフィックやセキュリティログを分析。
  • 特徴:
    • データをCloudWatch LogsやOpenSearch Serviceに送信。

Firehoseのデータ転送先と特徴

転送先 主な用途
Amazon S3 長期データ保存、バックアップ。AthenaやEMRでの分析に利用。
Amazon Redshift データウェアハウスとして大量データの分析。BIツールと連携。
Amazon OpenSearch データの検索やリアルタイムの可視化(例: Kibanaダッシュボード)。
CloudWatch Logs ログデータのモニタリングと分析。
サードパーティサービス 独自のエンドポイントや外部システムへのデータ転送。

Firehoseの導入手順

1. Firehoseデリバリーストリームの作成

  1. AWSコンソールで「Amazon Kinesis Data Firehose」を開く。
  2. 「デリバリーストリームを作成」をクリック。
  3. データ転送先を選択(例: S3、Redshift、CloudWatch Logs)。

2. 転送先の設定

  • Amazon S3: 保存先バケットを指定。
  • Amazon Redshift: テーブルスキーマとクラスターを設定。
  • Amazon OpenSearch Service: ドメインを指定。

3. データ変換(オプション)

  • AWS Lambda関数を設定し、転送前にデータを加工。
    • 例: JSONデータをCSV形式に変換。

4. バッファ設定

  • 転送前にデータを一時的にバッファリング。
    • 時間間隔(例: 60秒ごと)またはデータサイズ(例: 5MBごと)で設定可能。

5. データ送信

  • アプリケーションやサービスからデータをFirehoseに送信。
    • AWS SDKやKinesis Agentを利用。

6. モニタリングと調整

  • CloudWatchメトリクスを使って、Firehoseの状態を監視。
  • 必要に応じて設定を調整。

Firehoseの料金体系

  1. データ処理

    • $0.035/GB(データの取り込み量に応じた課金)。
  2. データ変換

    • Lambda関数を使用した場合、別途Lambdaの実行料金が発生。
  3. 転送コスト

    • 転送先(例: S3、Redshift)で発生するストレージやクエリ料金。

Firehoseのメリットとデメリット

メリット

  1. シンプルで使いやすい

    • コード不要で簡単にデータストリーミングを設定可能。
  2. リアルタイム処理

    • 数秒以内にデータを転送。
  3. スケーラブル

    • データ量が増加しても自動的にスケール。
  4. 柔軟なデータ変換

    • Lambdaを使ったカスタム変換が可能。

デメリット

  1. コスト増加

    • データ量が多い場合、処理コストが高くなる。
  2. 転送先に依存

    • データの保存や分析は転送先のサービス(例: S3、Redshift)に依存。
  3. 制約がある変換

    • 複雑なデータ変換には追加のLambda処理が必要。

Firehoseのベストプラクティス

  1. データのバッファリング設定

    • 転送頻度を調整して、コストを最適化。
  2. Lambdaでの事前データ処理

    • 必要なデータのみを転送することで効率化。
  3. 転送先の統合

    • 転送先に応じたデータ形式で保存(例: Redshiftなら列指向)。
  4. モニタリングの徹底

    • CloudWatchでエラーやスループットを監視し、早期に問題を特定。

感想

発注する時にこの辺りの話が出て「?」となったけれど、なんとなくイメージはついた。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?