AWS Webinar「お待たせしました！Amazon Elasticsearch Service 怒涛のアップデート」に参加したので学習メモ

[AWS 主催の Webinar](https://aws.amazon.com/jp/about-aws/events/webinars/) のうち、2020年7月2日に実施された [お待たせしました！Amazon Elasticsearch Service 怒涛のアップデート](https://pages.awscloud.com/JAPAN-event-OE-Amazon-Elasticsearch-Service-Update-20200702-reg-event-LP.html) に参加しましたので、学習メモです。

# Amazon ES (Elasticsearch Service) とは

[Elasticsearch](https://ja.wikipedia.org/wiki/Elasticsearch) は OSS の、[Lucene](https://ja.wikipedia.org/wiki/Apache_Lucene) 基盤の分散処理マルチテナント対応検索エンジン、だそうです。全文検索に特化しているとか。先日、[体験メモ](https://qiita.com/yamachan360/items/a6717946f678d38941a4) を投稿したばかり。

Elasticsearch を AWS 上のマネージドサービスとして提供するのが、Amazon ES (Elasticsearch Service) です。ただし素の Elasticsearch ではなく、エンタープライズ向けに拡張された [Open Distro for Elasticsearch](https://opendistro.github.io/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](https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/sql-support.html) / SQL CLI (6月10日)
* [クロスクラスター検索](https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/cross-cluster-search.html) (6月3日)
* 大規模ログ分析のための [Ultrawarm](https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/ultrawarm.html) ノード (5月5日)
* カスタム辞書 (4月21日)
* [KNN](https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/knn.html): k-nearest neighbor ([K近傍法](https://ja.wikipedia.org/wiki/K%E8%BF%91%E5%82%8D%E6%B3%95)) アルゴリズム  (3月3日)

**検索・分析に関する機能追加**

* 異常検知 (6月4日)
* [Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-aws-integrations.html) の Amazon ES VPC ドメイン対応 (4月24日)
* [ISM: Index State Managemnt](https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/ism.html) (3月3日)
* [Fine-grained access control](https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/fgac.html) (2月11日)

## 前提知識

これらですが、[AWS Black Belt Online Seminar](https://www.youtube.com/playlist?list=PLzWGOASvSx6FIwIC2X1nObr1KcMCBBlqY) で2020年6月23日に今回と同じ志村 誠さんが説明した 「[Amazon Elasticsearch Service](https://www.youtube.com/watch?v=2Ecgr63fLSM&list=PLzWGOASvSx6FIwIC2X1nObr1KcMCBBlqY&index=8&t=0s)」 回をふまえて理解するのが良さそう。資料は [こちら](https://aws.amazon.com/jp/aws-jp-introduction/)。

といいますか、今回の説明にあるアップデート内容は全て、上記の 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)](https://aws.amazon.com/jp/waf/) による防御や、脅威検出サービスの [Amazon GuardDuty](https://aws.amazon.com/jp/guardduty/)を連想します。

脅威検出に対して、その脅威の影響を判断し対応する「インシデントレスポンス」があり、それに Amazon ES を活用するのが今回の説明内容でした。

インシデント・レスポンス実施にはより詳細なログの分析が必要で、アプリケーション独自のものもあり、AWS の標準サービスだけでの対応は難しい。なのでより多彩なデータを収集し、正規化(ETL: Extract,Transform,Load)したうえで、Elasticsearch で管理したうえで、Kibana 等で可視化するとのこと。

なるほど、と感じました。

また実際に何度かログオンに失敗した結果を、Kibana で表示するデモも実施されました。これすごく、わかりやすかったです。ただ時間の関係か、操作がすごく早くてわからない部分もあったので、Webinar の動画が公開された後に、あらためてゆっくり眺めて理解したいと思います！

# というわけで

短い時間でしたが、内容がギュッと詰まった、学びの時間でした。この投稿はそのほんの一部をまとめたメモです。

AWS はサービス数が多く、また更新も速いので学習やスキルの維持が大変だと感じます。しかしこういったアップデートのセッションで、それぞれの更新の理由やメリットを理解でき、それを積み重ねていければ、理解もしやすいですし忘れない気もします。

まだ私は学習の途上なので覚えることも多いですが、積極的に学んでいきたいな、と。

それではまた！