More Related Content Similar to Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup (20) More from Hibino Hisashi (6) Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup2. 2
自己紹介
名前: 日比野 恒 (ひびの ひさし)
所属: 株式会社リクルートテクノロジーズ
サイバーセキュリティ部 セキュリティアーキテクト
(CISSP、CISA、IPA安全確保支援士)
モチベ: クラウドセキュリティのデザインパターン設計
セキュリティログ分析基盤活用入門(@IT)
https://www.atmarkit.co.jp/ait/series/16525/
クラウド環境のログをどう活かす?先駆者の知見から学ぶ
https://ascii.jp/elem/000/001/697/1697672/
後日スライド公開予定
3. 本日お伝えしたいこと
✓ Open Distro for Elasticsearchとは何者なのか
✓ Amazon Elasticsearch Serviceとの使い分け
※ お話しないこと: Elasticsearchの全文検索に関する話
×
3
10. 10
これまでの歴史
2015年10月にElasticsearch1.5として、Amazon Elasticsearch Service(以下、AmazonES)がローンチ!
(ELK StackからElastic Stackになった2017年以降、バージョンアップや機能拡張が活発化)
【参考】Amazon Elasticsearch Service のドキュメント履歴
https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/release-notes.html
1.5 2.3 5.1 5.3 5.5 5.6 6.0 6.2 6.3 6.4 6.5 6.7 6.8
2015 2016 2017 2018 2019
VPCサポート
Cognito認証
アラート通知
SQLアクセス
蓄積データ暗号化
3つのAZサポートESバージョンアップに
追従していなかった
(暗黒期)
主だった機能拡張
クラスタ間暗号化
7.1
UltraWarmストレージ
13. 13
東京リージョンにAZが2個しかない時代は...
2018年1月に登場した東京リージョンのAZ1dのおかげでAmazonESの可用性は向上した。
【参考】 Configuring a Multi-AZ Domain
https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-multiaz
cluster_state
★
cluster_state
☆ node3
cluster_state
☆
AZ1 (apne-az1)
node2node1
AZ2 (apne-az2) AZ4 (apne-az4)
cluster_state
★
cluster_state
☆ node3
cluster_state
☆
AZ1 (apne-az1)
node2node1
AZ2 (apne-az2)
AZ障害時にクラスタ維持に必要な2ノードが確保できなかった。
計算式:N(=3)÷2+1=2(NはMasterノード数)
AZを3つ作成出来ることで、各AZにそれぞれMasterを配置可。
(Hadoop等の並列分散アーキテクチャが展開し易くなった)
16. 16
【参考】Kinesis Data Firehose経由だと...
KDF経由でログデータをAmazon ESに格納しようとするとパブリック接続になってしまうので、ご注意を!
(VPCエンドポイントは、VPCからパブリックサービスに出るときには通過するか、逆の経路では利用できない)
AWS Cloud
Amazon
Elasticsearch Service
(パブリックアクセス)
VPC
Amazon Kinesis
Data Firehose
Amazon
Elasticsearch Service
(VPCアクセス)
Amazon
CloudWatchLogs
Amazon VPCELB
Amazon RDS Amazon Aurora
Amazon EC2
ログ送信元
VPC Endpoint
20. 20
LogstashからAmazonESへの出力設定
output {
elasticsearch {
hosts => ["https://search-test-hoge.ap-northeast-1.es.amazonaws.com:443"]
index => "%{type}-%{+YYYY.MM.dd}"
}
}
output {
amazon_es {
hosts => ["search-test-hoge.ap-northeast-1.es.amazonaws.com"]
region => "ap-northeast-1"
index => "%{type}-%{+YYYY.MM.dd}"
}
}
Elastic社純正のプラグインでもAmazonES専用のプラグインでもLogstashからログ出力は可能です!
logstash-output-amazon_esプラグインの場合
logstash-output-elasticsearchプラグインの場合
23. 23
Open Distro for Elasticsearchとは
2019年3月に突如AWSがGitHub公開した別ディストリビューションのElasticsearchです!
【参考】新登場 – Open Distro for Elasticsearch
https://aws.amazon.com/jp/blogs/news/new-open-distro-for-elasticsearch/
じゃないよ!
39. 39
Alertingを試してみたよ!
【参考】Amazon Elasticsearch ServiceのAlertingを使ってAWS ConsoleLoginを監視してみた
https://qiita.com/hssh2_bin/items/06550d437ceb095a139c
Open Distro for ElasticsearchのAlertingを使って、AWS管理コンソールの不正ログインを見張る。
(許可されていない送信元IPアドレスからのログインをSlack通知させる)
AWS Cloud
Users
Internet
⑧Kibana Login
③Audit
Logging
⑥Alerting⑦Notification
Logstash
(EC2)
Slack
Slack
①AWS Management Console Login
OpenDistro
(EC2)
④Log
Input
⑤Log
Output
②AwsConsoleSignIn
ALB
Amazon
CloudWatchLogs
AWS CloudTrail
49. 49
Alerting設定方法(3/6)
監視対象データをクエリベースで指定する場合は、[Define using extraction query]を利用する。
{
"size": 0,
"query": {
"bool": {
"must": [
{
"match_all": {
"boost": 1
}
},
{
"match_phrase": {
“trusted_ip": {
"query": "false",
"slop": 0,
"zero_terms_query": "NONE",
"boost": 1
}
}
},
{
"match_phrase": {
"eventType": {
"query": "AwsConsoleSignIn",
"slop": 0,
"zero_terms_query": "NONE",
"boost": 1
}
}
},
{
"range": {
"cloudwatch_logs.ingestion_time": {
"from": "now-5m",
"to": "now",
"include_lower": true,
"include_upper": true,
"format": "epoch_millis",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
}
}