Recommended
PPTX
PPTX
ビッグデータ処理データベースの全体像と使い分け
2018年version
PPTX
Databricksを初めて使う人に向けて.pptx
PDF
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
PDF
マルチテナント化で知っておきたいデータベースのこと
PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PPTX
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
PDF
PPTX
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
PDF
Infrastructure as Code (IaC) 談義 2022
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
Amazon S3を中心とするデータ分析のベストプラクティス
PDF
PDF
PDF
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
PDF
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
PDF
PDF
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
PDF
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
PDF
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
PDF
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
More Related Content
PPTX
PPTX
ビッグデータ処理データベースの全体像と使い分け
2018年version
PPTX
Databricksを初めて使う人に向けて.pptx
PDF
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
PDF
マルチテナント化で知っておきたいデータベースのこと
PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
What's hot
PPTX
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
PDF
PPTX
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
PDF
Infrastructure as Code (IaC) 談義 2022
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
Amazon S3を中心とするデータ分析のベストプラクティス
PDF
PDF
PDF
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
PDF
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
PDF
PDF
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
PDF
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Viewers also liked
PDF
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
PDF
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
PDF
【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話
PPTX
Kibana + Winlogbeatで実現:Windowsのログ分析入門
PDF
PDF
Security threat analysis points for enterprise with oss
PDF
[ElasticStack]What happens when you visualize servers exposed to the world?
PDF
みんなが安全にクラウドを使うために色々考えた結果
PDF
世界はつながっている!VyOSで実現するマルチリージョン
PDF
PDF
Elastic stack 世界にさらしたサーバを可視化してみた
PDF
参加型イベントのための同意書のデザイン - 参加者が制作した成果のオープン化を伴う事例
PDF
SORACOM UG Shikoku #2 in 高知 | SORACOM 紹介 & Updates at ITPro Expo
PDF
IoT Getting Started with AWS and Raspberry Pi
PDF
SORACOM UG 信州 #1 | SORACOM 紹介
PPTX
TechGIRL「女帝になった話」20170914 @yuka_jyotei
PDF
八子クラウド座談会当日討議メモ付資料 20171007
PDF
Market trend nov.2017 cyber security
PDF
PDF
AWS導入ガイド 2017年版 〜 オンプレからの移行、運用・監視、セキュリティ対策 〜 | 業務活用に不可欠な セキュアなモバイルネットワーク構築
Similar to 【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
PDF
Amazon Elasticsearch Serviceを利用したAWSのログ活用
PDF
AWSを含めたハイブリッド環境の監視の実現 ~zabbixのクラウド対応モジュールHyClops~
PDF
[Sumo Logic x AWS 共催セミナー_20190829] Sumo Logic on AWS -AWS を活用したログ分析とセキュリティモニ...
PDF
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
PDF
Monitoring the health and performance of your aws environment using the Elast...
PPTX
PPTX
Amazon cloud trailご紹介とsumologicによる活用入門
PDF
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
PDF
PDF
PDF
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
PDF
PDF
cloudpack(AWS運用事業)一周年でわかってきたこと
PPTX
PDF
Logs are better with elastic apm 20210623
PDF
PDF
2019 09 06_import_log_into_elastic_search
PDF
PDF
PPTX
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
More from Hibino Hisashi
PDF
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
PDF
【ログ分析勉強会】セッションアクティビティログは使えるのか
PDF
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
PDF
【Log Analytics Tech Meetup】Beatsファミリーの紹介
PDF
AWS re:Inforce2019 re:Cap LT
PDF
【Log Analytics Tech Meetup】オープンソースで実現するログ分析技術入門
PDF
【第31回Elasticsearch勉強会】Security for Elasticsearch
PDF
【JAWS-UGコンテナ#14】ETL処理をServerlessにしてみた件
PDF
【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive
PDF
【第20回セキュリティ共有勉強会】Amazon FSx for Windows File Serverをセキュリティ観点で試してみたお話
PDF
【第17回セキュリティ共有勉強会】WAF導入で見えた脆弱性管理のあれこれ
PDF
【SecurityJAWS】Kibana Canvasで魅せる!AWS環境における脅威分析ユースケース
PDF
【JANOG41.5】Telemetryワーキンググループの発足と参加のお願い
PDF
【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話 1. 2. 3. 3 ×
自己紹介
名前:日比野 恒 (ひびの ひさし)
所属:フューチャーアーキテクト株式会社
Technology Innovation Group
セキュリティアーキテクト (CISA、登録セキスぺ)
領域:
サーバ基盤
OS
データベース
アプリケーション
ネットワーク
データセンター
セ
キ
ュ
リ
テ
ィ
4. 5. 6. 7. 7 ×
全体のアーキテクチャ
S3 Bucket
・
・
・
・
・
・
ECS Cluster
input s3
input s3
/log_a
/log_z
Log A
Elasticsearch
Cluster
Log Z
logstash container
logstash container
Elasticsearch01
Elasticsearch02
Elasticsearch03
Kibana01
Kibana02
HTTPS
@Tokyo
output elasticsearch
output elasticsearch
8. 8 ×
全体のアーキテクチャ
S3 Bucket
・
・
・
・
・
・
ECS Cluster
input s3
input s3
/log_a
/log_z
Log A
Elasticsearch
Cluster
Log Z
logstash container
logstash container
Elasticsearch01
Elasticsearch02
Elasticsearch03
Kibana01
Kibana02
HTTPS
@Tokyo
output elasticsearch
output elasticsearch
※本日の範囲
9. 9 ×
全体のアーキテクチャ
S3 Bucket
・
・
・
・
・
・
ECS Cluster
input s3
input s3
/log_a
/log_z
Log A
Elasticsearch
Cluster
Log Z
logstash container
logstash container
Elasticsearch01
Elasticsearch02
Elasticsearch03
Kibana01
Kibana02
HTTPS
@Tokyo
output elasticsearch
output elasticsearch
※本日の範囲
ユースケースはログ管理!!
10. 11. 12. 12 ×
EC2 Discovery Pluginでクラスタを組もう
AWSのSecurity Groupを認識して所属しているElasticsearchノードを探しに行く。
【参考】EC2 Discovery Plugin
https://www.elastic.co/guide/en/elasticsearch/plugins/5.6/discovery-ec2.html
Security Group
VPC
ES01 ES02
ES03
Elasticsearch
Cluster
# export ES_JAVA_OPTS=“-Dhttps.proxyHost=<プロキシIP> -Dhttps.proxyPort=<ポート>"
# /usr/share/elasticsearch/bin/elasticsearch-plugin install discovery-ec2
# vi /etc/elasticsearch/elasticsearch.yml
# --------------------------------- Discovery ----------------------------------
discovery.zen.hosts_provider: ec2
discovery.ec2.groups: "<SecurityGroupID>"
discovery.ec2.availability_zones: [ "ap-northeast-1a", "ap-northeast-1c" ]
cloud.aws.region: ap-northeast-1
# ---------------------------------- Cloud AWS --------------------------------
cloud:
aws:
protocol: https
proxy:
host: <プロキシサーバのIPアドレス>
port: <プロキシサーバのポート番号>
# systemctl restart elasticsearch
【導入手順】
※プロキシサーバ環境の場合に必要
Elasticsearch Cluster用
IAMロールを割り当てる
13. 13 ×
EC2
Repository S3 Pluginでバックアップとリストアを簡単に!
シームレスにS3 Bucketに対して、IndexのSnapshotをバックアップとリストアが可能。
【参考】Snapshot And Restore
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-snapshots.html#_repository_plugins
Curator 5 repository-s3
S3 Bucket
(log-a)
/backup/index
# export ES_JAVA_OPTS=“-Dhttps.proxyHost=<プロキシIP> -Dhttps.proxyPort=<ポート>"
# /usr/share/elasticsearch/bin/elasticsearch-plugin install repository-s3
【導入手順】
※プロキシサーバ環境の場合に必要
Elasticsearch
Index
1
2
Snapshot
Curator用IAMロールを割り当てる
PUT /_snapshot/my_s3_repository
{
"type": "s3",
"settings": {
"bucket": "log-a",
"region": "ap-northeast-1",
"base_path": "backup/index",
"compress": "true",
"server_side_encryption": "true"
}
}
14. 15. 16. 17. 17 ×
LogstashをECSでコンテナサービス化しよう!
コンテナ化することでLogstashをタスクとして実行することが可能になる。
EC2 (ビルドマシン)
CentOS 7.x
Docker 1.12
CentOS 7.x
Logstash 5.5.x
Dockerfile Image ECS
ECR
docker pushdocker build
ECS Cluster
EC2 (ECS最適化) EC2 (ECS最適化)
Docker 1.12
ECS Agent Logstash 5.5.x
Docker 1.12
ECS Agent Logstash 5.5.x
docker pull
ECS最適化AMI
(ami-ab5ea9cd)
【ECS化のメリット】
障害時のエラーハンドリング
ログの量やリアルタイム性に応じた柔軟なサイジング
【IAMロール】
AmazonEC2ContainerRegistryPowerUser
【IAMロール】
AmazonEC2ContainerServiceforEC2Role
18. 19. 20. 20 ×
{"Records":[{"eventVersion":"1.05","userIdentity":{"type":"IAMUser","principal
Id":"AIDAJWI3XZEUUMG6MUJNO","arn":"arn:aws:iam::930021801196:user/d
eploy","accountId":"930021801196","accessKeyId":"AKIAJSFVI6UIWJH3UBGQ",
"userName":"deploy"},"eventTime":"2017-08-
22T00:21:45Z","eventSource":"ec2.amazonaws.com","eventName":"DescribeTa
gs","awsRegion":"ap-northeast-
1","sourceIPAddress":"122.208.2.42","userAgent":"aws-cli/1.3.9 Python/2.6.9
Linux/3.10.40-
50.136.amzn1.x86_64","requestParameters":{"filterSet":{"items":[{"name":"r
esource-id","valueSet":{"items":[{"value":"i-
bd2862bb"}]}}]}},"responseElements":null,"requestID":"570f599f-6d88-430f-
9b75-2f6b2e4de006","eventID":"499e235d-979d-45ed-865f-
6be44eb66eeb","eventType":"AwsApiCall","recipientAccountId":"930021801196
"}]}
CloudTrailの操作ログのサンプル
21. 22. 22 ×
Amazon Elasticsearch Service(ES)との比較
比較項目 Amazon ES Elasticsearch on EC2
監視 CloudWatch X-Pack (Monitoring)
アクセス制御 IAM Policy X-Pack (Security)
バックアップ 1日毎 (14日保持) 任意のタイミング (容量に準ずる)
スケールアップ 無停止 無停止
スケールアウト 無停止 無停止
バージョンアップ 手動移行 無停止(5.6⇒6.0)
利用バージョン AWS指定バージョンのみ 最新バージョン
サポート AWSサポート Elasticサポート
利用可能機能 OSS範囲のみ Elastic有償機能 (X-Pack)
23. 23 ×
Amazon Elasticsearch Service(ES)との比較
比較項目 Amazon ES Elasticsearch on EC2
監視 CloudWatch X-Pack (Monitoring)
アクセス制御 IAM Policy X-Pack (Security)
バックアップ 1日毎 (14日保持) 任意のタイミング (容量に準ずる)
スケールアップ 無停止 無停止
スケールアウト 無停止 無停止
バージョンアップ 手動移行 無停止(5.6⇒6.0)
利用バージョン AWS指定バージョンのみ 最新バージョン
サポート AWSサポート Elasticサポート
利用可能機能 OSS範囲のみ Elastic有償機能 (X-Pack)
24. 25. 26. 27. 28. 29. 30. 31. 31 ×
SecurityGroup設定例
SG04SG03SG02SG01
# 送信元 宛先ポート
1 Elasticsearch(SG02) TCP 9600
# 送信元 宛先ポート
1 Kibana(SG03) TCP 9200
2 Logstash(SG01) TCP 9200
3 Elasticsearch(SG02) TCP 9200
4 Elasticsearch(SG02) TCP 9300
# 送信元 宛先ポート
1 ELB(SG04) TCP 5601
# 送信元 宛先ポート
1 a.a.a.a/32 TCP 443
送信元IPアドレス
a.a.a.a
【SG01:Logstash】 【SG02:Elasticsearch】 【SG03:Kibana】 【SG04:ELB】
32. 32 ×
Elasticsearchに必要なIAMロール
{
"Statement": [
{
"Action": [
"ec2:DescribeInstances“
],
"Effect": "Allow",
"Resource": [
"*“
]
}
],
"Version": "2012-10-17“
}
Elasticsearch Cluster用
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
“Resource”: “arn:aws:s3:::<S3 Bucket名>/backup/index/*“
}
]
}
Curator用
33. 33 ×
Logstashに必要なIAMロール
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*“
],
"Resource": "*“
}
]
}
input S3用
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:CreateCluster",
"ecs:DeregisterContainerInstance",
"ecs:DiscoverPollEndpoint",
"ecs:Poll",
"ecs:RegisterContainerInstance",
"ecs:StartTelemetrySession",
"ecs:UpdateContainerInstancesState",
"ecs:Submit*",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"logs:CreateLogStream",
"logs:PutLogEvents“
],
"Resource": "*“
}
]
}
ECSクラスタ用
34. 34 ×
elasticsearch.ymlのサンプル
# ---------------------------------- Cluster -----------------------------------
cluster.name: es_cluster01
# ------------------------------------ Node ------------------------------------
node.name: node-es01
# ---------------------------------- Network -----------------------------------
network.host: 0.0.0.0
# --------------------------------- Discovery ----------------------------------
discovery.zen.hosts_provider: ec2
discovery.ec2.groups: "<SecurityGroupID>"
discovery.ec2.availability_zones: [ "ap-northeast-1a", "ap-northeast-1c" ]
cloud.aws.region: ap-northeast-1
# ---------------------------------- Cloud AWS --------------------------------
cloud:
aws:
protocol: https
proxy:
host: <プロキシサーバのIPアドレス>
port: <プロキシサーバのポート番号>
AWSとの通信にプロキシサーバを介す場合
35. 35 ×
logstash.confのサンプル
input {
s3 {
backup_to_bucket => “bucket-a"
backup_add_prefix => “backup/"
delete => "true"
bucket => "bucket-a"
region => "ap-northeast-1"
prefix => “log/log-a"
interval => "5"
sincedb_path => "/var/lib/logstash/sincedb"
}
}
filter {
date {
timezone => "Asia/Tokyo“
}
}
output {
elasticsearch {
hosts => [ “internal-<ELB名>-<AWSアカウント>.ap-northeast-1.elb.amazonaws.com:9200" ]
index => “log-a-%{+YYYY.MM.dd}"
template_name => "log-a"
}
}
36. 36 ×
Dockerfileのサンプル
FROM centos:7
# Ensure Logstash gets a UTF-8 locale by default.
ENV LANG='en_US.UTF-8' LC_ALL='en_US.UTF-8'
# timezone settings
RUN cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# install java1.8.0
RUN yum install -y java-1.8.0-openjdk
ENV JAVA_HOME=/usr/lib/jvm/jre-1.8.0
COPY java.sh /etc/profile.d/java.sh
RUN chmod +x /etc/profile.d/java.sh
# install logstash
COPY elastic.repo /etc/yum.repos.d/
RUN yum install -y logstash-5.5.x
COPY logstash.conf /etc/logstash/conf.d/logstash.conf
COPY logstash.yml /etc/logstash/logstash.yml
#install plugins
RUN /usr/share/logstash/bin/logstash-plugin install <plugins名>
# enable systemd
ENV container docker
# exec logstash
RUN systemctl enable logstash.service
EXPOSE 5044
CMD [“/usr/sbin/init”]