Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Elasticsearch Service について

Yohei Kawahara
April 26, 2016
980

Amazon Elasticsearch Service について

「Elasticsearch勉強会 in 福岡」にてお話させて頂いた資料です。

Yohei Kawahara

April 26, 2016
Tweet

Transcript

  1. Amazon Elasticsearch Service について
    2016.04.26
    Elasticsearch勉強会 in 福岡
    かっぱ(@inokara)

    View full-size slide

  2. AWSを活⽤しながらビジネスに集中できる
    コンシェルジュサービス

    View full-size slide

  3. 24時間365⽇
    定額課⾦/
    請求書払い
    PCI DSS、ISMS、Pマーク取得済みの運⽤体制
    監視運⽤保守
    企業 AWS

    View full-size slide

  4. (1,500⽇間)
    ※ 2010年5⽉cloudpackサービススタート
    36,000時間
    連続稼働
    (※)

    View full-size slide

  5. 4 社
    社超
    プロジェク
    ト超
    500
    600
    5年間
    5年間AWSのみで運⽤保守

    View full-size slide

  6. アジア地域4社
    世界28社
    最上位パートナー
    プレミアコンサルティングパートナー

    View full-size slide

  7. 企業規模別 cloudpack利⽤⽐率
    36%
    27 37
    % %
    中⼩企業 中堅企業 ⼤企業

    View full-size slide

  8. Web系
    91

    うち33%が
    ソーシャルゲームや
    メディアサイト
    cloudpackͷओͳར༻状況

    View full-size slide

  9. これは cloudpack の CM です

    View full-size slide

  10. これは cloudpack の CM です

    View full-size slide

  11. これは cloudpack の CM です

    View full-size slide

  12. アジェンダ
    ☁ 注意
    ☁ ⾃⼰紹介
    ☁ Amazon Elasticsearch Service について
    ☁ 個⼈的に試してみたこと
    ☁ Demo
    ☁ 終わり

    View full-size slide

  13. 注意
    ☁ 本資料では Amazon Elasticsearch Service について簡単に
    紹介させて頂きます
    ☁ AWS Black Belt Tech Webinar 2016 〜 Amazon
    CloudSearch & Amazon Elasticsearch Service 〜 より多
    数引⽤させて頂いております
    ☁ 本資料に記載された内容の全ては作成時点の内容となります
    ☁ 本資料内で Amazon Elasticsearch Service を Amazon ES
    と省略して記載している部分があります

    View full-size slide

  14. ⾃⼰紹介
    ☁ 川原洋平(@inokara)
    ☁ 「かっぱ」とお気軽にお声がけ下さい
    ☁ 初⽼丸(40 歳)
    ☁ アイレット株式会社 cloudpack 事業部所属
    ☁ ⾹椎からリモート勤務(もうすぐ 2 年⽬)
    ☁ 好きな⾔葉:中年⽼い易く作業成り難し
    ☁ 最近気になること:加齢臭

    View full-size slide

  15. Amazon Elasticserach Service について

    View full-size slide

  16. その前に… Elasticsearch とは
    ☁ スキーマフリー
    ☁ 分散ドキュメントストア
    ☁ REST & API
    ☁ インストールが簡単、導⼊が簡単
    ☁ Java で実装

    View full-size slide

  17. その前に… Amazon CloudSearch について
    ☁ 2011 年から Amazon が提供しているフルマネージド
    検索サービス
    ☁ AWS のカテゴリでは Application Services に含まれ
    ている
    ☁ amazon.com で利⽤されている
    ☁ 検索エンジンとしては Apache Solr が利⽤されている
    ☁ 詳細については…

    View full-size slide

  18. その前に… Amazon CloudSearch について
    ☁ 2011 年から Amazon が提供しているフルマネージド
    検索サービス
    ☁ AWS のカテゴリでは Application Services に含まれ
    ている
    ☁ amazon.com で利⽤されている
    ☁ 検索エンジンとしては Apache Solr が利⽤されている
    ☁ 詳細については…
    http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-webinar-2016-amazon-cloudsearch-amazon-elasticsearch-service

    View full-size slide

  19. Amazon Elsticsearch Service について
    ☁ 2015 年 10 ⽉にリリースされた AWS フルマネージドな ELK
    スタックサービス
    ☁ AWS のカテゴリでは Analytics に含まれている
    ☁ 管理(可⽤性の確保、パッチ管理、障害検出、ノードの交換、
    バックアップ、モニタリング等)は AWS にある程度お任せ
    ☁ CloudWatch と連携した⾼いスケーラビリティ
    ☁ Kibana ⼊り(はじめから Kibana が利⽤可能)
    ☁ IAM ポリシーによって安全にクラスタにアクセス出来る

    View full-size slide

  20. Amazon Elsticsearch Service について

    View full-size slide

  21. Amazon Elsticsearch Service の導⼊
    ☁ Manegement Console からであれば数ステップ
    ☁ クラスタ = ドメイン
    ☁ ドメインを作るところから始める
    ☁ 10 分位でアクセス可能な状態になる

    View full-size slide

  22. Amazon Elsticsearch Service の導⼊
    ☁ インスタンスタイプの選択
    ☁ T2 シリーズ:テスト、クラスタ管理向け
    ☁ R3 シリーズ:メモリ重視
    ☁ I2 シリーズ:ハイパフォーマンス
    ☁ M3 シリーズ:⼀般的な利⽤

    View full-size slide

  23. Amazon Elsticsearch Service の導⼊
    ☁ ドメインのノード数
    ☁ Enable dedicated master
    ☁ クラスタ管理のみを⾏うノードを作成する(奇数で⽤意することを推奨)
    ☁ Enable zone awareness[あうぇあねす]
    ☁ リージョン内の複数 AZ にノードを分散配置する
    ☁ 最⼤ 10 ノードまで作成可能
    ☁ Advance setting
    ☁ rest.action.multi.allow_explicit_index
    ☁ URL Base のアクセスポリシーを指定
    ☁ indices.fielddata.cache.size
    ☁ fielddata のキャッシュサイズを指定

    View full-size slide

  24. Amazon Elsticsearch Service の導⼊
    ☁ ストレージ
    ☁ T2 シリーズ以外は Instance Store を選択することができる
    ☁ EBS は Magnetic / GP2 / PIOPS から選択することが出来る
    ☁ EBS サイズは最低 10GB から最⼤ 512GB まで指定することが出来
    る(インスタンスサイズによって最⼤サイズは異なる)
    ☁ スナップショットの時間を任意に指定することが出来る

    View full-size slide

  25. Amazon Elsticsearch Service の導⼊
    ☁ アクセスポリシーの設定
    ☁ IAM や IP アドレスで制御することができる(後述)

    View full-size slide

  26. Demo
    ☁ Amazon Elasticsearch Service クラスタ構築
    ☁ インスタンスサイズは t2.micro
    ☁ EBS は Magnetic で 10GB
    ☁ ノードは 1 台
    ☁ IP アドレスでアクセスを制御する

    View full-size slide

  27. Amazon Elsticsearch Service の管理
    ☁ モニタリングは CloudWatch で
    ☁ 必要に応じて⼿動でスケールアウトが可能
    ☁ スナップショット
    ☁ デフォルトでは⾃動的に取得される
    ☁ スナップショット取得時間は指定可能
    ☁ 保存期間は 14 ⽇間
    ☁ レストアするには AWS サポートにお願いする必要がある...orz
    ☁ _snapshot API を使うことで⼿動でスナップショットを作成可能

    View full-size slide

  28. Amazon Elsticsearch Service について(Elasticsearch API)
    ☁ Elasticsearch の各種 API がサポートされている
    ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/
    latest/developerguide/es-gsg-supported-operations.html
    ☁ 残念ながらサポートされていない API もある...
    ☁ 例えば、status とか(elasticsearch-head とかで使われている)

    View full-size slide

  29. Amazon Elsticsearch Service について(Elasticsearch API)
    ☁ Elasticsearch の各種 API がサポートされている
    ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/
    latest/developerguide/es-gsg-supported-operations.html
    ☁ 残念ながらサポートされていない API もある...
    ☁ 例えば、status とか(elasticsearch-head とかで使われている)

    View full-size slide

  30. Amazon Elsticsearch Service について(プラグイン)
    ☁ 以下のプラグインが導⼊されている
    ☁ Kinaba 3
    ☁ Kibana 4
    ☁ jetty
    ☁ cloud-aws
    ☁ kuromoji
    ☁ icu
    ☁ ⾃分でプラグインが追加出来ない...
    ☁ そもそもインストールできたらマネージドではなくなるので仕⽅ないのかなと思っ
    ている

    View full-size slide

  31. Amazon Elsticsearch Service について(アクセスポリシー)
    ☁ IAM ユーザー、AWS アカウントによる制御
    ☁ IP アドレスによるアクセス制御
    ☁ (余談) Lambda からのアクセスは挫折した
    ☁ IAM でアクセス制御している API にリクエストする場合には、アク
    セスを許可されたリソースの credential を使った署名を付与する必
    要がある
    ☁ SDK は上記を程よくラッピングしているので意識する必要は無い

    View full-size slide

  32. Amazon Elsticsearch Service について(他のサービスとの連携)
    ☁ Amazon CloudWatch Logs
    ☁ CloudWatch Logs から直接 Amazon ES にログを転送することが出来る
    ☁ Lambda Function が裏で暗躍している(⾃動的に⽣成される)
    ☁ AWS IoT
    ☁ AWS IoT のルールでデバイスが⽣成したデータを直接、 Amazon
    Elasticsearch に放り込むことが出来る
    ☁ 2016 年 03 ⽉よりサポートされた
    ☁ その他…S3 / Kinesis / DynamoDB とワンタッチ連携

    View full-size slide

  33. Amazon Elsticsearch Service の費⽤
    ☁ Amazon Elasticsearch インスタンスの料⾦
    ☁ EBS ボリュームの料⾦
    ☁ インスタンスサイズによっては Instance Store が利⽤出来る
    ☁ データ転送料⾦
    ☁ 基本的なデータ転送の費⽤が掛かります
    ☁ 無料枠もあります
    ☁ 単⼀ AZ の t2.micro.elasticsearch インスタンス最⼤ 750 時間/⽉ + EBS ストレー
    ジ (マグネティックまたは汎⽤) 10 GB/⽉を利⽤できる

    View full-size slide

  34. Amazon Elsticsearch Service の各種制限
    ☁ Elasticsearch のバージョンが固定(1.5.2)
    ☁ VPC ⾮対応
    ☁ プラグインのインストール
    ☁ ⼀部の Elasticsearch API が利⽤出来ない
    ☁ ストレージサイズの上限がインスタンスタイプによって異なる
    ☁ その他の制限については…
    ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/
    developerguide/aes-limits.html

    View full-size slide

  35. 個⼈的に試してみたこと

    View full-size slide

  36. ⼿動によるスナップショット

    View full-size slide

  37. ⼿動によるスナップショット
    http://inokara.hateblo.jp/entry/2015/12/05/181358

    View full-size slide

  38. Fluentd + CloudWatch Logs との連携

    View full-size slide

  39. Fluentd + CloudWatch Logs との連携

    View full-size slide

  40. Fluentd + CloudWatch Logs との連携
    http://inokara.hateblo.jp/entry/2015/12/06/192436

    View full-size slide

  41. Amazon S3 + S3 Event notification + SQS との連携

    View full-size slide

  42. Amazon S3 + S3 Event notification + SQS との連携

    View full-size slide

  43. Amazon S3 + S3 Event notification + SQS との連携
    http://inokara.hateblo.jp/entry/2015/12/10/224031

    View full-size slide

  44. Amazon ES を触った感想
    ☁ 簡単構築、運⽤管理のコストは下がると思う
    ☁ 基本的な操作は API で出来るので普通の Elasticsearch となんら遜⾊が無い
    ☁ 但し、利⽤が制限されている API があるので注意
    ☁ インデックスの Mapping についても⾃分で⾯倒を⾒る必要がある(逆に⾔う
    と任意に定義出来る)
    ☁ Kibana 同梱は嬉しいが⾃分でプラグインインストール出来ないのは⾟いけ
    ど我慢しよう
    ☁ Lambda との連携が理想的だけどアクセスポリシーと併⽤する際には注意が
    必要(SDK が対応してくれると嬉しい)

    View full-size slide

  45. まとめ(Amazon ES とは)
    ☁ Amazon Elasticsearch Service は AWS が提供するフルマ
    ネージドな ELK スタックサービス
    ☁ IAM によってインデックスへの接続を制限してセキュアに運
    ⽤することが出来る
    ☁ 他の AWS サービスと⽐較的簡単に連携することが出来る
    ☁ ⼀部の制限はあるが Elasticserach API をサポート、プラグイ
    ンはインストール済み(追加インストールは不可)
    ☁ 是⾮、使ってみて下さいm(__)m

    View full-size slide

  46. 参考リンク
    ☁ http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-
    webinar-2016-amazon-cloudsearch-amazon-elasticsearch-service
    ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/
    aes-dg.pdf
    ☁ http://www.slideshare.net/AmazonWebServices/bdt209-launch-amazon-
    elasticsearch-for-realtime-data-analytics
    ☁ https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
    ☁ https://speakerdeck.com/johtani/elasticsearchfalseshao-jie-tote-zheng-cross-2015
    ☁ http://inokara.hateblo.jp/entry/2015/12/05/181358
    ☁ http://inokara.hateblo.jp/entry/2015/12/06/192436
    ☁ http://inokara.hateblo.jp/entry/2015/12/10/224031

    View full-size slide

  47. 質問…(はお⼿柔らかに…)

    View full-size slide