omuronの備忘録

個人的な備忘録

「AWSの基礎を学ぼう 第七十一回 Amazon OpenSearch Service」 #awsbasics 受講メモ

awsbasics.connpass.com

旧 Elasticsearch Searvice の Amazon OpenSearch Service です。

セッション

Amazon OpenSearch Service

講師:アマゾン ウェブ サービス ジャパン、シニアエバンジェリスト 亀田氏

Amazon OpenSearch Service 概要

  • Amazon Elasticsearch Service からの後継サービス
  • OpenSearch
  • OpenSearch と Elastisearch の互換性
    • API 互換性
      • Elasticsearch 7.10 と同様の REST API
    • データ互換性
  • ソフトウェア互換性
    • Java, PHP, Go
    • エージェント: Logstash 使える、Beats 互換は無し

ユースケース

  • 全文検索
    • json を中心とした全文検索がメイン
    • DocumentDB より高速に動いてスケールさせやすい
  • データ分析、可視化
    • 大量データのニアリニアタイムでデータ取り込みをして可視化
    • レポートや異常検出、アラートに利用

Amazon OpenSearch Service 特徴

  • フルマネージド
  • 柔軟性
  • コスト効率
    • 従量課金、RI あり
  • 高い可用性
    • マルチ AZ 対応、スナップショット、メトリクスログ収集自動化
  • スケーラブル、高パフォーマンス
    • 200ノードまでスケール、3PiB 格納
  • セキュリティと認証
    • IAM 連携
    • タグベースでの制御可能
      • Attribute Based Access Control
      • IAM ポリシーの再設定不要

データ挿入から活用までの流れ

  1. JSON 形式のドキュメントを REST API 経由で送信
  2. データがインデックスに格納、ネストされた JSON データ含む全文検索可能
  3. REST API 経由でクエリ
使い方の例

ノードの種類と役割

  • 4種類のノード
    • node.master, node.data, node.ingest の組み合わせで役割変える
    • Ingest node, Data node, Master-eligible node, Coordinatin node
  • AWS で起動すると2種類のノードに集約される
    • Data node, Dedicated Master Node
    • マスターノードで障害時の挙動
      • 他のマスター候補ノードが監視の失敗をトリガとして再投票を実施して新たなマスターノードを選出
      • ノード復帰時はすぐにリバランスされない
      • 障害前と同じシャード配置にはならない
      • リバランスされるまでは、検索パフォーマンスが落ちる可能性あり

サーキットブレーカー

  • クエリ実行前に OOM 防ぐためにサーキットブレーカーが実装されている
    • Java のヒープ領域を使い尽くしそうな場合はエラーを返す

宣伝

awsbasics.connpass.com

特別講師として、通常AWS主催イベントでクラウドラクティショナー講座の講師を務めているアマゾンウェブサービスジャパン合同会社 パートナー技術本部パートナーソリューションアーキテクト髙橋 敏行(Yukki)さんをお招きした特別な会を実施するようです!
AWS クラウドラクティショナーの勉強会を行うのですが、この日は会社イベントで参加できないので、宣伝だけ...

所感

申し込みして無くて、ギリギリに申し込もうとしたらちょうど400人の定員いっぱいだったので、ブログ枠で申し込み。
その後、枠も広げてもらえたし、キャンセルもでたので一般枠でも問題なくなってました。

旧 Elastisearch しか使ったことがありませんが、結構お金がかかるイメージがあります。
ユーザーが使う検索で RDB だとパフォーマンス出しづらいときに使って解決するために使う必要があれば検討するという感じかな。