Amazon OpenSearch Service
検索とログ分析
マネージドの OpenSearch cluster(Elasticsearch からのフォーク)を実行し、全文検索、ログ分析、ベクトル検索に使えます。可視化のための OpenSearch Dashboards も付属します。
- コスト$$$ 高め
- 難易度●●●●●
- 未使用でも課金?はい
- AWS マネージド
- 出題試験SAA · DVA
たとえるなら巨大な図書館の超高速索引のようなものです。キーワードを入力すればページが見つかります。
いつ使う?
✓ 使うべき場面
アプリケーションに全文検索、ログ分析、ベクトル検索が必要なとき。
✗ 避けるべき場面
cluster を管理したくない → OpenSearch Serverless。S3 上でアドホックな SQL クエリ → Athena。
よくある使い方
- Web サイトの商品検索ボックス
- ログの一元分析(ELK スタック)
- RAG アプリケーション向けベクトルストア
料金はいくら?
- 課金方式: node instance の稼働時間、EBS/UltraWarm ストレージの GB 数、データ転送に応じて課金されます。
HA のための複数 node の cluster は 24 時間 365 日稼働します。古いログには UltraWarm/cold storage を使いましょう。
「全文検索やダッシュボード (Kibana/OpenSearch Dashboards) 付きのほぼリアルタイムのログ分析」なら OpenSearch Service、「S3 のログへのアドホック SQL」なら Athena、「低遅延のキーバリュー」なら DynamoDB を選びます。
よくある質問
ログ分析で OpenSearch Service は Athena や CloudWatch Logs Insights と何が違いますか?
OpenSearch はクラスター内でデータにインデックスを作成するため、全文検索やほぼリアルタイムのダッシュボードが非常に高速ですが、常時稼働するクラスターの料金がかかります。Athena は S3 上のファイルを直接クエリし、スキャン量で課金されるため、たまの分析なら安価です。CloudWatch Logs Insights は CloudWatch にあるログへの簡易クエリに向きます。
OpenSearch を高可用にするには?
Multi-AZ を有効にしてノードとレプリカシャードを複数の AZ に分散し、専用マスターノードでクラスターを安定させます。古いデータは UltraWarm やコールドストレージに置いてコストを下げられます。データは自動的に S3 へスナップショットされ、復旧に使えます。
OpenSearch をメインのデータベースとして使えますか?
おすすめしません。検索、ログ分析、ベクトル検索は得意ですが、トランザクション用データベースではありません。一般的な構成は、元データを DynamoDB、RDS、S3 に置き、検索用に OpenSearch へ同期する形です。クラスター管理をしたくない場合は OpenSearch Serverless があります。
関連サービス
SAA-C03 対策
OpenSearch Service は次の対策モジュールで扱っています: