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

2015 年のうちにやっておきたい Amazon Elasticsearch Service 入門

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Yohei Kawahara Yohei Kawahara
December 13, 2015
2.1k

2015 年のうちにやっておきたい Amazon Elasticsearch Service 入門

JAWS-UG 福岡「ちょっと濃い目にAWSの話をしてみよう」で発表したスライドです。

Avatar for Yohei Kawahara

Yohei Kawahara

December 13, 2015
Tweet

Transcript

  1. アジェンダ ☁ 注意 ☁ ⾃⼰紹介 ☁ Demo の準備 ☁ Amazon

    Elasticsearch Service について ☁ 個⼈的な事例(途中で Demo を挟むかも) ☁ Demo ☁ 終わり
  2. 注意 ☁ ⾃分が Amazon Elasticsearch Service に⼊⾨したメ モです ☁ 運⽤事例等の役⽴つ情報は無いかもしれません

    ☁ 本資料に記載された内容の全ては作成時点の内容とな ります ☁ 本資料内で Amazon Elasticsearch Service を Amazon ES と省略して記載している部分があります
  3. Amazon ES クラスタを構築してみる ☁ 後ほど九州地⽅の PM 2.5 を可視化します ☁ その前に

    Amazon ES クラスタを構築します ☁ 10 分位でクラスタ構築されます ☁ クラスタ構築後 PM2.5 のデータを投⼊します
  4. その前に Elasticsearch とは ☁ スキーマフリー ☁ 分散ドキュメントストア ☁ REST &

    API ☁ インストールが簡単、導⼊が簡単 ☁ Java で実装
  5. ボクと Elasticsearch の過去 ☁ 導⼊し易いが故の… ☁ プラグイン ☁ JVM ☁

    アクセスコントロール ‘ ৭ʑͱ൓ল͠ͳ͚Ε͹͍͚ͳ͍ࣄ͕͋Γ·͢ʜ͕ɺ ·ͨࠓ౓ʜ
  6. Amazon Elsticsearch Service について(概要) ☁ 簡単デプロイ ☁ 管理(可⽤性の確保、パッチ管理、障害検出、ノードの交 換、バックアップ、モニタリング等)は AWS

    にある程度 お任せ ☁ CloudWatch と連携した⾼いスケーラビリティ ☁ Kibana ⼊り(はじめから Kibana が利⽤可能) ☁ IAM ポリシーによって安全にクラスタにアクセス出来る
  7. Amazon Elsticsearch Service について(導⼊ 1) ☁ Manegement Console からであれば数ステップ ☁

    後ほど Demo ☁ クラスタ = ドメイン ☁ ドメインを作るところから始める ☁ 10 分位でアクセス可能な状態になる
  8. Amazon Elsticsearch Service について(導⼊ 3) ☁ ドメインのノード数 ☁ Enable dedicated

    master ☁ クラスタ管理のみを⾏うノードを作成する(奇数で⽤意することを推奨) ☁ Enable zone awareness[あうぇあねす] ☁ リージョン内の複数の AZ にノード分散配置する ☁ Advance setting(今回は特に触れない) ☁ rest.action.multi.allow_explicit_index ☁ URL Base のアクセスポリシーを指定 ☁ indices.fielddata.cache.size ☁ fielddata のキャッシュサイズを指定
  9. Amazon Elsticsearch Service について(導⼊ 4) ☁ ストレージ ☁ T2 シリーズ以外は

    Instance Store を選択することができる ☁ EBS は Magnetic / GP2 / PIOPS から選択することが出来る ☁ EBS サイズは最低 10GB から最⼤ 512GB まで指定することが出来 る(インスタンスサイズによって最⼤サイズは異なる) ☁ スナップショットの時間を指定する
  10. Amazon Elsticsearch Service について(管理) ☁ モニタリングは CloudWatch で ☁ 必要に応じて⼿動でスケールアウトが可能

    ☁ スナップショット ☁ デフォルトでは⾃動的に取得される ☁ スナップショット取得時間は指定可能 ☁ 保存期間は 14 ⽇間 ☁ レストアするには AWS サポートにお願いする必要がある... ☁ Elasticsearch API を使うことで⼿動でスナップショットを作成可能 (後述)
  11. Amazon Elsticsearch Service について(API) ☁ 以下の API がサポートされている ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/

    latest/developerguide/es-gsg-supported-operations.html ☁ サポートされていない API もある... ☁ 例えば、status とか(elasticsearch-head とかで使われている) ☁ ⽇々サポートされる API が増えている感もある
  12. Amazon Elsticsearch Service について(プラグイン) ☁ 以下のプラグインが導⼊されている ☁ Kinaba 3 ☁

    Kibana 4 ☁ jetty ☁ cloud-aws ☁ kuromoji ☁ icu ☁ ⾃分でプラグインが追加出来ない... ☁ そもそもインストールできたらマネージドではなくなるので仕⽅ないのかなと思っている
  13. Amazon Elsticsearch Service について(アクセスポリシー) ☁ IAM ユーザー、AWS アカウントによるアクセス制 御 ☁

    IP アドレスによるアクセス制御 ☁ Lambda からのアクセスは挫折した ☁ IAM でアクセス制御している API にリクエストする場合にはアクセスを 許可されたリソースの credential を使った署名を付与する必要がある ☁ SDK は上記を程よくラッピングしているので意識する必要は無い
  14. Amazon ES を触った感想 ☁ 簡単構築、運⽤管理のコストは下がると思う ☁ 基本的な操作は Rest API で出来るので普通の

    Elasticsearch となんら遜⾊が 無い ☁ 但し、利⽤が制限されている API があるので注意 ☁ インデックスの Mapping についても⾃分で⾯倒を⾒る必要がある(逆に⾔うと 任意に定義出来る) ☁ Kibana 同梱は嬉しいが⾃分でプラグインインストールできなさそうなのは⾟ いけど我慢しよう ☁ Lambda との連携が理想的だけどアクセスポリシーと併⽤する際には注意が必 要(SDK が対応してくれると嬉しい)
  15. 参考リンク ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/ developerguide/aes-dg.pdf ☁ https://www.elastic.co/guide/en/elasticsearch/reference/current/ index.html ☁ https://speakerdeck.com/johtani/elasticsearchfalseshao-jie-tote-zheng- cross-2015

    ☁ http://soramame.taiki.go.jp/ ☁ 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