Weitere ähnliche Inhalte
Ähnlich wie Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤 (20)
Mehr von Amazon Web Services Japan (20)
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
- 1. © 2021, Amazon Web Services, Inc. or its Affiliates.
Amazon Web Services Japan, K.K.
2021/06/08
Chie Hayashida
Kinesis + Elasticsearchでつくる
さいきょうのログ分析基盤
- 2. © 2021, Amazon Web Services, Inc. or its Affiliates.
2
2
⾃⼰紹介
林田千瑛(Chie Hayashida)
アナリティクススペシャリストSA@AWS
すきなたべもの:肉
- 3. © 2021, Amazon Web Services, Inc. or its Affiliates.
3
3
こんな⼈にきいてほしい
ログの可視化ができていない
• 数字ベースのビジネス判断を行うための指標がない
• アプリケーションやインフラの稼働状況が可視化できていない
現在のログ分析基盤に課題がある
• オンプレのサーバや分析ソフトウェアのライセンス費用をクラウド化で削減し
たい
• AWSもしくは他クラウド上のログ分析基盤がうまく活用できていない
- 4. © 2021, Amazon Web Services, Inc. or its Affiliates.
4
リアルタイムなログ分析、
やってますか︖
- 5. © 2021, Amazon Web Services, Inc. or its Affiliates.
5
5
バッチデータでできるログ分析
数十分から1日前以前のデータを利用
例)
• 日次・月次でのメトリクスの集計レポート
• 長いスパンでのトレンド分析
• 過去のある時点の状況を可視化
- 6. © 2021, Amazon Web Services, Inc. or its Affiliates.
6
6
(ニア)リアルタイムデータでできるログ分析
数ミリから数秒単位のレイテンシで得られるデータを利用
例)
• 数秒〜数分前の状況を可視化
• インシデント発生時に即座に原因分析
• 直近のトレンド情報を利用したアラート
- 7. © 2021, Amazon Web Services, Inc. or its Affiliates.
7
7
リアルタイムログ分析の例
ビジネス分析
• ユーザの動向をリアルタイムに確認して施策に反映
• 商品の売上を監視して在庫が無くなりそうになったらアラート
• 金融商品の取引状況を監視
• マシン設備の稼働状況を監視
アプリケーション/インフラログの分析
• レイテンシやエラーレートの急増を検知
• アプリケーションエラーをリアルタイムにドリルダウン分析
• セキュリティインシデント監視/異常検知
セキュリティ
• 疑わしいユーザ動向の検知(不正ユーザの早期発見・原因分析)
• 侵入直後に侵入者のIPでアクセスされたデータを特定
- 8. © 2021, Amazon Web Services, Inc. or its Affiliates.
8
8
ログ分析ダッシュボード例
サーバリソースの監視
- 9. © 2021, Amazon Web Services, Inc. or its Affiliates.
9
9
ログ分析ダッシュボード例
セキュリティログの可視化(SIEM)
ログをセキュリティ分析の観点から
時系列、地理情報などで視覚化
AWS CloudTrail
Amazon GuardDuty
- 10. © 2021, Amazon Web Services, Inc. or its Affiliates.
10
10
ログ分析ダッシュボード例
タクシーの移動情報の可視化
- 11. © 2020, Amazon Web Services, Inc. or its Affiliates.
11
マネージド検索サービス
Amazon Elasticsearch
Service
マネージドストリーム
処理サービス
Amazon Kinesis
シンプルなアーキテクチャでニアリアルタイム分析基盤が
構築可能
- 12. © 2021, Amazon Web Services, Inc. or its Affiliates.
12
12
Amazon KinesisとAmazon Elasticsearch Serviceが
選ばれる理由
• 2つのサービスだけでアーキテクチャを
シンプルにできる
• スケーラブル
• リアルタイム分析に必要な機能が揃っている
• 従量課金
- 13. © 2021, Amazon Web Services, Inc. or its Affiliates.
13
13
【事例】Airbnb
• 数百以上のサービス上で様々な方法・異なるログローマットで生成されるログ
を収集
• 1日300TB以上のデータをインデックス化
• 変動するトラフィックに対応するスケーラブルな分析環境の実現
• 複数チームにまたがるマルチテナント分析環境の実現
数秒のレイテンシで分析可能に
内製ツール
シンプル!
- 14. © 2021, Amazon Web Services, Inc. or its Affiliates.
14
14
【事例】THOMSONREUTERS
• 1年で4,000 events/sec から10,000 events/sec への
スケールに対応
• 新しいデータを10秒以内にダッシュボード反映
• ローンチ以来データロスやダウンタイムゼロ
シンプル!
- 15. © 2021, Amazon Web Services, Inc. or its Affiliates.
15
15
【事例】AUTODESK
• オンプレ上のRoute-cause AnalysisシステムをAWSへの移行によって90%の費
用削減
• ニアリアルタイムでのログ可視化と原因特定により、MTTIとMTTRを改善
- 16. © 2021, Amazon Web Services, Inc. or its Affiliates.
16
16
【事例】PayPay
• 2.8TB/日のトランザクションデータを57ノードのAmazon Elasticsearch
Service クラスタで分析
• 大規模なインデックスデータの管理をAmazon Elasticsearch Serviceの機能で
実現
- 18. © 2021, Amazon Web Services, Inc. or its Affiliates.
18
18
Amazon Kinesis
スケーラブルで高機能なフルマ
ネージドストリーミングサービス
- 19. © 2021, Amazon Web Services, Inc. or its Affiliates.
19
19
Amazon Kinesis
AWSにおけるストリーミングサービス
üインフラ管理不要
üスケーラブル
ü高い耐障害性
üセキュア
üAWSや3rdパーティサービスとの接続性
ü利用した分のみ課金
üさまざまなユースケースを網羅する機能
- 20. © 2021, Amazon Web Services, Inc. or its Affiliates.
20
20
Kinesis Family
どんなユースケースも対応するサービス群
Kinesis
Data Streams
Kinesis
Data Firehose
Kinesis
Data Analytics
ストリームデータを
データストアに
ロードする機能
ストリームデータを
分析する機能
ストリームを取得、
加工して転送する機能
- 21. © 2021, Amazon Web Services, Inc. or its Affiliates.
21
21
分析対象データの例
IoT & Mobile
• 自動車
• スマートホームデバイス
• IoT搭載ツール
• 製造設備
• モバイルアプリ
IT & DevOps
• データベース
• ロードバランサ
• ネットワークSW
• デプロイツール
• サーバ
Application & Cloud
• アクセスログ
• 環境設定変更ログ
• Webアプリケーションログ
• ビジネスアプリケーション
• コンテナフレームワーク
- 22. © 2021, Amazon Web Services, Inc. or its Affiliates.
22
22
さまざまなタイプのデータ収集に対応
Producers
Kinesis
Transactions
ERP
Web logs/
cookies
Connected
devices
AWS SDK
• サーバやモバイルからAPIを通じて直接Publish
AWS Service Integrations
• CloudWatch Logs, AWS IoT, DynamoDB, Amazon Database Migration Service
Kinesis Agent
• ログファイルを監視して新しいレコードを転送
Kinesis Producer Library (KPL)
• ストリームデータを発生させてPublish
• 複数レコードをAggregateできる
3rd party and open source
• Log4j appender
• Apache Kafka
• Flume, fluentd, and more …
- 23. © 2021, Amazon Web Services, Inc. or its Affiliates.
23
23
Kinesis Data Streams
• データの生成元(Publisher)からストリームデータを受け取り、一時
永続化して、データの利用先(Consumer)にデータを渡すサービス
• さまざまなストリーミングサービスと連携
• クライアントライブラリを利用して独自のストリーミングアプリケー
ション作成が可能
• シャード数の増減によってスループットを調整
Publisher Consumer
受け取ってすぐに処理
Kinesis
Data Streams
- 24. © 2021, Amazon Web Services, Inc. or its Affiliates.
24
24
Kinesis Data Firehose
• データ送信元からストリームデータを受け取り、決められた
バッファが溜まったタイミングもしくは一定時間ごとにデータ
ストアに格納するサービス
• 格納先のデータストアは、Amazon S3 / Amazon Redshift /
Amazon Elasticsearch Service が利用可能
• シャード管理不要
Publisher データストア
バッファが溜まったタイミン
グもしくは決まった頻度で転
送
Kinesis
Data Firehose
- 25. © 2021, Amazon Web Services, Inc. or its Affiliates.
25
25
Kinesis Data Streamsと Kinesis Data
Firehose の使い分け
Kinesis Data Streams
• ミリ秒から秒単位のレイテンシで処理を行いたい場合
• 複数のConsumerに低遅延でのデータ転送を行いたい場合
• ストリームデータを利用する独自のアプリケーションを作成
したい場合
Kinesis Firehose
• 数秒から数十分前のデータを利用してニアリアルタイム分析
を行いたい場合
- 26. © 2021, Amazon Web Services, Inc. or its Affiliates.
26
26
両⽅利⽤する場合
一つのストリームを独自アプリケーションとニアリアルタイム
分析の両方を行いたい場合
AWS Lambda
Amazon Kinesis
Data Firehose
Amazon Kinesis
Data Streams
Amazon
Elasticsearch
Service
Users
Users
Publisher
独自アプリケーション
ニアリアルタイム分析
- 27. © 2021, Amazon Web Services, Inc. or its Affiliates.
27
27
Kinesis Data Analytics
• Apache Flinkアプリケーションを構築してKinesis Data Streamsや
Kinesis Data Firehose内に一時永続化したデータに対して分析を
行えるサービス
• 分析クエリはSQLやJava、Scala、Pythonで書ける
• 結果はKinesis Data Streams/Kinesis Data Firehose/AWS Lambdaのい
ずれかに出力
• 負荷に応じてKPU(コンピュートリソースの単位)を自動伸縮
• Apache Beamもサポート
Publishe
r
Kinesis
Data
Amazon Kinesis
Data Analytics
分析クエリの実行
Amazon Kinesis
AWS Lambda
- 28. © 2021, Amazon Web Services, Inc. or its Affiliates.
28
28
SQLによる分析の例
分析コード
実行
Amazon Kinesis Data Analytics
入力ストリーム 出力ストリーム
CREATE OR REPLACE STREAM “DESTINATION_STREAM” (
“id” BIGINT NOT NULL,
“action” VARCHAR(64)
);
CREATE OR REPLACE PUMP “SAMPLE_PUMP” AS
INSERT INTO “DESTINATION_STREAM”
SELECT STREAM
user_id,
action
FROM “INPUT_STREAM”
);
- 29. © 2021, Amazon Web Services, Inc. or its Affiliates.
29
29
Kinesis Data Anlyticsのしくみ
Kinesis
Data Streams
Kinesis
Data Firehose
Amazon Kinesis Data Analytics
Kinesis
Data Streams
Kinesis
Data Firehose
AWS Lambda
AWS Lambda
(前処理・オプション)
or
分析コード
実行
入力ストリーム
出力ストリーム
エラーストリーム
Amazon S3
S3上のマスタデータ
とjoinできる
- 30. © 2021, Amazon Web Services, Inc. or its Affiliates.
30
30
AWS Lambdaによるストリームデータ処理とKinesis Data
Analyticsの使い分け
Kinesis
Data Streams
Kinesis
Data Firehose
Amazon Kinesis Data Analytics
AWS Lambda
(前処理・オプション)
分析コード
実行
入力ストリーム
出力ストリーム
エラーストリーム
Amazon S3
AWS Lambda
• 好きな言語環境でレコードごとのデータ処理
を行いたい場合
• S3以外のAWSサービスと連携したい場合
Kinesis Data Analytics
• 時間ウインドウに対するアグリゲーションを
含む処理を行いたい場合
• S3上の特定のマスタデータを参照する場合
- 31. © 2021, Amazon Web Services, Inc. or its Affiliates.
31
31
Kinesis Data Analytics Studio
• ノートブックでストリームデータをインタラクティブに分析
• 目指した結果が得られたら数クリックで本番デプロイ
N
e
w
!
- 32. © 2021, Amazon Web Services, Inc. or its Affiliates.
32
32
ログ分析におけるストリームデータ加⼯のユースケース
• ログのフィルタリング
• 不要なログを捨てることでコスト削減・分析クエリのパフォーマンス
劣化を防ぐ
• ログのエンリッチメント
• ホスト名からIPアドレス情報を付加
• ENI情報を特定
• タグ情報の追加
• リソースタイプごとにインデックス化
• リソースタイプによって異なるインデックスへ書き込み
- 33. © 2021, Amazon Web Services, Inc. or its Affiliates.
33
33
Amazon Elasticsearch Service
分散型 RESTful 検索/分析エンジン
Elasticsearchと可視化ツール
Kibana のフルマネージドサービス
- 34. © 2021, Amazon Web Services, Inc. or its Affiliates.
34
34
ユースケース
構造化データ, ⾮構造化データ
n-gram, 形態素解析
フィルタリング, ランキング
全⽂検索
⼤量データの挿⼊(100+TB/dayにも対応)
ニアリアルタイムなデータ取り込み
複雑, 広範囲なデータ集計
ダッシュボード,レポート
異常検出, アラート
データ分析, 可視化
- 35. © 2021, Amazon Web Services, Inc. or its Affiliates.
35
35
Amazon Elasticsearch Serviceを選ぶ理由
従量課金、運用コスト削減、ワー
クロードに応じたインスタンスタ
イプ、リザーブドインスタンスの
利用、UltraWarmとCold Storage
API とコンソール経由で,
数分でクラスターをデプロイ
Kibanaを利用した分析ダッシュ
ボードの作成やUI上でのインタ
ラクティブなデータ分析が可能
クラスタを簡単にリサイズ可能
PBクラスのデータ量に対応
1つのKibanaインタフェースから複
数クラスタをまたがった検索
Amazon VPC へのデプロイ
Amazon Cognito, 外部 IDaaS との連携
FISMA, SOC, PCI, FedRamp 取得
マルチテナント機能, 監査ログ
マルチAZ対応
自動スナップショット
フルマネージド 可視化機能つき 高いスケーラビリティと
パフォーマンス
セキュア 高い可用性 コスト効率
- 36. © 2021, Amazon Web Services, Inc. or its Affiliates.
36
36
エンタープライズグレードのセキュリティ、アラー
ト、 リアルタイム異常検知、SQL、クエリの⾮同期実
⾏ などを強化
Apache 2.0 ライセンスの Elasticsearch ディストリ
ビューション
Open Distro for Elasticsearch を採⽤
Analysis
Anomaly Detection
Alert
Trace Analytics
Security
Audit Logs
Access Control
Index Management
ISM(Index State Management)
Index Rollups
Refresh Search Analyzer
Analyzer
Performance Analyzer
Root Cause Analysis
Advanced Search
Asynchronous Search
k-NN
PPL(Piped Processing Language)
SQL
- 37. © 2021, Amazon Web Services, Inc. or its Affiliates.
37
37
SIEM on Amazon Elasticsearch Service
マネージドサービスとサーバーレスのみで構成
マルチアカウント・マルチリージョン対応
CloudFormation/CDK によるデプロイ。約30分で完了
マルチリージョン・
マルチアカウントの
ログを集約して保存
- 38. © 2021, Amazon Web Services, Inc. or its Affiliates.
38
38
UltraWarmとCold Storage
コストを抑えてクラスタをスケール
UltraWarm
• インデックスをS3上に配置して読み取り専⽤
でクエリを実⾏
• ホットノードとの間で移動が可能
• i3ファミリーのホットノードと⽐べて90%近
くコスト削減
Cold Storage
• アクセス頻度の低いデータをS3上に保管
• 必要な時にUltraWarmにアタッチして分析
• コストはS3のみ
- 39. © 2021, Amazon Web Services, Inc. or its Affiliates.
39
39
Anomary Detection on Amazon Elasticsearch Service
• Random Cut Forest(RCF)を利用して正常の状態を学習してそれと異なる動き
をニアリアルタイムで検出
• 検出した異常をアラート機能と連携して通知
• MLの知識なしに利用可能
- 40. © 2021, Amazon Web Services, Inc. or its Affiliates.
42
42
なぜログ分析にElasticsearchなのか
• REST APIを利用してインタラクティブにCRUD(※)が実行できる
• ニアリアルタイム分析による迅速なトラブルシュートができる
• インデックスにより特定の文字列を含むログの抽出をDWHと比べて高速に行
うことができる
• 数十億レコードの分析を数秒で実行可能
• リッチな可視化機能をビルトインで提供
• UltraWarmやCold Storage、リザーブドインスタンスによるコスト削減
※CRUD: create, read, update, delete の略
- 41. © 2021, Amazon Web Services, Inc. or its Affiliates.
43
43
ログ分析のためのElasticsearchインデックス管理
• ログタイプ・日付ごとにインデックス作成(ログの
量によって調整)
• インデックステンプレートを利用することで新しい
日付のインデックスを自動作成
• Index State Management(ISM)によって古いインデッ
クスは削除 or UltraWarm/Cold Storageへ自動移動
• 履歴データは必要に応じて
定期的にRollUp(Aggregation)
してクエリ高速化・データ圧縮
accesslogs_20210607
accesslogs _20210606
accesslogs _20210605
accesslogs _20210604
accesslogs _20210603
accesslogs _20210602
accesslogs _20210601
- 42. © 2021, Amazon Web Services, Inc. or its Affiliates.
44
44
まとめ
• Amazon KinesisとAmazon Elasticsearch Serviceは多くのグローバ
ル企業でログ分析基盤として採用されている
• 2つのサービスのみで簡単にスケーラブルなニアリアルタイムログ
分析を実現できる
• あらゆるログの収集・加工・分析・可視化に対応する機能を備えて
いる