OpenSearch

【VPC内リージョンサービス】

OpenSearch Service は、OpenSearch互換のマネージド型分析(Analytics)サービスです。

全文検索をはじめ、ログ分析、メトリクス分析、セキュリティ分析など、さまざまなデータを検索・可視化・監視できます。

可視化には OpenSearch Dashboards を使用し、アプリ検索やセキュリティ監査、システムの可観測性を高める用途にも広く利用されています。

システム構成は、Domain(ドメイン)単位で管理され、シャード / レプリカによってデータの分散と冗長化を実現します。

運用面では、自動スナップショットやバックアップ機能によりデータ保全を行い、モニタリングによって稼働状況を可視化できます。

IAM や Cognito による認証管理、KMS によるデータ暗号化、VPC 内配置によるネットワーク制御など、セキュリティ面でも優れています。

S3 との連携でデータの永続化やアーカイブが可能で、Kinesis Data Firehose からのリアルタイムログ取り込み、CloudWatch での監視、Lambda を使ったカスタム処理など、他の AWS サービスとも密接に連携します。

重要用語

Domain
シャード
レプリカ

ユースケース

ログ分析・全文検索プラットフォームアプリケーションログやアクセスログを取り込み、柔軟な検索やグラフ表示で障害調査や利用状況の分析を行う。
サイト内検索機能の実装ECサイトの商品情報やドキュメントをインデックスし、キーワード検索や条件絞り込みができるサイト内検索機能を提供する。
セキュリティイベントの可視化CloudTrailやVPC Flow Logsなどのセキュリティ関連ログを集約し、ダッシュボードで不審な操作や通信の傾向を可視化する。

ベストプラクティス

ドメインサイズとノードタイプの適正化インデックスサイズとクエリ負荷に応じたノード構成を選ぶ。
インデックスライフサイクル管理古いインデックスをロールオーバーや削除で整理し、パフォーマンスを維持する。
セキュリティプラグインの利用認証・認可や暗号化機能を有効にし、安全な検索基盤にする。

高可用性・バックアップ・リトライ

高可用性・バックアップ・リトライ設計のポイント
【デフォルト】AWS内部で冗長化
 ・EBSボリュームの冗長化(EBSの標準機能として、同一AZ内で複数のコピーが保持されます)
【マルチAZ配置】の有効化(最低2つのAZにデータノードを分散配置)
【データノード数】の決定(推奨:最低3ノード以上)
【レプリカシャード】の設定(推奨:最低1以上)
【専用マスターノード】の構成(推奨:3ノード)
【VPCエンドポイント】の配置(複数のサブネットにエンドポイントを配置)
【自動バックアップ】バックアップ保持期間 14 日固定
 デフォルト 有効(無効化不可)
 ドメインのデータを日次で S3 に自動スナップショット
 PITRなし:スナップショット時点の状態へ復元可能
【スナップショット】任意のタイミングで手動スナップショットを取得可能
 保持期限は無制限(ユーザーが削除するまで保持)
 ドメインのデータ全体を S3 にスナップショットとして保存
 スナップショットからいつでもドメインを復元可能(スナップショット時点の状態)

セキュリティ

関連サービス設定内容
CloudTrail(操作履歴の記録・監査・追跡)【自動記録】
作成・更新・削除・設定変更は自動記録される。(コントロールプレーンAPI)
データ操作は追跡できない(データプレーンAPI)
Config(リソースの構成状態・設定変更を記録)【Configが有効な場合】
ドメイン設定変更履歴・ネットワーク/暗号化/暗号化at-restの準拠評価
GuardDuty(脅威を自動検出)【GuardDutyが有効な場合】
ドメイン設定変更・削除のAPI異常検知

ログ・監視

ログ出力先ログの種類
CloudWatch Logsクラスターログ
CloudWatch Logs優先の原則
標準メトリクス
メトリクス名説明
IndexingRateインデックス速度
SearchLatency検索レイテンシ
CPUUtilizationCPU使用率
FreeStorageSpace空き容量
JVMMemoryPressureJVMメモリプレッシャー
ClusterStatus.green正常状態
ClusterStatus.red重大異常
ClusterStatus.yellow部分不安定

制限値(固定値/ハードリミット/ソフトリミット)

固定値制限値
スナップショット数/ドメイン1,000

ハードリミット制限値
ストレージ/ノード(gp3)最大3 TiB
ストレージ/ノード(io1)最大1.5 TiB

ソフトリミット制限値
ドメイン数/リージョン100
ノード数/ドメイン200

AWS CLIのサンプルコード

CloudFormationのサンプルコード

Terraformのサンプルコード

料金計算

課金項目説明
インスタンス時間OpenSearchインスタンスの稼働時間
ストレージEBSボリュームの容量
データ転送インターネットへのデータ転送
UltraWarmUltraWarmストレージの容量と時間
料金計算ツール

公式ページ

AWSドキュメント OpenSearch