こんにちは、小寺です。
Amazon Timestream for InfluxDBがGAになりました。
https://aws.amazon.com/about-aws/whats-new/2024/03/amazon-timestream-influxdb-available/
今までは、EC2 に InfluxDBをインストールして利用されていた方もいらっしゃいますよね。もしくは、InfluxDB Cloud の SaaS を利用する必要がありましたが、AWS サービスとして利用できるようになりました。 どのようなシーンで役立つサービスなのかご紹介します!
InfluxDBとは?
InfluxDBはオープンソースの時系列データベース(Time series database) です。色々なサイトでパフォーマンスに優れて高速なDBとして他データベースとの性能比較がされています。「高速」というのが売りのようです。InfluxDB 3.0が最新バージョンとなっており、SaaS版の場合は以下の特徴があげられます。
・ストレージとコンピューティングはワークロードに合わせて自動拡張がされる。マネージドサービスなので、管理用のインフラは不要。
・無制限のカーディナリティで 1 秒あたり数十億のデータ ポイントを取り込みができる。
・料金は使用したリソースに対して支払うのみ
Amazon Timestreamとは?
Amazon Timestreamは時系列データベースで、よく使われるのはIoTセンサーの時系列データです。
まず、時系列データは「時間経過とともに変化する事象を測定するために、タイムスタンプとともに記録されたシーケンスデータ」と定義できます。
時系列データってどんなときに活用できるのか?について、まとめてみました。
時系列データの活用のしどころ
・IoT向けアプリケーション
センサーやネットワーク監視
在庫管理
交通などの混雑状況
製造、物流の状況と管理
・予測や分析
株式市場の予測
在庫や商品需要の予測
企業の財務面などのデータ予測
・モニタリングと結果分析
センサーやIoTなど物理機器のモニタリング
アプリケーション、ソフトウェアのモニタリング
Amazon Timestreamとその一機能であるAmazon Timestream for InfluxDBはどう違うのか?
今回GAになったAmazon Timestream for InfluxDBはAmazon TimeStreamサービスの一機能として扱われています。
そもそもなのですが、 Amazon TimeStreamはTimestream サーバーレスとInfluxDB 向けの Timestreamの2つに分かれています。

通常のAmazon TimestreamサーバレスはAWS独自の時系列データベースです。一方、InfluxDBは、AWSでInfluxDBが使えるようになったものとして別に考えた方が良さそうです。
InfluxDB 向けの Timestreamでデータベースを作成してみる

データベース認証情報 として、以下の情報が必要です。
・DB instance name
・ユーザ-名
・組織名
・Initial bucket name
・パスワード

インスタンス設定とストレージ設定を行います。

DBインスタンスクラスは最小サイズの「db.influx.medium」を選びました。
ストレージタイプは「インフラックス IO付属(3K)」、 「インフラックス IO付属(12K)」、「インフラックス IO付属(16K)」 から選ぶことができます。
次に「可用性設定」については、Multi-AZ with standbyとSingle-AZの2つから設定ができます。

接続設定を行います。

パラメータグループ、ログ配信、タグ設定を行い、「InfluxDB インスタンスの作成」をクリックします。

作成されるまで待ちます。

見落としていたのですが、InfluxDBのUIにマネジメントコンソールからアクセスするには、パブリックアクセス可と事前設定が必要とのことです。「変更」から修正はできなかったので、再作成をしてみます。

パブリックアクセスを設定してみましたが、タイムアウトで接続ができませんでした。こちらは別途動作確認をしてみようと思います。

データベースへのアクセスですが、基本的には「Influx」コマンドを用いて操作します。EC2にInfluxコマンドをインストールして、DBはプライベートサブネットに置くやり方がチュートリアルでは解説されています。

どれくらいの費用がかかりそう?
詳細な料金はAWS公式をご確認ください。検証で使った db.influx.medium であれば、東京リージョンで1時間あたり $0.142 です。以下はGA後の3月16日時点の価格です。
ストレージは別途費用となるので、 シングルAZの場合Influx IO Included (3K) で1GBあたり $0.12 (1か月)です。
データ転送に関しては、同一リージョンの Amazon Timestream for InfluxDB とEC2の通信、マルチAZ構成でのAZ間通信は無料です。
