Amazon OpenSearch Service
ログ分析や全文検索を手軽に実現できるマネージド検索・分析サービス
何ができるか
Amazon OpenSearch Service は、ログ分析、全文検索、リアルタイムのアプリケーションモニタリングを実現するフルマネージドサービスです。オープンソースの OpenSearch (Elasticsearch の派生) をベースとしており、大量のデータをインデックス化して高速に検索・集計できます。OpenSearch Dashboards による可視化機能も標準で備えており、インフラの構築・運用を AWS に任せてデータ分析に集中できます。
どのような場面で使うか
アプリケーションログやインフラログの集約・検索・可視化、EC サイトやポータルサイトの全文検索エンジン、セキュリティイベントの検知と分析 (SIEM)、クリックストリームデータのリアルタイム分析、IoT デバイスから送信されるテレメトリデータの蓄積と傾向分析など、大量のテキストデータや時系列データを扱う場面で利用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
図書館の司書に例えるとわかりやすいでしょう。膨大な蔵書 (データ) の中から、キーワードを伝えるだけで関連する本を瞬時に見つけ出してくれます。さらに、蔵書の傾向をグラフにまとめたり、新着本が入ったら自動で通知してくれたりと、検索だけでなく分析・監視の役割も果たします。
OpenSearch Service とは
Amazon OpenSearch Service は、AWS が提供するマネージド検索・分析サービスです。もともと Amazon Elasticsearch Service として提供されていましたが、2021 年にオープンソースの OpenSearch プロジェクトの立ち上げに伴い名称が変更されました。転置インデックスと呼ばれるデータ構造により、数十億件のドキュメントに対しても数ミリ秒で全文検索を実行できます。REST API 経由でデータの投入・検索・集計を行い、OpenSearch Dashboards でデータを可視化します。
主な特徴
OpenSearch Service はクラスターの構築・運用を自動化します。ノードの起動、ソフトウェアのパッチ適用、バックアップ、モニタリングを AWS が管理するため、利用者は検索クエリの設計やダッシュボードの構築に集中できます。マルチ AZ 配置による高可用性、保存時と転送時の暗号化、VPC 内への配置によるネットワーク分離など、エンタープライズグレードのセキュリティ機能を標準で備えています。OpenSearch Serverless を利用すれば、クラスターの管理すら不要になります。
ログ分析と可視化
OpenSearch Service の代表的なユースケースはログ分析です。CloudWatch Logs、Kinesis Data Firehose、Logstash などからログデータを取り込み、インデックス化して検索・集計できます。OpenSearch Dashboards では、折れ線グラフ、棒グラフ、ヒートマップ、地図表示など多彩なビジュアライゼーションを作成でき、リアルタイムのダッシュボードを構築できます。アラート機能を設定すれば、特定の条件に合致するログが検出されたときに SNS や Slack に通知を送ることも可能です。
料金体系
OpenSearch Service の料金は、インスタンスタイプとインスタンス数、ストレージ容量に基づいて計算されます。オンデマンド料金とリザーブドインスタンス料金の 2 種類があり、リザーブドインスタンスでは最大 50% の割引が適用されます。OpenSearch Serverless を利用する場合は、インデックス作成と検索クエリの処理に使用したコンピューティングユニット (OCU) とストレージに対して課金されます。小規模な検証であれば t3.small.search インスタンス 1 台から始められます。
はじめかた
OpenSearch Service を使い始めるには、AWS マネジメントコンソールで OpenSearch Service ダッシュボードを開き、ドメイン (クラスター) を作成します。インスタンスタイプ、ノード数、ストレージサイズを選択し、アクセスポリシーを設定すれば数分でクラスターが起動します。起動後は REST API でドキュメントを投入し、検索クエリを実行できます。OpenSearch Dashboards の URL にアクセスすれば、ブラウザ上でデータの可視化やダッシュボードの作成が可能です。
注意点
- インデックスのシャード数とレプリカ数の設計がパフォーマンスに大きく影響するため、データ量と検索パターンに応じた適切な設計が必要
- ストレージ容量が上限に達するとインデックスが読み取り専用になるため、インデックスライフサイクル管理 (ISM) で古いデータの自動削除やアーカイブを設定すること
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。