AWS 主催の Webinar のうち、2020年7月2日に実施された お待たせしました!Amazon Elasticsearch Service 怒涛のアップデート に参加しましたので、学習メモです。
Amazon ES (Elasticsearch Service) とは
Elasticsearch は OSS の、Lucene 基盤の分散処理マルチテナント対応検索エンジン、だそうです。全文検索に特化しているとか。先日、体験メモ を投稿したばかり。
Elasticsearch を AWS 上のマネージドサービスとして提供するのが、Amazon ES (Elasticsearch Service) です。ただし素の Elasticsearch ではなく、エンタープライズ向けに拡張された Open Distro for Elasticsearch を用いているのが特徴のようです。
Open Distro for Elasticsearch
An Apache 2.0-licensed distribution of Elasticsearch enhanced with enterprise security, alerting, SQL, and more
Amazon ES の最新アップデート解説 (40分)
今回、説明された2020年以降のアップデート内容は以下の9つ。
検索・分析に関する機能追加
- SQL Workbench / SQL CLI (6月10日)
- クロスクラスター検索 (6月3日)
- 大規模ログ分析のための Ultrawarm ノード (5月5日)
- カスタム辞書 (4月21日)
- KNN: k-nearest neighbor (K近傍法) アルゴリズム (3月3日)
検索・分析に関する機能追加
- 異常検知 (6月4日)
- Amazon Kinesis Data Firehose の Amazon ES VPC ドメイン対応 (4月24日)
- ISM: Index State Managemnt (3月3日)
- Fine-grained access control (2月11日)
前提知識
これらですが、AWS Black Belt Online Seminar で2020年6月23日に今回と同じ志村 誠さんが説明した 「Amazon Elasticsearch Service」 回をふまえて理解するのが良さそう。資料は こちら。
といいますか、今回の説明にあるアップデート内容は全て、上記の Black Belt にも含まれています。でも今回はアップデートに特化した内容のため、説明もより詳しく、デモもあり、更にわかりやすかった印象があります。なので本Webinarが公開されたら、上記と連続して視聴することをお勧めします。
Ultrawarm について
今回のアップデートの内容は基本 Open Distro 由来のものが多いようなのですが、Ultrawarm は AWS 独自の機能のようです。
実データを S3 上に配置して実行するため、コスト的にかなり有利とのこと。Elasticsearch は本来、レプリカで可用性を確保していますが、もともと可用性の高い S3 を利用することで、データの重複を避けることができる、らしいです。
S3 上にデータを保持、ということで、Redshift Spectrum を連想しますね。認定試験とかで「Amazon ES Spectrum」とか並んでいたら、間違えて選んでしまいそうですw
Ultrawarm に移行するのは簡単ですが、force_merge してからの移行になるので処理コストがかかることと、移行後は Read Only になるのが注意点とのこと。元の状況 (Hot というらしい) の状態にも戻せますが、force_merge したデータは以後の更新コストが上昇するので、あまりお勧めできないとのこと。
Amazon ES を活用した SIEM の実現方法 (40分)
Amazon ES (Elasticsearch Service) を用いた SIEM の実現方法に関する説明とデモでした。
SIEM (Security Information and Event Management) は、セキュリティやネットワークに関するデータを収集して一元管理し、相関分析によって脅威検出とインシデントレスポンスをサポートするためのソリューションです。
Web のセキュリティと言えば AWS WAF (Web Application Firewall) による防御や、脅威検出サービスの Amazon GuardDutyを連想します。
脅威検出に対して、その脅威の影響を判断し対応する「インシデントレスポンス」があり、それに Amazon ES を活用するのが今回の説明内容でした。
インシデント・レスポンス実施にはより詳細なログの分析が必要で、アプリケーション独自のものもあり、AWS の標準サービスだけでの対応は難しい。なのでより多彩なデータを収集し、正規化(ETL: Extract,Transform,Load)したうえで、Elasticsearch で管理したうえで、Kibana 等で可視化するとのこと。
なるほど、と感じました。
また実際に何度かログオンに失敗した結果を、Kibana で表示するデモも実施されました。これすごく、わかりやすかったです。ただ時間の関係か、操作がすごく早くてわからない部分もあったので、Webinar の動画が公開された後に、あらためてゆっくり眺めて理解したいと思います!
というわけで
短い時間でしたが、内容がギュッと詰まった、学びの時間でした。この投稿はそのほんの一部をまとめたメモです。
AWS はサービス数が多く、また更新も速いので学習やスキルの維持が大変だと感じます。しかしこういったアップデートのセッションで、それぞれの更新の理由やメリットを理解でき、それを積み重ねていければ、理解もしやすいですし忘れない気もします。
まだ私は学習の途上なので覚えることも多いですが、積極的に学んでいきたいな、と。
それではまた!