Elastic Cloud + GCP 事始め①　～環境の作成～

# 概要

ELC(Elastic Cloud)を、GCP(Google Cloud Platform)上で動かす手順の備忘録

※2020/12/29時点の情報です。
※日本語訳はGoogle翻訳を使ってます。

# ゴール

定義されたユーザーID、パスワードでKibanaにログインして、割り当てられたINDEXデータのみが閲覧出来ること

# 1. アカウント作成

ELCの「無料トライアルをはじめる」から、アカウントを作成

https://www.elastic.co/jp/cloud/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/49f02fff-6908-6a51-355d-3057abac944f.png)

# 2. ELSを開始する

ログインして、「Start your free trial」ボタンを押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/1c0b7752-535e-2382-121e-23e0735c552c.png)

# 3. 「データをどうしたいですか」

**Elastic Stack**

おそらくデータ分析系

> Deploy Elasticsearch and Kibana. Search, analyze, and visualize data from any source, in any format.
> ElasticsearchとKibanaをデプロイします。 あらゆるソースからのデータをあらゆる形式で検索、分析、視覚化します。

**Elastic Enterprise Search**

おそらく全文検索系

> Easily implement powerful search experiences for your website, app, or workplace with refined APIs and tools.
> 洗練されたAPIとツールを使用して、ウェブサイト、アプリ、職場に強力な検索エクスペリエンスを簡単に実装できます。

**Elastic Observability**

ログ分析系？

> Consolidate your logs, metrics, application traces, and system availability with purpose-built UIs.
> ログ、メトリック、アプリケーショントレース、およびシステムの可用性を専用のUIと統合します。

**Elastic Security**

セキュリティ関連？

> Prevent, collect, detect, and respond to threats for unified protection across your infrastructure.
> インフラストラクチャ全体で統一された保護を実現するために、脅威を防止、収集、検出、および対応します。

ここでは、「Elastic Stack」を選択して進めることとする。

HW構成等はオススメのをそのまま選択。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/5fa658d3-9863-49df-a1e2-c754f620cd3c.png)

構築先はGCP、リージョンは東京、バージョンは最新とする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/20c69753-102f-b6e1-9931-1d51b185a65d.png)

環境名を設定したら、構築開始。

# 4. elasticユーザーのパスワード

rootに相当するelasticユーザーのパスワードが一度だけ表示されるので、ローカルにパスワードをダウンロードしておく。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/b57a4c90-b46e-a44f-e72d-5a92ceb859cd.png)

# 5. 構築完了

構築自体はすぐ終わる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/4d1e0157-99b5-793b-449a-02222da9395c.png)

# 6. Kibanaを開く

「Open Kibana」から、Kibana画面を開く。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/99fa67d8-78ca-f44e-df1b-ceb0b29bf5ca.png)

# 7. サンプルCSVをアップロードする

「Upload a file」からCSVをアップロードする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/ab7fee4c-f76b-53af-8885-83920bb60cde.png)

ヘッダの指定がある場合は、「Has header row」がtrueであること。
日付が複数ある場合、基準となる日付を指定すること。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/1c1bae32-1373-7945-ba9f-3e851dd4cb54.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/2a412f93-9cef-689f-f01b-57f37a2b8e6b.png)

データの確認ができたら、「Import」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/62c97b90-f2de-e1ec-ed4c-242d56df61e1.png)

INDEX名を指定してインポート実行

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/06defeb5-02ff-7563-c726-2264c7783dda.png)

とりあえずDiscoverで見れるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/2a97c880-1f92-af17-4c9c-7808f1ae7f81.png)

# 8. ユーザー別INDEXの作成

ユーザーに割り当てる個別INDEXデータを作成する

もう一度「File Upload」を開く
開き方としては、画面左上のハンバーガーメニュー ＞ Kibana ＞ Machine Lerning ＞ Data Visualizer ＞ Import data というルートもある。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/46207468-7d71-f4a5-48f7-31e5f93c7a90.png)

データ定義を確認して、Import

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/76dd33d7-c0be-d029-7687-5c44c052a546.png)

Import data ＞ Advanced でIndex名を指定する
※既存のに追加はできない。

INDEX名：`sample-7-`
※*は使えない

Create Index Pattern: `CheckON`

Index pattern name：`sample-7-*`
※新規入力で*入力可能

Ingest pipeline: 下記設定を、`csv` ブロックの下に入れる
※`user`フィールドにはメールアドレスが入っている

```
    {
      "set": {
        "field": "_index",
        "value": "sample-7-{{user}}"
      }
    },

```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/fac1aa39-df6b-2b6b-9980-2605690f3ff5.png)

`Discover` でデータを確認する

Index patter name: `sample-7-*`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/7f219bfc-0aba-a797-d478-e1d78460d44a.png)

期間: 投入データが含まれる期間
「Update」ボタン押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/aff2716b-3fbe-8037-edc0-cf275fff6e0f.png)

ユーザー（メールアドレス別）にINDEXを指定してデータが生成されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/934b851a-53fb-e93b-c7c1-408ace0c2fad.png)

# 9. ユーザーの作成

画面左上のハンバーガーメニューから「Stack Management」＞「Roles」を開く

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/1f6ca4b7-1a0e-e457-8d5d-a5e3247ea80c.png)

「Create role」押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/b77edd5a-7478-f11e-4e9e-bf8b0c1f374b.png)

Role名：INDEXプレフィックス＋ユーザー名
Indices：ユーザー別INDEX
※プルダウンからはIndex pattern しか選べないが、入力で指定可能。
Privilleges：read（読み取り権限のみ）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/ed640456-a672-971b-cbf3-bd7e19c531d0.png)

「Add Kibana privilege」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/4cdc9535-6f80-37d7-39af-bcce82abd6fd.png)

Spaces：Default
Customize feature privileges：Kibana DashbordのみReadON
列を開いて、「Customize sub-feature privilleges」ON、「Create Short URLs」ON
「Add Kibana privilege」押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/45249a56-0803-16ae-c68f-5c2cb0089e47.png)

「Create role」押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/5c01614b-6c9c-bf1c-a755-4d47b35a56a0.png)

「Show reserved roles」をOFFにすると、作成したロールのみ見れる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/c1ed2603-9db0-2cd6-4340-143d1c2f5712.png)

「Security」＞「Create user」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/172fff5c-d742-fe3e-2213-b809dcac2351.png)

Username：ログインユーザー名
Password：パスワード（⑥文字以上っぽい）
Full name：氏名（漢字OK）
Email address：アドレス
Roles：先ほど作成したユーザー別ロール
「Create user」押下

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/be66f0d3-6c67-4124-ff25-9081045bd725.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/04b8a78b-419f-e3e6-25c4-9bbfec6b4207.png)

自分のメールアドレスが含まれているINDEXのみが見れるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254327/5e39050b-185f-222e-4096-f41fc37676c1.png)

次回予定：ecctlの導入
https://qiita.com/miu200521358/items/ad9ff20604cb52b968fa